From 18acef0a2ec8b467788133465b50dec0c4c95533 Mon Sep 17 00:00:00 2001 From: Seraina Date: Fri, 25 Mar 2022 21:59:09 +0100 Subject: [PATCH] Reformatted my Code and cleaned it up a little --- Meilenstein II/Spiellogik Pseudocode | 2 +- .../dbis/cs108/Spiellogikentwurf/Game.java | 64 ++++----- .../Spiellogikentwurf/GameFunctions.java | 86 +++++------ .../dbis/cs108/Spiellogikentwurf/Train.java | 135 +++++++++--------- .../Spiellogikentwurf/TrainOverflow.java | 13 +- 5 files changed, 150 insertions(+), 150 deletions(-) diff --git a/Meilenstein II/Spiellogik Pseudocode b/Meilenstein II/Spiellogik Pseudocode index 7b5fa7f..5aabb6a 100644 --- a/Meilenstein II/Spiellogik Pseudocode +++ b/Meilenstein II/Spiellogik Pseudocode @@ -5,7 +5,7 @@ int spielerzahl = 6; //Default setting Fill train -> Randomize /** -Creats an array of random numbers 1 - spielerzahl +Creates an array of random numbers 1 - spielerzahl **/ int[] fillTrain(int spielerzahl) //... arbitrary amount of users, gives Array I think^^ if spielerzahl < #users diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/Game.java b/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/Game.java index bc6bd11..ec34a84 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/Game.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/Game.java @@ -1,46 +1,44 @@ package ch.unibas.dmi.dbis.cs108.Spiellogikentwurf; -import ch.unibas.dmi.dbis.cs108.Klassenstruktur.Passenger; - -import java.lang.reflect.Constructor; - public class Game { - /**Can be extended for optional Game-settings**/ - protected int nrOfPlayers; //sets the length of the train - protected int nrOfGhosts; // sets how many Ghosts we start witch - protected int nrOfUsers; // safes how many clients are active in this Game - protected GameFunctions gameFunctions; + + /** + * Can be extended for optional Game-settings + **/ + protected int nrOfPlayers; //sets the length of the train + protected int nrOfGhosts; // sets how many Ghosts we start witch + protected int nrOfUsers; // safes how many clients are active in this Game + protected GameFunctions gameFunctions; - /** - * Constructs a Game instance where: - * @param nrOfPlayers is the length of the Train - * @param nrOfGhosts is the number of OG Ghosts you want to start with and - * @param nrOfUsers is the number of active users at the time (non NPC's) - */ - Game (int nrOfPlayers, int nrOfGhosts, int nrOfUsers) throws TrainOverflow { //ToDo: Who handles Exception how and where - this.nrOfPlayers = nrOfPlayers; - this.nrOfGhosts = nrOfGhosts; - this.nrOfUsers = nrOfUsers; - this.gameFunctions = new GameFunctions(nrOfPlayers,nrOfGhosts,nrOfUsers); - } + /** + * Constructs a Game instance where: + * + * @param nrOfPlayers is the length of the Train + * @param nrOfGhosts is the number of OG Ghosts you want to start with and + * @param nrOfUsers is the number of active users at the time (non NPCs) + */ + Game(int nrOfPlayers, int nrOfGhosts, int nrOfUsers) + throws TrainOverflow { //ToDo: Who handles Exception how and where + this.nrOfPlayers = nrOfPlayers; + this.nrOfGhosts = nrOfGhosts; + this.nrOfUsers = nrOfUsers; + this.gameFunctions = new GameFunctions(nrOfPlayers, nrOfGhosts, nrOfUsers); + } - public static void main(String[] args) { - try{ - Game game1 = new Game(6,1,1); - for(int j = 0; j< game1.nrOfPlayers; j++) { - System.out.println(game1.gameFunctions.passengerTrain[j].getPosition()); - } - - } catch (TrainOverflow e) { - System.out.println(e.getMessage()); - } + public static void main(String[] args) { + try { + Game game1 = new Game(6, 1, 1); + for (int j = 0; j < game1.nrOfPlayers; j++) { + System.out.println(game1.gameFunctions.passengerTrain[j].getPosition()); + } + } catch (TrainOverflow e) { + System.out.println(e.getMessage()); } - - + } } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/GameFunctions.java b/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/GameFunctions.java index 702e10c..c48e1b2 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/GameFunctions.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/GameFunctions.java @@ -1,59 +1,61 @@ package ch.unibas.dmi.dbis.cs108.Spiellogikentwurf; -import ch.unibas.dmi.dbis.cs108.Klassenstruktur.Ghost; import ch.unibas.dmi.dbis.cs108.Klassenstruktur.Human; import ch.unibas.dmi.dbis.cs108.Klassenstruktur.Passenger; public class GameFunctions { - /**Can be extended for optional Game-settings**/ - int nrOfPlayers; //sets the length of the train - int nrOfGhosts; // sets how many Ghosts we start witch - int nrOfUsers; // safes how many clients are active in this Game - Train train; // safes who sits where - Passenger[] passengerTrain; - /** - * Constructs a GameFunctions instance where nrOfPlayers >= nrOfUsers. Fills passengerTrain with only humans - * @param nrOfPlayers is the length of the Train - * @param nrOfGhosts is the number of OG Ghosts you want to start with and - * @param nrOfUsers is the number of active users at the time (non NPC's) - * @throws TrainOverflow if nrOfPlayers < nrOfUsers - */ - GameFunctions (int nrOfPlayers, int nrOfGhosts, int nrOfUsers) throws TrainOverflow { //ToDo: where will Exception be handeled? - this.nrOfPlayers = nrOfPlayers; - this.nrOfGhosts = nrOfGhosts; - this.nrOfUsers = nrOfUsers; - this.train = new Train(nrOfPlayers,nrOfUsers); - Passenger[] passengerTrain = new Passenger[nrOfPlayers]; //Creates an array with Passengers with correlation positions (Train) - for(int i = 0; i < nrOfPlayers;i++) { - Human h = new Human(); - h.setPosition(train.orderOfTrain[i]); - passengerTrain[i] = h; - } + /** + * Can be extended for optional Game-settings + **/ + int nrOfPlayers; //sets the length of the train + int nrOfGhosts; // sets how many Ghosts we start witch + int nrOfUsers; // safes how many clients are active in this Game + Train train; // safes who sits where + Passenger[] passengerTrain; + + /** + * Constructs a GameFunctions instance where nrOfPlayers >= nrOfUsers. Fills passengerTrain with + * only humans + * + * @param nrOfPlayers is the length of the Train + * @param nrOfGhosts is the number of OG Ghosts you want to start with and + * @param nrOfUsers is the number of active users at the time (non NPCs) + * @throws TrainOverflow if nrOfPlayers < nrOfUsers + */ + GameFunctions(int nrOfPlayers, int nrOfGhosts, int nrOfUsers) + throws TrainOverflow { //ToDo: where will Exception be handled? + this.nrOfPlayers = nrOfPlayers; + this.nrOfGhosts = nrOfGhosts; + this.nrOfUsers = nrOfUsers; + this.train = new Train(nrOfPlayers, nrOfUsers); + Passenger[] passengerTrain = new Passenger[nrOfPlayers]; //Creates an array with Passengers with correlation positions (Train) + for (int i = 0; i < nrOfPlayers; i++) { + Human h = new Human(); + h.setPosition(train.orderOfTrain[i]); + passengerTrain[i] = h; } + } - public int getNrOfGhosts() { - return nrOfGhosts; - } + public int getNrOfGhosts() { + return nrOfGhosts; + } - public int getNrOfPlayers() { - return nrOfPlayers; - } + public int getNrOfPlayers() { + return nrOfPlayers; + } - public int getNrOfUsers() { - return nrOfUsers; - } - - public void ghostyfy(int position) { - - } - - public Passenger voteEval(){ - return new Passenger(); - } + public int getNrOfUsers() { + return nrOfUsers; + } + public void ghostyfy(int position) { + } + public Passenger voteEval() { + return new Passenger(); + } } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/Train.java b/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/Train.java index 4606464..6055b3b 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/Train.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/Train.java @@ -1,80 +1,79 @@ package ch.unibas.dmi.dbis.cs108.Spiellogikentwurf; -import ch.unibas.dmi.dbis.cs108.Klassenstruktur.Passenger; - -import java.util.Arrays; - public class Train { - int[] orderOfTrain; //gives the random order in which the passengers enter the train - int positionOfGhost; - /** - * Constructs a Train with orderOfTrain of the size nrOfPlayers, filled with a Random order of the numbers 0-5. - * Puts the ghost approx in the middle of this order. - * @param nrOfPlayers sets how many Players fit in the Train - * @param nrOfUsers sets how many of the Players are Users (vs NPC's) - * @throws TrainOverflow if you want to play with to many users (Train is to small) - */ - Train (int nrOfPlayers, int nrOfUsers) throws TrainOverflow { + int[] orderOfTrain; //gives the random order in which the passengers enter the train + int positionOfGhost; - if (nrOfPlayers < nrOfUsers) { - throw new TrainOverflow(); //ToDo: What kind of Exception must be thrown here and who handles it how? - } + /** + * Constructs a Train with orderOfTrain of the size nrOfPlayers, filled with a Random order of the + * numbers 0-5. Puts the ghost approx in the middle of this order. + * + * @param nrOfPlayers sets how many Players fit in the Train + * @param nrOfUsers sets how many of the Players are Users (vs NPCs) + * @throws TrainOverflow if you want to play with to many users (Train is to small) + */ + Train(int nrOfPlayers, int nrOfUsers) throws TrainOverflow { - int[] userTrain = new int[nrOfPlayers]; - int[] check = new int[nrOfPlayers]; - int i = 0; - int zeroCounter = 0; - while (i < nrOfPlayers) { - int randomNr = (int) ((Math.random() * ((nrOfPlayers)) + 0)); - if (randomNr == 0) { - if (zeroCounter == 0) { - i++; - zeroCounter++; - } - } - if (!isInArray(check, randomNr)) { - userTrain[i] = randomNr; - check[randomNr] = randomNr; - i++; - } - - } - this.orderOfTrain = userTrain; - this.positionOfGhost = (int) (nrOfPlayers/2); + if (nrOfPlayers < nrOfUsers) { + throw new TrainOverflow(); //ToDo: What kind of Exception must be thrown here and who handles it how? } - /** - * Checks if the key is to be found in an array - * @param array the array to be searched - * @param key the value searched for - * @return true if and only if key is found - */ - static public boolean isInArray(int[] array, int key) { - int i = 0; - while (i < array.length) { - if (array[i] == key) { - return true; - } - i++; - } - return false; - } - - public static void main(String[] args) { - int[] a = {1,2,3,4,5}; - System.out.println(isInArray(a,0)); - //Test - try { - Train t = new Train(6,1); - for(int i = 0; i < 6; i++) { - System.out.print("|" + t.orderOfTrain[i] + "|"); - } - System.out.println(" Ghost:" + t.positionOfGhost); - - } catch (TrainOverflow e) { - System.out.println(e.getMessage()); + int[] userTrain = new int[nrOfPlayers]; + int[] check = new int[nrOfPlayers]; + int i = 0; + int zeroCounter = 0; + while (i < nrOfPlayers) { + int randomNr = (int) ((Math.random() * ((nrOfPlayers)) + 0)); + if (randomNr == 0) { + if (zeroCounter == 0) { + i++; + zeroCounter++; } + } + if (!isInArray(check, randomNr)) { + userTrain[i] = randomNr; + check[randomNr] = randomNr; + i++; + } } + this.orderOfTrain = userTrain; + this.positionOfGhost = nrOfPlayers / 2; + } + + /** + * Checks if the key is to be found in an array + * + * @param array the array to be searched + * @param key the value searched for + * @return true if and only if key is found + */ + static public boolean isInArray(int[] array, int key) { + int i = 0; + while (i < array.length) { + if (array[i] == key) { + return true; + } + i++; + } + return false; + } + + public static void main(String[] args) { + int[] a = {1, 2, 3, 4, 5}; + System.out.println(isInArray(a, 0)); + //Test + try { + Train t = new Train(6, 1); + for (int i = 0; i < 6; i++) { + System.out.print("|" + t.orderOfTrain[i] + "|"); + } + System.out.println(" Ghost:" + t.positionOfGhost); + + } catch (TrainOverflow e) { + System.out.println(e.getMessage()); + } + + } } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/TrainOverflow.java b/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/TrainOverflow.java index 7607ba4..36f65d4 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/TrainOverflow.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/Spiellogikentwurf/TrainOverflow.java @@ -1,10 +1,11 @@ package ch.unibas.dmi.dbis.cs108.Spiellogikentwurf; -public class TrainOverflow extends Exception{ - private static final String message = "Too many users are logged on"; +public class TrainOverflow extends Exception { - @Override - public String getMessage() { - return message; - } + private static final String message = "Too many users are logged on"; + + @Override + public String getMessage() { + return message; + } }