Lors de mon année de SEICOM, nous devions faire un programme sur le jeu "Bataille Navale" avec un langage orienté objet. J'ai choisi le JAVA, ayant déjà un peu d'expérience avec le projet "Simulateur de porte logique".

Mission

> Analyse

Connaissant déjà la bataille navale, cette partie fut courte. J'ai tout même regardé comment une partie en ligne se déroulait, voici une version du jeu.

> Choix de la partie

Pour que cela soit plus varié j'ai décidé que la taille de la grille de jeu et les bateaux seraient variables.

bataille navale plateau

> Placement des navires

Pour le placement j'ai mis en place le placement automatique, qui place les navires sur la grille de manière aléatoire. Et le placement manuel qui permet de placer les bateaux où on le souhaite sur la grille, verticalement ou horizontalement tant qu'ils ne sortent pas de la grille ou ne se chevauchent pas.

bataille navale mise en place

> Phase de tir

Chacun leur tour, les joueurs vont tirer sur une case. Pour rajouter un peu de dynamisme, j'ai ajouté des effets sonores en fonction d'un tir raté, d'un bateau touché ou coulé. Un joueur ne peut tirer que sur la grille adverse et les cases bleues.

bataille navale tir

> Victoire

Une fois qu'un joueur a coulé tous les bateaux adverses, il a gagné. Les joueurs peuvent recommencer à jouer.

Bataille navale win

> Multi-joueur

Lorsqu'il y a deux joueurs, ils jouent chacun leur tour. Pour jouer solo, j'ai créé une intelligence artificielle basique tirant aléatoirement sur une case "bleue".

> Réseaux

Afin de pouvoir jouer en réseau, j'ai créé un système de client/serveur. Le client doit connaitre l'ip du serveur pour pouvoir le rejoindre.

 

Technologies

JAVA, Eclipse

Programmes et/ou compte rendu

Télécharger

Bilan

|Les + : Programmation d'un jeu de mon enfance / Langage attrayant

|Les – : Design trop simple / Non responsive