Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fanorona Game Manager James Andariese Jeremiah Lewis Matt Rykaczewski.

Similar presentations


Presentation on theme: "Fanorona Game Manager James Andariese Jeremiah Lewis Matt Rykaczewski."— 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. 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


Download ppt "Fanorona Game Manager James Andariese Jeremiah Lewis Matt Rykaczewski."

Similar presentations


Ads by Google