Skip to content

msq15/Net-Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Net - Logic Puzzle Game

C WebAssembly SDL2 CMake

Jouer à la démo en ligne dans le navigateur !

Développement d'un jeu de réflexion "Net" en C, réalisé dans le cadre de ma Licence Informatique à l'Université de Bordeaux. L'objectif du jeu est de faire pivoter des pièces sur une grille pour connecter tous les câbles en un seul réseau continu, sans boucles.

Aperçu du Gameplay

Net Gameplay

Fonctionnalités clés

Ce projet m'a permis de développer et de mettre en pratique des concepts avancés en algorithmique et en architecture logicielle :

  • Moteur logique en C : Gestion complète des états du jeu avec une architecture modulaire.
  • Génération procédurale : Algorithme de génération de grilles aléatoires garantissant l'existence d'au moins une solution (basé sur la théorie des graphes).
  • Solveur algorithmique : Implémentation d'un solveur par backtracking capable de résoudre n'importe quelle grille et de compter le nombre total de solutions possibles.
  • Portage WebAssembly (Emscripten) : Compilation du moteur C en .wasm pour rendre le jeu jouable directement dans un navigateur Web avec une interface JS/HTML/CSS responsive.
  • Client lourd (SDL2) : Application bureau native avec interface graphique soignée et animations fluides.
  • Historique des coups (Undo/Redo) : Implémentation d'une structure de données de type Double-ended queue (Deque) pour annuler et refaire des actions à l'infini.
  • Tests & Intégration : Mise en place d'un build automatisé avec CMake et de tests unitaires avec CTest.

Compilation et Exécution (Desktop)

Prérequis

  • Compilateur C (GCC / Clang)
  • CMake (>= 3.5)
  • Bibliothèques SDL2 : SDL2, SDL2_image, SDL2_ttf

Instructions

# Cloner le dépôt
git clone https://github.com/msq15/Net-Game.git
cd Net-Game

# Créer le répertoire de build et compiler
mkdir build && cd build
cmake ..
make

# Lancer la version Graphique (SDL2)
./game_sdl

# Lancer la version Terminal (CLI)
./game_text

Compilation WebAssembly (Emscripten)

Pour générer la version Web, il faut disposer du SDK Emscripten (emcc).

cd web
make

Cela générera les fichiers game.wasm et game.js. Il suffit ensuite d'ouvrir game.html via un serveur local (ex: python3 -m http.server).

Contrôles du jeu

Action Souris Clavier
Pivoter sens horaire Clic gauche
Pivoter sens anti-horaire Clic droit
Générer une nouvelle partie N
Mélanger la grille R
Résoudre la grille S
Annuler (Undo) Z
Refaire (Redo) Y
Quitter Q

About

"Net" logic puzzle game built in C. Features a procedural grid generator, a backtracking solver, an SDL2 desktop client, and a playable WebAssembly browser port.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors