Approach to Designing Iteration 3: Iteration 3 lacked an interaction pattern so we focused on the previous classes and the examples provided
- Requirements:
- Ensuring that the game follows the BattleShip rules.
- Game Flow:
- Designing the main game loop to handle the sequence of gameplay: setup, player turns, computer turns, and game end conditions.
- Using Existing Classes:
- Leveraging existing
Ship
,Cell
, andBoard
classes to manage game state and logic.
- Leveraging existing
- User Input:
- Developing methods to handle user input for ship placement and firing shots.
- Providing clear and informative feedback to the user based on their actions.
- Checking For Errors:
- Implementing checks to validate user inputs and handle invalid scenarios gracefully.
What I Would Work on with One More Day: If given an additional day we would do the following:
- Better UI:
- Bigger and more visually appealing game board.
- Computer:
- Having the computer use strategy instead of random shot placement.
- More Game Features:
- Adding more ship sizes.
- Developer Empathy:
- Adding more comments for better readability.
Pairing Techniques: During the project, we used several pairing strategies:
- Ping-Pong Pairing:
- Alternating roles where one person writes tests and other writes code and then switch.
- Async:
- Working separetely and keeping contact through slack
Feedback Sharing: Feedback was shared:
- Code Reviews:
- Conducting code reviews
- Slack Hudles:
- Meeting up to discuss code and planning