Skip to content
This repository has been archived by the owner on Jul 30, 2024. It is now read-only.

inf112-v19/Sky7

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sky7 RoboRally

This is an implementation of the board game "Robo Rally" as a computer game, for Windows, Mac and Linux.

How to run

Use of an IDE

Jar

  • Download Sky7RoboRally-V0.2-alpha.zip
  • Extract the zip file
  • Run Sky7RoboRally-V0.2-alpha.jar
    • Windows / Linux / OSX: Open cmd/terminal, navigate to the folder containing the jar, enter "java -jar Sky7RoboRally-V0.2-alpha.jar"

How to play

  • LAN mode
    • One of the players may choose to host after starting the game.
    • Other players connect to the host's IP.
    • The host chooses a board to play.
    • When all players are connected, the host can begin the game.
  • Click on the cards you want to insert into your robot's registry.
  • If you change your mind, hit the reset button to return the cards to your hand.
  • Once the registry is full, you may click "Go".
  • To "Power Down" and repair your robot the next round, hit "Power Down" before you click "Go".
  • Once all players have clicked "Go", all registries will be executed from left to rigth.
  • Higher priority cards go first.
  • Stop on a flag to pick it up. Flags must be picked up in order (e.g. 1,2,3) to win.

Documentation

  • Class diagram in [Documents/Class diagram](Documents/Class diagram).
  • Network diagram in [Documents/Class diagram](Documents/Class diagram).
  • DrawPriority explanation in Documents.

Known bugs

  • Lasers are not rendering correctly.

Tests

JUNIT tests

  • Located in test folder
  • Run TestSuite as JUnit test - combines all tests in a Suite.
  • ICell
    • Test that the priority of each ICell is correct
  • BoardTests
    • Tests that the you can retrieve information correctly from Board.
    • Tests that the movement of the robots on the board is correct follow the rules.
  • DrawPriorityTest
    • Tests that ICell classes behave and compare correctly in a TreeSet.
  • FlagTest
    • Basic check for flag values
  • RoboTest
    • Checks that RoboTile rotates correctly
  • ProgramDeck
    • Test that the values of ProgramDeck matches the number of different cards as shown in the rulebook
  • Client
    • Asserts that connected clients retain the correct playerNumber.
    • Assert that the 5 cards chosen by clients are the same 5 returned to host as registry.
    • Assert that clients always return 5 cards assigned to registry, and the remaining as discard (n=100) (none lost, duplicated or created).

Manual Tests

  • Play the game!
    • Start the game as host, and click begin, to test it with just one player.
    • Start the game as host, start the game again, but as client, connect to "127.0.0.1" to test multiplayer functions.

22e3450d273bd813e33374b470ca2e933aee2699