CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Help python

Woodybie511
Woodybie511
Niveau 9
15 juillet 2017 à 23:46:35

Pour faire un jeu d'echec, j'avoue là je commence à craquer c'est pur déplacer un cavalier:

liste_Case = ("A", "B", "C", "D", "E", "F", "G", "H",)
liste_Num = ("1", "2", "3", "4", "5", "6", "7", "8",)

Case_Cavalier1 = ["B", "1"]
Case_Cavalier2 = ["G", "1"]

mouvement_poss_ip1= True
mouvement_poss_im1= True
mouvement_poss_ip2= True
mouvement_poss_im2= True
mouvement_poss_jp1= True
mouvement_poss_jm1= True
mouvement_poss_jp2= True
mouvement_poss_jm2= True

  1. --------------------------CHOIX-------------------------------------------------

Choix = "NULL"
while Choix.lower() != "cavalier 1":
Choix = str(input("Quelle pièce souhaitez vous jouer ? "))

  1. --------------------------MOUVEMENT EN FONCTION DES CHOIX-----------------------------------------

print("Vous avez choisis:", Choix.lower())
if Choix.lower() == "cavalier 1":
i = 0
while Case_Cavalier1[0] != liste_Case[i]:
i += 1
j = 0
while Case_Cavalier1[1] != liste_Num[j]:
j += 1

  1. ------------------------Variable mouvements--------------------------------------------------------------

if i + 1 > 8:
mouvement_poss_ip1 = False
else:
mouvement_poss_ip1 = True

if i-1 < 0:
mouvement_poss_im1 = False
else:
mouvement_poss_im1 = True

if i + 2 > 8:
mouvement_poss_ip2 = False
else:
mouvement_poss_ip2 = True

if i - 2 < 0:
mouvement_poss_im2 = False
else:
mouvement_poss_im2 = True

  1. -------------------------------------------------------------------------------------------------------------

if j + 1 > 8 :
mouvement_poss_jp1 = False
else:
mouvement_poss_jp1 = True

if j - 1 < 0:
mouvement_poss_jm1 = False
else:
mouvement_poss_jm1 = True

if j + 2 > 8:
mouvement_poss_jp2 = False
else:
mouvement_poss_jp2 = True

if j - 2 < 0:
mouvement_poss_jm2 = False
else:
mouvement_poss_jm2 = True

  1. -------------------------------------------------------------------------------------------------------------------

mouvement_poss = []
if mouvement_poss_ip1 and mouvement_poss_jp2:
mouvement_poss.append(liste_Case[i+1])
mouvement_poss.append(liste_Num[j+2])

if mouvement_poss_ip1 and mouvement_poss_jm2:
mouvement_poss.append(liste_Case[i+1])
mouvement_poss.append(liste_Num[j-2])

if mouvement_poss_ip2 and mouvement_poss_jp1:
mouvement_poss.append(liste_Case[i+2])
mouvement_poss.append(liste_Num[j+1])

if mouvement_poss_ip2 and mouvement_poss_jm1:
mouvement_poss.append(liste_Case[i+2])
mouvement_poss.append(liste_Num[j-1])

if mouvement_poss_im1 and mouvement_poss_jp2:
mouvement_poss.append(liste_Case[i-1])
mouvement_poss.append(liste_Num[j+2])

if mouvement_poss_im1 and mouvement_poss_jm2:
mouvement_poss.append(liste_Case[i-1])
mouvement_poss.append(liste_Num[j-2])

if mouvement_poss_im2 and mouvement_poss_jp1:
mouvement_poss.append(liste_Case[i-2])
mouvement_poss.append(liste_Num[j+1])

if mouvement_poss_im2 and mouvement_poss_jm1:
mouvement_poss.append(liste_Case[i-2])
mouvement_poss.append(liste_Num[j-1])

Case_Cavalier1 = list(input("Sur quelle case souhaitez vous vous déplacer ? "))
k = 0
while Case_Cavalier1[0] != mouvement_poss[k] and Case_Cavalier1[1] != mouvement_poss[k+2] and k < 17:
k += 1
print("La case saisie est incorrecte")
else:
print("La case saisie est correcte")
print(Case_Cavalier1)
print(mouvement_poss)

Woodybie511
Woodybie511
Niveau 9
15 juillet 2017 à 23:51:14

UP

Pseudo supprimé
Pseudo supprimé 16 juillet 2017 à 01:40:46

Tu a des balises code, ou pastebin au pire pour montree du code.

C'est illisible sur portable donc je ne peut pas t'aider

Sayena
Sayena
Niveau 10
17 juillet 2017 à 13:39:11

Je remets le code sous balises même si je ne suis pas l'auteur.

liste_Case = ("A", "B", "C", "D", "E", "F", "G", "H",)
liste_Num = ("1", "2", "3", "4", "5", "6", "7", "8",)

Case_Cavalier1 = ["B", "1"]
Case_Cavalier2 = ["G", "1"]

mouvement_poss_ip1= True
mouvement_poss_im1= True
mouvement_poss_ip2= True
mouvement_poss_im2= True
mouvement_poss_jp1= True
mouvement_poss_jm1= True
mouvement_poss_jp2= True
mouvement_poss_jm2= True
--------------------------CHOIX-------------------------------------------------
Choix = "NULL"
while Choix.lower() != "cavalier 1":
Choix = str(input("Quelle pièce souhaitez vous jouer ? "))
--------------------------MOUVEMENT EN FONCTION DES CHOIX-----------------------------------------
print("Vous avez choisis:", Choix.lower())
if Choix.lower() == "cavalier 1":
i = 0
while Case_Cavalier1[0] != liste_Case[i]:
i += 1
j = 0
while Case_Cavalier1[1] != liste_Num[j]:
j += 1
------------------------Variable mouvements--------------------------------------------------------------
if i + 1 > 8:
mouvement_poss_ip1 = False
else:
mouvement_poss_ip1 = True

if i-1 < 0:
mouvement_poss_im1 = False
else:
mouvement_poss_im1 = True

if i + 2 > 8:
mouvement_poss_ip2 = False
else:
mouvement_poss_ip2 = True

if i - 2 < 0:
mouvement_poss_im2 = False
else:
mouvement_poss_im2 = True
-------------------------------------------------------------------------------------------------------------
if j + 1 > 8 :
mouvement_poss_jp1 = False
else:
mouvement_poss_jp1 = True
if j - 1 < 0:
mouvement_poss_jm1 = False
else:
mouvement_poss_jm1 = True

if j + 2 > 8:
mouvement_poss_jp2 = False
else:
mouvement_poss_jp2 = True

if j - 2 < 0:
mouvement_poss_jm2 = False
else:
mouvement_poss_jm2 = True
-------------------------------------------------------------------------------------------------------------------
mouvement_poss = []
if mouvement_poss_ip1 and mouvement_poss_jp2:
mouvement_poss.append(liste_Case[i+1])
mouvement_poss.append(liste_Num[j+2])
if mouvement_poss_ip1 and mouvement_poss_jm2:
mouvement_poss.append(liste_Case[i+1])
mouvement_poss.append(liste_Num[j-2])

if mouvement_poss_ip2 and mouvement_poss_jp1:
mouvement_poss.append(liste_Case[i+2])
mouvement_poss.append(liste_Num[j+1])

if mouvement_poss_ip2 and mouvement_poss_jm1:
mouvement_poss.append(liste_Case[i+2])
mouvement_poss.append(liste_Num[j-1])

if mouvement_poss_im1 and mouvement_poss_jp2:
mouvement_poss.append(liste_Case[i-1])
mouvement_poss.append(liste_Num[j+2])

if mouvement_poss_im1 and mouvement_poss_jm2:
mouvement_poss.append(liste_Case[i-1])
mouvement_poss.append(liste_Num[j-2])

if mouvement_poss_im2 and mouvement_poss_jp1:
mouvement_poss.append(liste_Case[i-2])
mouvement_poss.append(liste_Num[j+1])

if mouvement_poss_im2 and mouvement_poss_jm1:
mouvement_poss.append(liste_Case[i-2])
mouvement_poss.append(liste_Num[j-1])

Case_Cavalier1 = list(input("Sur quelle case souhaitez vous vous déplacer ? "))
k = 0
while Case_Cavalier1[0] != mouvement_poss[k] and Case_Cavalier1[1] != mouvement_poss[k+2] and k < 17:
k += 1
print("La case saisie est incorrecte")
else:
print("La case saisie est correcte")
print(Case_Cavalier1)
print(mouvement_poss)
Grimmys
Grimmys
Niveau 19
18 juillet 2017 à 01:06:52

Tiens, incroyable coïncidence : je développe moi aussi un jeu d'échecs en Python actuellement. :noel:

En tout cas horrible à lire oui... Désolé.
Essaye de structurer un peu, créer des classes, des fonctions, et essaye de généraliser le plus possible (ne te focus pas sur une pièce à des coordonnées précises).

Le 17 juillet 2017 à 15:28:19 Mumbo_Jumbo a écrit :
personnellement j'aurais fait une classe par pion et, pour chaque pion une méthode qui gère les déplacements. Là c'est super chiant à lire surtout quand c'est pas commenté

Personnellement je n'ai pas fait de classe dérivée pour chaque pièce ; parce que au final, à part le pion qui a la capacité supplémentaire de pouvoir être promu, chaque pièce à les mêmes attributs, et les mêmes méthodes... Juste le pattern de déplacement qui change. :(

M'enfin je ne sais pas ce qui vaut le mieux, mais en tout cas, y a beaucoup trop de redondance dans ton code actuelle l'auteur... C'est bien trop... " bourrin " comme on pourrait dire...

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment