Newbie attempts to recreate classic Battleship

Learning portfolio: recreation of Battleship in console with OO design, code on GitHub, and lessons on testing and refactoring; learn about Q2BSTUDIO.

lunes, 18 de agosto de 2025 • 3 min read • Q2BSTUDIO Team

Artificial-Intelligence-

A beginner's attempt to create the classic Battleship game and learn in the process

I am a developer in training and my goal was to prepare a learning portfolio, upload the code to GitHub, and write a post sharing that link. Although I am interested in technology, I have been away from social media and having an online presence, so this is a double challenge: programming and publicly telling the process.

I started a path in development knowing there would be many challenges to acquire new skills. I am drawn to complex system designs and that interest keeps me motivated to reach more ambitious projects. For now, I enjoy solving simple problems but with good practices and patience.

For this experiment, I decided to recreate Battleship as a purely terminal game. The technical goal was to use classes and objects to structure the logic, practice object-oriented design, and offer an acceptable visual experience from the console.

Project description: the game is written to run in the terminal and uses two main classes, Player and Board. Player manages actions like attacking and updating its board, while Board manages ship placement and the state of the tiles. The board uses coordinates like A1 to J10, which in the code are treated as Tiles. The game progresses in a loop until one of the players runs out of valid Tiles.

The repository with the source code is on GitHub at https://github.com/Exceria33/BattleshipPortfolio and contains a README with instructions, explanation of the structure, and details about the scoring system. It is a simple but useful project for practicing basic architecture, testing, and debugging in the console.

Learnings and reflections: developing this game helped me improve code organization, state management, and keyboard user interaction. It also forced me to simplify design decisions so everything worked in an environment without a graphical interface. It is not perfect, but progress is what matters: repeat, refactor, and document.

About Q2BSTUDIO and how we can help: at Q2BSTUDIO we are a company dedicated to software development and custom applications. We offer comprehensive services including custom software, custom applications, artificial intelligence consulting, and cybersecurity solutions. We also design cloud architectures and manage aws and azure cloud services for projects of all sizes.

Our business intelligence and power bi services allow transforming data into actionable information, while our AI solutions for companies and AI agents facilitate process automation, customer service, and predictive analysis. We combine cybersecurity with good development practices to protect applications and data throughout the entire lifecycle.

Why choose us: Q2BSTUDIO brings technical experience and a practical approach. If you are looking to create a product from scratch, improve an existing system, or integrate artificial intelligence and advanced analytics, we offer customized solutions that include cloud deployment, performance optimization, and security controls.

Conclusion: this attempt to recreate Battleship was an excellent excuse to learn, make mistakes, and improve. Sharing the result on GitHub and writing about the process has allowed me to gain confidence. If you are interested in seeing the code, collaborating, or developing a custom application with specialists in artificial intelligence, cybersecurity, aws and azure cloud services, business intelligence services, AI agents, or power bi, Q2BSTUDIO is ready to help you.

Thank you for reading this summary of my learning journey. I am excited to keep improving the code and writing better posts in the future.

OUR SERVICES

How we can help you

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.