mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 06:18:44 +00:00
Merge branch 'create-race-class' into 'master'
Create race class See merge request !2
This commit is contained in:
@@ -1,9 +1,32 @@
|
|||||||
package seng302;
|
package seng302;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class App
|
public class App
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
Displays the order in which the boats finished
|
||||||
|
|
||||||
|
@param race The current race
|
||||||
|
*/
|
||||||
|
public static void displayFinishingOrder(Race race){
|
||||||
|
int numberOfBoats = race.getNumberOfBoats();
|
||||||
|
Boat[] boats = race.getFinishedBoats();
|
||||||
|
|
||||||
|
System.out.println("--- Finishing Order ---");
|
||||||
|
|
||||||
|
for (int i = 0; i < numberOfBoats; i++) {
|
||||||
|
System.out.println("#" + Integer.toString(i+1) + " - " + boats[i].getTeamName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void main( String[] args )
|
public static void main( String[] args )
|
||||||
{
|
{
|
||||||
System.out.println("");
|
Race race = new Race();
|
||||||
|
|
||||||
|
displayFinishingOrder(race);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9,6 +9,7 @@ public class Boat
|
|||||||
{
|
{
|
||||||
// The name of the team, this is also the name of the boat
|
// The name of the team, this is also the name of the boat
|
||||||
private String teamName = null;
|
private String teamName = null;
|
||||||
|
private boolean finishedRace = false;
|
||||||
|
|
||||||
public Boat(String teamName) {
|
public Boat(String teamName) {
|
||||||
this.teamName = teamName;
|
this.teamName = teamName;
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
package seng302;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Random;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
public class Race {
|
||||||
|
private ArrayList<Boat> boats;
|
||||||
|
private int numberOfBoats = 0;
|
||||||
|
|
||||||
|
public Race(){
|
||||||
|
boats = new ArrayList<Boat>();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Add a boat to the race
|
||||||
|
@param boat, the boat to add
|
||||||
|
*/
|
||||||
|
public void addBoat(Boat boat){
|
||||||
|
boats.add(boat);
|
||||||
|
numberOfBoats += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Returns a list of boats in the order that they
|
||||||
|
finished the race (position 0 is first)
|
||||||
|
|
||||||
|
@returns a list of boats
|
||||||
|
*/
|
||||||
|
public Boat[] getFinishedBoats(){
|
||||||
|
// Shuffle the list of boats
|
||||||
|
long seed = System.nanoTime();
|
||||||
|
Collections.shuffle(this.boats, new Random(seed));
|
||||||
|
|
||||||
|
return boats.toArray(new Boat[boats.size()]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Returns the number of boats in the race
|
||||||
|
|
||||||
|
@returns the number of boats in the race
|
||||||
|
*/
|
||||||
|
public int getNumberOfBoats(){
|
||||||
|
return numberOfBoats;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
package seng302;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
import java.lang.reflect.Array;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unit test for the Race class.
|
||||||
|
*/
|
||||||
|
public class RaceTest
|
||||||
|
{
|
||||||
|
@Test
|
||||||
|
public void testAddingBoatsToRace()
|
||||||
|
{
|
||||||
|
Boat boat1 = new Boat("Team 1");
|
||||||
|
Boat boat2 = new Boat("Team 2");
|
||||||
|
Boat boat3 = new Boat("Team 3");
|
||||||
|
|
||||||
|
Race race = new Race();
|
||||||
|
race.addBoat(boat1);
|
||||||
|
race.addBoat(boat2);
|
||||||
|
race.addBoat(boat3);
|
||||||
|
|
||||||
|
assertEquals(Array.getLength(race.getFinishedBoats()), 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user