[Projet Python] Un billard... en console (linux)

Si si.

a marqué ce sujet comme résolu.

Yop !

Je vous présente ici un petit projet rapide de billard dans une console linux :)

Origins

Quelle idée saugrenue me direz-vous, et en effet je ne dis pas le contraire. Je vous dois peut-être quelques explications :

Comme beaucoup d’écoles, en fin de première année on nous propose de faire un petit jeu en python; un grand classique. Mais les contraintes de mon écoles étaient pour le moins surprenantes, le jeu devait être :

  • En python 2.7 (mais quelle école moderne)
  • En console (linux-only)
  • Sur le thème de la balle (oui oui, en console)
  • En procédural (mais euh)

Codage

Bon j’aime bien les défis, alors je me suis lancé dans le codage d’un billard :magicien: . Alors soit, ce n’est en soi pas plus compliqué qu’en graphique ; seul l’affichage diffère. On calcule la position des boules puis on affiche la caractère au bon endroit. Mais alors que je m’attendais à un résultat assez dégueulasse, il n’est pas si chaotique que ça. En effet, notre cerveau fait un formidable travail et on peut assez facilement suivre la trajectoire des boules.

Comme ça m’a semblé intéressant, je vous le présente ici !

Le jeu

C’est un billard qui suit les règles de bar que je connais, qui se rapprochent beaucoup du jeu de la 8. Si vous avez un doute sur l’arbitrage, un logigramme des règles se trouve dans le zip que vous trouverez ci-dessous.

Il y a trois mode de jeu; PvP, PvIA (avec des IA plus que douteuses :-° ) et un mode bac à sable.

On trouve quelques options qui permettent d’avoir un rendu plus ou moins "beau" en fonction des capacités de votre console.

Notez aussi que c’est un jeu que j’ai codé vite fait, donc il n’est pas très optimisé :D

Détails

Il va vous falloir un ordi (surtout processeur) pas trop mauvais pour le faire tourner. En effet le rafraîchissement s’effectue à chaque nouvelle image ( Optimisation/20 :ange: ) comme un jeu graphique. Mais comme ce ne peut pas être la carte graphique qui s’en occupe, le pauvre processeur doit s’occuper de tout. Il risque donc d’y avoir quelques soucis éventuels de clignotements (même si vous réglez les FPS au minimum).

Téléchargement et Lancement

Vlà donc le zip. C’est exactement celui que j’ai rendu.

C’est un simple dossier python, il faut donc (sous linux du coup) aller dedans et faire un simple

1
python main.py

Qui devrait lancer le jeu.

EDIT: Je viens de me rendre compte d’un bug, n’essayez pas d’augmenter les FPS ça casse la physique des boules :lol:

Et sinon ?

Euh… rien. Le projet devrait pas aller beaucoup plus loin parce qu’il est rendu et que la note est tombée1, mais si le jeu peut vous amuser un petit quart d’heure je serais content ;) . Je le mets ici comme ça, éventuellement pour avoir quelques avis sur le code ou autre (si l’envie vous vient). Mais je voulais surtout partager avec vous ce petit projet, sans plus !

Bref, amusez vous un peu avec, j’espère qu’il vous plaira :)


  1. Si vraiment vous êtes curieux, 18.8. Mais ça inclut plein d’autres choses comme les cahiers charge/conception donc moi même je ne sais pas :p 

+3 -0

Bonjour,

Sincèrement c’est plus que bon pour un jeu en console personnellement je ne m’attendais pas à des graphisme aussi "réaliste" les balles rebondisses de manière logique juste deux petit bémol :

  • Je trouve que le bot met un peu souvent la balle blanche dans le trous
  • Les touches en Z , Q , S , D sont un pas très adapté pour un jeu comme çà j’aurais plus tendance a utiliser les flèche mais bon c’est personnel.

Sinon je dit franchement bravo :soleil: pour ce petit jeu en console.

+1 -0

Re !

Je trouve que le bot met un peu souvent la balle blanche dans le trous

Oui bon le bot c’était deux lignes de codes en catastrophe alors il est pas très fort j’admets :euh:

Les touches en Z , Q , S , D sont un pas très adapté pour un jeu comme çà j’aurais plus tendance a utiliser les flèche mais bon c’est personnel.

Malheureusement il s’agit là d’une contrainte technique; avec ce qu’on nous imposait, la touche z nous renvoyait un caractère, tandis que une flèche nous renvoie une série de 3 caractères \x1b [ A. La fonction étant bloquante on ne pouvait pas utiliser les flèches :( Mais j’aurais préféré aussi !

Sinon je dit franchement bravo :soleil: pour ce petit jeu en console.

Merci !

Des images ! On veut des images !

Ma foi si tu insiste, en voici quelques unes ^^ (la qualité est pas top, sorry):

Ecran Menu
Mode de jeu
En jeu (1/2)
En jeu (2/2)
+7 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte