BattleShip Game
A two-player Battleship game, allowing players to compete against each other.
- Date
- 2024,8
- Technologies
- Repository
- Visit
- Website
- N/D
Overview
As a final project for my Programming Principles course, I undertook the development of a Battleship game using Python. The primary objective of this project was to design and implement a computer program that accurately replicated the gameplay of the traditional Battleship board game.
Through this endeavor, I aimed to enhance my programming skills in Python, explore game development concepts such as game loops, user interfaces, and artificial intelligence, and create a fun and challenging gaming experience.
- Main Objective:
- To develop a playable Battleship game in Python that adhered to the traditional rules of the game while incorporating modern programming techniques.
Process
Challenges
- Implementing a robust turn-based system
- Creating a user-friendly interface for desktop
- Ensuring smooth gameplay and responsiveness
- Testing the game thoroughly to identify and fix bugs
Solutions
- Used a state management approach to track player turns and game state
- Designed a user-friendly interface using Tkinter
- Optimized performance by efficiently updating the game board and UI elements
- Performed thorough manual testing with multiple players to identify and fix bugs
User Experience Showcase
Main menu
Starting point of the game. Players can initiate new games, and view game rules
Pre-Game Lobby
Write the name of the players, and go to play.
Game Rules
A detailed explanation of the game's objectives, gameplay mechanics, and winning conditions.
Game Setup
Displays the selected players and their respective game boards, confirming the game setup before the match begins.
In-Game Screenshot
A visual representation of a typical gameplay scenario, showcasing the game board, player turns, and the overall game flow.
Game Over
Displayed once a player has sunk the majority of their opponents ships, announcing the winner.