1 / 26

Fanorona Game Manager

Fanorona Game Manager. James Andariese Jeremiah Lewis Matt Rykaczewski. Project Overview. Design a game manager for the game of Fanorona Communication must be done through TCP Project must be completed before Nov. 17th. User Stories/Tasks. Develop a protocol and move format.

Download Presentation

Fanorona Game Manager

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fanorona Game Manager James Andariese Jeremiah Lewis Matt Rykaczewski

  2. Project Overview • Design a game manager for the game of Fanorona • Communication must be done through TCP • Project must be completed before Nov. 17th

  3. User Stories/Tasks Develop a protocol and move format. • Develop a protocol. • Develop a move format. Rank: 1 Server should display a game board that shows each move. • Design a game board(Linked Array). • Display the game board. • Design an interface for communication between game state classes and the User Interface. Rank: 2

  4. User Stories/Tasks Cont. Display the logic of validating each move and store the game states. • Validate the logic of each move. • Make the move on the internal game board representation. • Send update notifications to the User Interface whenever the validated move batch is sent to the other client. Rank: 3 Server should accept moves from a client, apply the move to the game board, and send the move to the opponent. • Server accepts the move. • Server sends valid move to the other client, applies the move to the game board, and sends an acknowledge message to the first client. Rank: 4

  5. User Stories/Tasks Cont. User connects to a server that will act as a game manager for at least one game of Fanorona. • Create a TCP connection for 2 users, and loop until the first move. • Close the connection after each game is completed. Rank: 5 Server should display the winner of each game. • Display a message naming the winner of the game. Rank: 6

  6. User Stories/Tasks Cont. Server should keep a log of moves made for each game played. • Keep a log of each move made. Rank: 7

  7. Estimates Develop a protocol and move format. Estimated NUTs: 1 Server should display a game board that shows each move. Estimated NUTs: 20 Display the logic of validating each move and store the game states. Estimated NUTs: 10 Server should accept moves from a client, apply the move to the game board, and send the move to the opponent. Estimated NUTs: 10

  8. Estimates Cont. User connects to a server that will act as a game manager for at least one game of Fanorona. Estimated NUTs: 5 Server should display the winner of each game. Estimated NUTs: 0.5 Server should keep a log of moves made for each game played. Estimated NUTs: 1.5

  9. Bidding • Bidding was done “silent action” style • 1 NUTs = 12 programming minutes

  10. Bidding/Assigned Tasks Develop a protocol and move format. • Develop a protocol. • James 0 NUTs  Assigned To • Jeremiah 0 NUTs • Matt 0 NUTs • Develop a move format. • James 0.5 NUTs • Jeremiah 0.5 NUTs • Matt 0.5 NUTs  Assigned To Rank: 1 Estimated NUTs: 1

  11. Bidding/Assigned Tasks Cont Server should display a game board that shows each move. • Design a game board(Linked Array). • James 10 NUTs • Jeremiah 2.5 NUTs  Winner • Matt 10 NUTs • Display the game board. • James 3 NUTs  Winner • Jeremiah 10 NUTs • Matt 15 NUTs • Design an interface for communication between game state classes and the User Interface. • James 1 NUTs  Winner • Jeremiah 5 NUTs • Matt 5 NUTs Rank: 2 Estimated NUTs: 20

  12. Bidding/Assigned Tasks Display the logic of validating each move and store the game states. • Validate the logic of each move. • James 8 NUTs • Jeremiah 2.5 NUTs  Winner • Matt 4.5 NUTs • Make the move on the internal game board representation. • James 1 NUTs • Jeremiah 1 NUTs • Matt 1.5 NUTs  Assigned To • Send update notifications to the User Interface whenever the validated move batch is sent to the other client. • James 1 NUTs  Winner • Jeremiah 5.5 NUTs • Matt 7 NUTs Rank: 3 Estimated NUTs: 10

  13. Bidding/Assigned Tasks Cont. Server should accept moves from a client, apply the move to the game board, and send the move to the opponent. • Server accepts the move. • James 3 NUTs • Jeremiah 2.5 NUTs  Winner • Matt 4 NUTS • Server sends valid move to the other client, applies the move to the game board, and sends an acknowledge message to the first client. • James 1 NUTs  Winner • Jeremiah 2.5 NUTs • Matt 4 NUTs Rank: 4 Estimated NUTs: 10

  14. Bidding/Assigned Tasks Cont User connects to a server that will act as a game manager for at least one game of Fanorona. • Create a TCP connection for 2 users, and loop until the first move. • James 2 NUTs  Winner • Jeremiah 2.5 NUTs • Matt 4 NUTs • Close the connection after each game is completed. • James 1 NUTs  Winner • Jeremiah 2 NUTs • Matt 2.5 NUTs Rank: 5 Estimated NUTs: 5

  15. Bidding/Assigned Tasks Cont Server should display the winner of each game. • Display a message naming the winner of the game. • James 1 NUTs • Jeremiah 0.5 NUTs • Matt 3 NUTs  Assigned To Rank: 6 Estimated NUTs: 0.5 Server should keep a log of moves made for each game played. • Keep a log of each move made. • James 3 NUTs • Jeremiah 1.5 NUTs  Winner • Matt 2 NUTs Rank: 7 Estimated NUTs: 1.5

  16. Work Schedule • 18 per week (6 hours per team member) • All programming to be done in pairs • Each team member meets 3 days per week, in 2 hour increments • Monday (James and Jeremiah) • Tuesday (James and Matt) • Wednesday (James, Jeremiah, Matt) • Thursday (Jeremiah, Matt)

  17. Actual vs. Estimated Develop a protocol and move format. Estimated NUTs: 1 Actual NUTs: 3.5 Actual/Estimated NUTs: 3.5/1 Server should display a game board that shows each move. Estimated NUTs: 20 Actual NUTs: 20 Actual/Estimated NUTs: 3.5/1 Display the logic of validating each move and store the game states. Estimated NUTs: 10 Actual NUTs: 10 Actual/Estimated NUTs: 3.5/1 Server should accept moves from a client, apply the move to the game board, and send the move to the opponent. Estimated NUTs: 10 Actual NUTs: 10 Actual/Estimated NUTs: 3.5/1

  18. Actual vs. Estimated Cont. User connects to a server that will act as a game manager for at least one game of Fanorona. Estimated NUTs: 5 Actual NUTs: 5 Actual/Estimated NUTs: 3.5/1 Server should display the winner of each game. Estimated NUTs: 0.5 Actual NUTs: 0.5 Actual/Estimated NUTs: 3.5/1 Server should keep a log of moves made for each game played. Estimated NUTs: 1.5 Actual NUTs: 1.5 Actual/Estimated NUTs: 3.5/1

  19. Design and Algorithms

  20. Testing • Two types of test: Server Tests Done with JUnit User Interface(GUI) Tests Done by stating expected outcome and testing

  21. Server Tests • Test connection to server • Test assigning players to colors First play to connect should be white • Test sending string(moves) through threads Insure all entire move is received • Test logging feature • Test cycle detection Check for the same board state as previous moves

  22. User Interface(GUI) Tests • When UI opens, blank board should appear Server should be ready to accept 2 connections • Test “Fancy Board” option When selected “Fancy Board” appears • Test “Random Sides” option When Selected colors are chosen randomly • Test settings being saved UI settings should be saved when UI closes

  23. Deviations From XP Principles • 6 hour work week instead of 40 hour

  24. Finished Product • All user stories completed • Demo soon to follow

  25. Challenges We Faced • Pair Programming via Elluminate Live New program for team Not real-time programming Slow start-ups System Crashes

  26. What We Learned • Pair Programming in a school setting Difficult to match schedule Little time to work together

More Related