Download presentation
Presentation is loading. Please wait.
Published byOswin Cameron Modified over 9 years ago
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. Rank: 1 Server should display a game board that shows each move. Rank: 2 Develop a protocol. Develop a move format. Design a game board(Linked Array). Display the game board. Design an interface for communication between game state classes and the User Interface.
4
User Stories/Tasks Cont. Display the logic of validating each move and store the game states. Rank: 3 Server should accept moves from a client, apply the move to the game board, and send the move to the opponent. Rank: 4 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. 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.
5
User Stories/Tasks Cont. User connects to a server that will act as a game manager for at least one game of Fanorona. Rank: 5 Server should display the winner of each game. Rank: 6 Create a TCP connection for 2 users, and loop until the first move. Close the connection after each game is completed. Display a message naming the winner of the game.
6
User Stories/Tasks Cont. Server should keep a log of moves made for each game played. Rank: 7 Keep a log of each move made.
7
Estimates Develop a protocol and move format. Server should display a game board that shows each move. Estimated NUTs: 20 Estimated NUTs: 1 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. 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 User connects to a server that will act as a game manager for at least one game of Fanorona. Estimated NUTs: 5
9
Bidding Bidding was done “silent action” style 1 NUTs = 12 programming minutes
10
Bidding/Assigned Tasks Develop a protocol and move format. Rank: 1Estimated NUTs: 1 Develop a protocol. James 0 NUTs Assigned To Jeremiah 0 NUTs Matt 0 NUTs Develop a move format. James0.5 NUTs Jeremiah0.5 NUTs Matt0.5 NUTs Assigned To
11
Bidding/Assigned Tasks Cont Server should display a game board that shows each move. Rank: 2Estimated NUTs: 20 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 Jeremiah10 NUTs Matt15 NUTs Design an interface for communication between game state classes and the User Interface. James 1 NUTs Winner Jeremiah 5 NUTs Matt 5 NUTs
12
Bidding/Assigned Tasks Display the logic of validating each move and store the game states. Rank: 3Estimated NUTs: 10 Validate the logic of each move. James8 NUTs Jeremiah2.5 NUTs Winner Matt4.5 NUTs Make the move on the internal game board representation. James1 NUTs Jeremiah1 NUTs Matt1.5 NUTs Assigned To Send update notifications to the User Interface whenever the validated move batch is sent to the other client. James1 NUTs Winner Jeremiah5.5 NUTs Matt7 NUTs
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. Rank: 4Estimated NUTs: 10 Server accepts the move. James3 NUTs Jeremiah2.5 NUTs Winner Matt4 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. James1 NUTs Winner Jeremiah2.5 NUTs Matt4 NUTs
14
Bidding/Assigned Tasks Cont User connects to a server that will act as a game manager for at least one game of Fanorona. Rank: 5Estimated NUTs: 5 Create a TCP connection for 2 users, and loop until the first move. James2 NUTs Winner Jeremiah2.5 NUTs Matt4 NUTs Close the connection after each game is completed. James1 NUTs Winner Jeremiah2 NUTs Matt2.5 NUTs
15
Bidding/Assigned Tasks Cont Server should display the winner of each game. Rank: 6Estimated NUTs: 0.5 Display a message naming the winner of the game. James1 NUTs Jeremiah0.5 NUTs Matt3 NUTs Assigned To Server should keep a log of moves made for each game played. Rank: 7Estimated NUTs: 1.5 Keep a log of each move made. James3 NUTs Jeremiah1.5 NUTs Winner Matt2 NUTs
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. Server should display a game board that shows each move. Estimated NUTs: 20 Estimated NUTs: 1 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 Actual NUTs: 20 Actual NUTs: 3.5 Actual NUTs: 10 Actual/Estimated NUTs: 3.5/1
18
Actual vs. Estimated Cont. 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 User connects to a server that will act as a game manager for at least one game of Fanorona. Estimated NUTs: 5 Actual NUTs: 0.5 Actual NUTs: 1.5 Actual NUTs: 5Actual/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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.