Code Monkey home page Code Monkey logo

naval-battle's Introduction

Bataille Navale (2022-2023)

ALLER SUR LA DEVELOP

Groupe

  • Lazare K ASSIE
  • Maximilien DENIS
  • Ludivic GILOTAUX
  • Alexandre Ernotte

Introduction

Ce projet est développé dans le cadre du cours de "Programmation Orienté Objet" en Bac 2 Informatique de Gestion à l'ESA. Ce dernier est exclusivement écrit en Java et doit répondre à certaines contraintes qui sont les suivantes :

  • Implémenter un jeu de touché coulé Client - Serveur
  • Utilisation du réseau
  • Combat Client - Client
  • Combat Client - Serveur
  • Proposition de plusieurs plateaux de tailles différentes
  • Possibilités de jouer à plusieurs : 2 - 3 - 4 joueurs
  • Possibilités de jouer par équipes : 2 contre 2
  • Possibilités de suivre des parties auxquelles on ne joue pas
  • Partie avec des horloges

Procédure d'exécution du programme

Veuillez utiliser POWERSHELL pour le confort d'exécution du projet.

git clone https://gitlab.com/denismaximilien98/bataille_navale.git
cd bataille_navale

Avant de lancer le serveur ou le client, il faut compiler l'ensemble des fichiers java. Pour cela, un fichier powershell se trouve dans le dossier exports et permet de supporter la compilation sur Linux ou Windows tant que l'outil javac est installé.

cd exports
.\build.ps1

Une fois que c'est fait, l'ensemble des anciens fichiers compilés sont supprimés et les nouveaux sont créés dans le dossier exports avec la même structure que le projet. IL faut rester dans le dossier exports pour exécuter les commandes suivantes.

.\server.ps1` # lance le serveur qui écoute sur le port constant 5000
.\client.ps1` # lance le client qui va se connecter au serveur

L'ensemble des logs du serveur se trouve dans ./data/server.log.
Le serveur et le client doivent chacun être exécuté dans un terminal.

Les commandes client

Pour envoyer un message au serveur, il faut avant tout se connecter... Si vous souhaitez connaître la syntaxe de la commande à envoyer il suffit d'envoyer /help.

Voici une liste exhaustive des commandes disponibles :

Commande Description
/help liste les commande disponibles
/signin <username> <password> connexion à un utilisateur existant
/signup <username> <password> création d'un nouvel utilisateur
/ping ping le serveur
/userlist liste l'ensemble des utilisateurs existants sur le serveur
/invite <username> envoie une invitation à un utilisateur du serveur
/confirm <username> confirme une invitation d'un utilisateur provenant du serveur
/signout se déconnecte du serveur

Faites attention que si vous êtes inactif plus de 5 minutes, le serveur vous déconnecte automatiquement.
De plus, certaines commandes sont accessibles uniquement sous certaines conditions :

  • Le rôle de l'utilisateur
  • L'état de connexion du client

naval-battle's People

Contributors

lasesanamur avatar ludgil avatar maximiliendenis avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.