Project

Desktop Connect Four

Challenging
268 completions
~ 30 hours
4.3

Learn about multidimensional arrays, a variety of loops, and how to utilize Java Swing library to create a user interface. Write a complicated algorithm to check the game board for a winning condition after each turn and highlight the winning move.

Provided by

JetBrains Academy JetBrains Academy

About

Tired of playing Tic-Tac-Toe? Want something a little more challenging? Connect Four is a great game that fuses the complexity of a larger game board and the need to line up more pieces. In this project, you will create a version of the game with a graphical user interface that you can run on your computer. You will practice concepts frequently tested in technical interviews at top tech companies.

Training project icon

Training project

This project allows you to practice and strengthen your coding skills, helping you get ready for more advanced tasks ahead.

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:
Create a game board divided into cells using Java Swing library.
Enable the cells on the board to accept user input and place the appropriate piece based on a player's turn.
Make the cells in a column respond as a unit to fill the board from the bottom row.
Add an algorithm to check for a winner after every click and then highlight the winning cells.

Reviews

Sergio Serrano Hinojosa
3 days ago
I've learned about the utility of Maps and the use of loops and conditions. The use of debugging is really needed
EVGENII MORGUNOV avatar
EVGENII MORGUNOV
10 months ago
During this project, I have learned how to implement a graphical user interface (GUI) for a Connect Four game using Java Swing. I gained experience in managing the game state, handling user interactions, and implementing game logic such as checking for win conditions in multiple directions.  One of ...
M J avatar
M J
12 months ago
I really liked this project, it was a really interesting way to start learning about design patterns while also getting a visual satisfaction from learning about the swing library. I took the time to implement the template pattern into my final game and I feel like I understand it well now.

4.3

Learners who completed this project within the Java Desktop Application Developer course rated it as follows:
Usefulness
4.4
Fun
4.4
Clarity
4.2