Merge remote-tracking branch 'origin/main'

This commit is contained in:
romanschenk37 2022-03-25 23:38:35 +01:00
commit 087ead234e
2 changed files with 16 additions and 10 deletions

View File

@ -1,14 +1,16 @@
#PM2 Team 02 Projekt 1 Racetrack
# PM2 Team 02 Projekt 1 Racetrack
Racetrack is a pen and paper game that dates back to the early 1960s in this version of the game, the game is digitalized and the math behind it is done automatically rather than calculated by hand and the winner gets informed automatically as well.
The aim of the game is to finish the race faster than your opponent or win by being the only survivor in case the other cars crash.
In order to not crash you have to keep in mind the acceleration and other player's car to get to the finish line safely.
# Testing
#### All test can be run by the terminal command:
gradlew test
# Initialization:
#### The game can be initialized by the terminal command:
./gradlew run
gradlew run
You will then be prompted to select a track file from the selection by entering the corresponding number.
#### For each car that is taking part in the race a strategy has to be chosen there are the following options:
@ -41,5 +43,9 @@ The winner gets determined automatically. <br> The car that first passes the fin
We choose a simple branching model where all starting features got a branch and where merged into the main branch, some branches who needed unfinished code to be completed where taken from the game branch but merged into the main at the end as well.<br> Since there was just one end product we abstained from using a development branch and merges where done straight into main branch.<br>Commits which contain only documentation and doesn't change any functionality are committed directly into the Main branch.
## Class Diagramm
This Class Diagramm is additional to the Class Diagramm given in the Anleitung.pdf<br><br>
To create the best possible insight, all methods that are in the classes that we edited are shown completely. Including the private methods, since they can clearly be distinguished from the public ones through their prefix. <br>
However, the classes that were already given, i.e. not editable, are also in the class diagram for clarity, but the methods had been omitted since they can be found in the documentation, and the interfaces are just there for grading test purposes. <br><br>
![Classdiagram of this program](./Klassendiagramm.svg)
## GitHub Project
Our GitHub Project can be found here: [GitHubProject](https://github.zhaw.ch/PM2-IT21bWIN-ruiz-mach-krea/team02-AngryNerds-projekt1-racetrack/projects)

View File

@ -46,7 +46,7 @@ class GameTest {
}
/**
* Tests if Carindex is correct
* Tests if car index is correct
*/
@Test
void getCurrentCarIndex() {
@ -56,7 +56,7 @@ class GameTest {
}
/**
* Checks if CarId matches char given in trackfile
* Checks if CarId matches char given in track file
*/
@Test
void getCarId() {
@ -65,7 +65,7 @@ class GameTest {
}
/**
* Checks initial carposition
* Checks initial car position
*/
@Test
void getCarPosition() {
@ -74,7 +74,7 @@ class GameTest {
}
/**
* Checks if initial carvelocity is 0,0
* Checks if initial car velocity is 0,0
*/
@Test
void getCarVelocity() {
@ -91,7 +91,7 @@ class GameTest {
}
/**
* Checks correct inital state
* Checks correct initial state
*/
@Test
void onlyOneCarLeft() {
@ -148,7 +148,7 @@ class GameTest {
/**
* This nested Class tests a play trough and implements a userInterface which pretends to be a real player.
* At the end of every Test the Userinterface stays open for 10 more sec to visualize the game.
* At the end of every Test the userinterface stays open for 10 more sec to visualize the game.
*/
@Nested
@DisplayName("Playtrough")