Skip to content
PM2 - Software Projekt 1 - Racetrack
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Game rules and modes

Racetrack originally is a paper and pencil game that simulates a car race, played by two or more players. The rules for moving represent a car with a certain inertia and physical limits on traction, and the resulting line is reminiscent of how real racing cars move. The game requires players to slow down before bends in the track, and requires some foresight and planning for successful play. The game is popular as an educational tool teaching vectors (Wikipedia). This application is the digital version of the game. First a track has to be choosen. Furthermore each player (car) has to define a moving strategy (see below). Afterwards players take turn. During each turn the player must choose the acceleration for the car. If a car hits the wall or another car it is out. The game lasts as long as only one car is remainging or a car crossed the finish line (cross or stop right on the finish line).

Moving strategies:

  • Do not move strategy: The car stays on spot and does not move during the game
  • Move list strategy: The move list contains directions, the car will go through this list and move accordingly
  • User move strategy: The user can choose the direction at each round
  • Path follower strategy: According to a list of track position, the car will follow these postions to get around the track
  • Path finder strategy: The path will be calculated to a given track

Start and Stop Application

To run, clone or download the repository and run gradle run. To stop the application, either press Enter after a game is finished or press Ctrl + C.

Development & Branching Rules

Everything will be tracked in issues. Issues need to be updated when working on them. After implementation, close issues via close comment in pullrequest.

Everyone uses their own branch. Once development of an issue is complete a pull request is created. After the pull request is approved, the branch will be merged into the master branch. At least one reviewer is required. Everyone is responsible to make sure their branch is up to date with the master (after branch is merged into master, delete your branch and create a new branch from master)


See documents folder here.

Team members

Name Role Github account
Dominic Gisin Project manager gisindom
Sarah Gueng Documentation manager guengsar
Matteo Schüpbach Development manager schuemat
Milton Roth Test manager rothmil1

Useful links:

You can’t perform that action at this time.