Lancement d'un jeu programmé en python

Résolu/Fermé
julien-noooel Messages postés 4 Date d'inscription lundi 9 août 2021 Statut Membre Dernière intervention 9 août 2021 - Modifié le 9 août 2021 à 10:06
julien-noooel Messages postés 4 Date d'inscription lundi 9 août 2021 Statut Membre Dernière intervention 9 août 2021 - 9 août 2021 à 13:29
Bonjour,

Il y'a a une bonne année, j'étais en stage de troisième avec un ingénieur travaillant dans la programmation et il m'a fait "codé" un jeu (directement dans le terminal et juste avec notepad ++). J'y ai donc repensé il y a quelque temps , mais , malheureusement, je n'ai pas réussi a le lancer.

Les fichiers du jeu : https://github.com/remipannequin/fiver


(J'ai utilisé ce site pour m'aider : https://www.cs.utexas.edu/~mitra/bytes/start.html)

Le premier problème est que je ne peut pas lancer le programme avec python quand il est stocké sur mon disque secondaire (je suis obligé de le mettre sur le disque C: , il ne veut pas changer de répertoire):




Le deuxième problème est qu'une fois le programme lancé avec python, il m'affiche une multitude d'erreurs. Voici le fichié avec les arreurs copiées collées :

C:\PythonPrograms>python game.py


*

File "C:\PythonPrograms\game.py", line 382, in __main__.Helper.actions
Failed example:
act
Expected nothing
Got:
{Cell(1, 3): [Cell(1, 2), Cell(0, 3), Cell(2, 3)], Cell(0, 4): [Cell(1, 2), Cell(0, 3), Cell(2, 3)], Cell(1, 4): [Cell(1, 2), Cell(0, 3), Cell(2, 3)], Cell(2, 4): [Cell(1, 2), Cell(0, 3), Cell(2, 3)], Cell(0, 0): [Cell(0, 2), Cell(1, 2), Cell(2, 2)], Cell(0, 1): [Cell(0, 2), Cell(1, 2), Cell(2, 2)], Cell(1, 1): [Cell(0, 2), Cell(1, 2), Cell(2, 2)], Cell(2, 1): [Cell(0, 2), Cell(1, 2), Cell(2, 2)], Cell(1, 0): [Cell(0, 2), Cell(1, 2), Cell(2, 2)], Cell(2, 0): [Cell(0, 2), Cell(1, 2), Cell(2, 2)]}


*

File "C:\PythonPrograms\game.py", line 438, in __main__.Helper.build_eval_cache
Failed example:
hp.cache[0][1]
Expected:
{0: 12.0, 1: 115.0, 2: 12.0, 3: 12.0, 4: 12.0}
Got:
{0: 0, 1: 43.0, 2: 0, 3: 0, 4: 0}


*

File "C:\PythonPrograms\game.py", line 440, in __main__.Helper.build_eval_cache
Failed example:
hp.cache[3][3]
Expected:
{0: 44.0, 1: 147.0, 2: 44.0, 3: 44.0, 4: 44.0}
Got:
{0: 0, 1: 43.0, 2: 0, 3: 0, 4: 0}


*

File "C:\PythonPrograms\game.py", line 49, in __main__.NextPiecesGenerator.__init__
Failed example:
g = NextPiecesGenerator(3,5)
Exception raised:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest __main__.NextPiecesGenerator.__init__[0]>", line 1, in <module>
g = NextPiecesGenerator(3,5)
TypeError: __init__() missing 1 required positional argument: 'n_types'


*

File "C:\PythonPrograms\game.py", line 50, in __main__.NextPiecesGenerator.__init__
Failed example:
g.pieces
Exception raised:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest __main__.NextPiecesGenerator.__init__[1]>", line 1, in <module>
g.pieces
NameError: name 'g' is not defined


*

File "C:\PythonPrograms\game.py", line 52, in __main__.NextPiecesGenerator.__init__
Failed example:
g.n_next_pieces
Exception raised:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest __main__.NextPiecesGenerator.__init__[2]>", line 1, in <module>
g.n_next_pieces
NameError: name 'g' is not defined


*

File "C:\PythonPrograms\game.py", line 54, in __main__.NextPiecesGenerator.__init__
Failed example:
g.n_types
Exception raised:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest __main__.NextPiecesGenerator.__init__[3]>", line 1, in <module>
g.n_types
NameError: name 'g' is not defined


*

File "C:\PythonPrograms\game.py", line 71, in __main__.NextPiecesGenerator.yield_next_pieces
Failed example:
g = NextPiecesGenerator(3,5)
Exception raised:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest __main__.NextPiecesGenerator.yield_next_pieces[0]>", line 1, in <module>
g = NextPiecesGenerator(3,5)
TypeError: __init__() missing 1 required positional argument: 'n_types'


*

File "C:\PythonPrograms\game.py", line 72, in __main__.NextPiecesGenerator.yield_next_pieces
Failed example:
l = g.yield_next_pieces()
Exception raised:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest __main__.NextPiecesGenerator.yield_next_pieces[1]>", line 1, in <module>
l = g.yield_next_pieces()
NameError: name 'g' is not defined


*

File "C:\PythonPrograms\game.py", line 73, in __main__.NextPiecesGenerator.yield_next_pieces
Failed example:
len(g.pieces)
Exception raised:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest __main__.NextPiecesGenerator.yield_next_pieces[2]>", line 1, in <module>
len(g.pieces)
NameError: name 'g' is not defined


*

File "C:\PythonPrograms\game.py", line 75, in __main__.NextPiecesGenerator.yield_next_pieces
Failed example:
l[0] == g.pieces[0] and l[1] == g.pieces[1] and l[2] == g.pieces[2]
Exception raised:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest __main__.NextPiecesGenerator.yield_next_pieces[3]>", line 1, in <module>
l[0] == g.pieces[0] and l[1] == g.pieces[1] and l[2] == g.pieces[2]
NameError: name 'l' is not defined


*

File "C:\PythonPrograms\game.py", line 77, in __main__.NextPiecesGenerator.yield_next_pieces
Failed example:
[p >= 0 and p < 5 for p in g.pieces]
Exception raised:
Traceback (most recent call last):
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.1776.0_x64__qbz5n2kfra8p0\lib\doctest.py", line 1336, in __run
exec(compile(example.source, filename, "single",
File "<doctest __main__.NextPiecesGenerator.yield_next_pieces[4]>", line 1, in <module>
[p >= 0 and p < 5 for p in g.pieces]
NameError: name 'g' is not defined


*

4 items had failures:
1 of 24 in __main__.Helper.actions
2 of 7 in __main__.Helper.build_eval_cache
4 of 4 in __main__.NextPiecesGenerator.__init__
5 of 5 in __main__.NextPiecesGenerator.yield_next_pieces


*
      • Test Failed*** 12 failures.


Merci d'avance au personnes qui prendront de leur temps pour me répondre.

PS: je ne sais pas si il serait nécessaire de vous transférer le fichiers du jeu

Cordialement,

Julien Noel
A voir également:

2 réponses

jee pee Messages postés 40464 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 22 novembre 2024 9 423
9 août 2021 à 10:07
Bonjour,

Python est-il bien installé ? Si tu tapes python.exe se lance t-il ? Peut être que ton programme utilise des bibliothèques que tu n'as pas installées (tous les import du code) ?

En mode ligne de commande par passer sur un autre disque il ne faut pas utiliser CD mais tout simplement taper
B:


Il faut que tu nous donnes l'erreur. Pour insérer une image sur le forum, utiliser l'icone "Paysage" au dessus de la saisie du texte. Ou déposes l'image sur un site et donnes le lien.


0
julien-noooel Messages postés 4 Date d'inscription lundi 9 août 2021 Statut Membre Dernière intervention 9 août 2021
Modifié le 9 août 2021 à 10:41
Tout d'abord, merci pour votre réponse.

J'ai réussi à changer de répertoire sur mon autre disque.

En ce qui concerne python , j'ai la version 3.9.6 :
https://ibb.co/NW9Z8sX
https://ibb.co/S6tjRtD

Pour les bibliothèques, j'ai téléchargé touts les fichier sur :
https://github.com/remipannequin/fiver
donc je pense avoir tout ce qu'il faut.

Pour finir, je n'ai pas très bien compris votre dernière ligne, car dans ma demande, j'ai copié collé mes erreurs en me disant que si vous vouliez les lire facilement, il aurait été mieux de faire comme cela que de faire une capture d'écran.
0
Bonjour,

Il faut d'abord installer pygame et docopt via pip si ce n'est déjà fait.
Soit
pip install pygame
ou encore
python -m pip install pygame
(dans la console windows).

Puis ensuite te placer dans le répertoire où se situe cette application dans ta console windows, soit dir ou cd, ne reste plus qu'à le lancer toujours dans la console windows (pas dans le terminal python).
python fiver.py 


Pas plus compliqué que cela, m'enfin au vu de la qualité du code, bizarre qu'après un an tu ne te rappelles déjà plus rien de tout ça.
0
julien-noooel Messages postés 4 Date d'inscription lundi 9 août 2021 Statut Membre Dernière intervention 9 août 2021 > vortex
Modifié le 9 août 2021 à 11:51
Merci pour votre réponse.
Tout d'abord, je tient a préciser que j'ai complété le programme avec mon tuteur et que je ne comprenais pas toujours ce que je faisais, c'était en quelque sorte une initiation.

J'ai bien installé pygame et doctop (je ne sais pas pourquoi il faut le faire si vous pouvez m'expliquer) et j'ai lancé
fiver.py


J'ai réussi a lancer le programme et je vous en remercie profondément ;)


Comme je débute en Python, auriez vous des conseils pour bien débuter (j'ai commencé a regardé des vidéos sur YT)

Comment est-ce que je pourrais également faire pour que mes amis puissent tester le jeux ?
0
vortex > julien-noooel Messages postés 4 Date d'inscription lundi 9 août 2021 Statut Membre Dernière intervention 9 août 2021
9 août 2021 à 13:19
D'accord, j'avais compris que c'était toi qui avais programmé ce petit jeu sous la supervision de quelqu'un d'expérimenté, là je comprends mieux.

Il faut installer pygame et docopt, car ces bibliothèques ne sont pas fournies en standard avec python qui déjà à la base en inclus une tripotée. Des bibliothèques, il en existe des centaines diverses et variées, n'importe qui peut également créer sa propre bibliothèque et la proposer =) C'est un peu le même principe que le modding des jeux, si tu veux que dans ton minecraft il y ait d'autres mobs ou blocs, il faut installer un mod le proposant.

Question tutoriel, perso je déconseille totalement les vidéos, c'est une perte de temps, de plus faut sans cesse revenir en arrière (mais à quelle minute ?) si on a besoin de revoir certains points, alors que les tutos écrits facilitent plus tout cela, comme tout débutant, commence par le Swinnen (pdf gratuit), cherche sur internet Swinnen python 3 pdf et télécharge-le. Lorsque tu auras bien assimilé tout ça, tu pourras chercher sur des sites comme developpez ou encore zestedesavoir, ce n'est pas les sites abordant le python qui manquent.

Ensuite pour partager tes programmes avec tes amis, il faudra en faire des exécutables s'ils sont sur environnement windows, des outils existent pour faire ça, comme cx_freeze par exemple. Un bon sujet sur so abordant la chose :
https://stackoverflow.com/questions/41570359/how-can-i-convert-a-py-to-exe-for-python

Bon apprentissage ^^
0
julien-noooel Messages postés 4 Date d'inscription lundi 9 août 2021 Statut Membre Dernière intervention 9 août 2021 > vortex
9 août 2021 à 13:29
Merci pour votre réponse !
0