Project

Battleship with Java

Challenging
491 completions
~ 21 hours
4.1

Develop your own version of the popular "Battleship Game" to play with your friends!

Provided by

JetBrains Academy JetBrains Academy

About

Writing games is probably one of the most exciting tasks in programming. While creating your first console game, you will learn about processing user input and handling errors. You will practice concepts frequently tested in technical interviews at top tech companies.

Graduate project icon

Graduate project

This project covers the core topics of the Introduction to Java course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Place and arrange all the ships on the game field.
Try shelling your own ships to test the new guns.
Arrange your ships, hide them behind the fog of war, and fire at a random position.
Denote the conditions for the end of the game.
Make your game more interesting by adding another player with their own field.

Reviews

Tomas Torres Diaz avatar
Tomas Torres Diaz
1 week ago
This one is the most tedious of all the beginner java projects, the tasks are complex for this level, and the tests are not great. But I had the opportunity to apply almost every single topic learned in the theory.
Karim Kuropka avatar
Karim Kuropka
2 months ago
I have learned... patience xDBut honestly: It is a very nice project, it was interesting to write and also interesting to look at other people's solutions.I used three classes (Main, Board, Ship) but i saw others use more or less. I did not use all the topics which were declared relevant per stage ...
Trayana Boykova
2 months ago
I have learned how to structure a larger Java program using classes and methods, handle user input effectively, and implement game logic with conditions and loops. This project helped me strengthen my understanding of arrays, object-oriented programming, and error handling. At first, managing the gr ...

4.1

Learners who completed this project within the Introduction to Java course rated it as follows:
Usefulness
4.4
Fun
4.1
Clarity
3.9