Developer: Sean Project: Simple Ship, Captain, Crew Game.
The aim of this project was to create a fun mini-game for the real life game "Ship, Captain, Crew". Originally derived from a card game, the game consists of finding the ship captain and crew first before find any gold.
The game is a turn based two-player game, where one player rolls and tries their lucky, followed by the opposing player. NOTE: Each player has 3 rolls, and each roll consists of 5 dice.
- For each player that goes. They roll the dice and look for ship (6), then captain (5), then crew (4). Once the player has found the ship, captain, and crew in UNDER 3 rolls, the remaining 2 dice accounts for their gold, and the player can choose to re-roll the gold for a higher bounty, or keep the gold. If the player rolls ship, captain, crew in 3 exact rolls, they cannot choose to re-roll and keep the gold that is in the last 2 dice. If the player does not find the necessary requirements, the player does not receive any gold that round.
- The objective of the game is to have the higher amount of gold than the opponent. That win determines the winner of that particular round.
- After the round ends, the players enter a shop phase, where they can buy a power-up and gain an advantage that can increase their chances of winning and succeeding.
- Then the game repeats.
These are the following power-ups for the game:
- 6$ Jackpot: Doubles the amount of the gold at the end of rolls. If the requirements are not met (ship, captain, crew), the power-up will be null. 🤑
- 3$ Extra Re-roll: Gives the player 4 rolls instead of 3 rolls 🍀
- 5$ Sabotage: Give your opponent one less roll 😈
Initially when I started coding this project, I was not confident and did not have a strong grasp of Object-Oriented Programming. I encountered many situations where I had minor errors occur in my program due to trivial coding mistakes such as forgetting parenthesis when calling subroutines and forgetting colons wherever needed. Simple syntax errors forced me to be more meticulous, and improved my overall efficiency. Furthermore, I encountered multiple logic problems such as when to make separate classes, and how to check find ship, captain, and crew is found. With many and trial-error attempts, I gained confidence in OOP and understood the general logic of how to check for ship, captain, and crew. Additionally, I struggled with applying a useful and relevant extra feature into the programming, as I wanted to initially apply a database to the program, but that would not be relevant with the program. I then thought of power-ups, inspired by some other mobile games I would play in my spare time, and came up with the idea of shops and currency, allowing players to gain advantages with their winnings.