IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Jeux d’échec en python


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Par défaut Jeux d’échec en python
    Voila pour mes cours je doit programmer la simulation des coup d’échec (pour le fou et la reine) c'est a dire en donnant la position x et y d'un fou il doit renvoyé 2 valeur de x et y différente mais doit rester une position valide alors

    pour le fou

    j'ai essayer :
    x=input("x pos = ")
    y=input("y pos = ")
    lbl1
    import random
    a = random.randint(-7,7)
    if x+a>8 or y+a<1 :
    goto lbl 1
    else:
    x=x+a
    y=y+a

    print("x= ",x,"y= ",y)

    Mais le goto n'existe pas sur python alors je ne c'est pas comment faire et pour la reine je ne c'est pas comment faire

    Merci d'avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Citation Envoyé par justforone Voir le message
    Mais le goto n'existe pas sur python ...
    Dieu merci, par contre tu as while qui fonctionne comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    >>> while 1:
    ...     a = randint(-7, 7)
    ...     print(a)
    ...     if not a % 2:
    ...             print("Nombre pair, on quitte.")
    ...             break
    ... 
    5
    -7
    -3
    2
    Nombre pair, on quitte.
    >>>
    Vous ne devez (ou pouvez) pas utiliser de fonction pour ça ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Par défaut re:
    Donc pour mon exemple du fou j'ai réécrit le programme comme ceci

    1. x=int(input("x pos = "))
    2. y=int(input("y pos = "))
    3. while 1:
    4. ....a = randint(-7,7)
    5. ....x = x+a
    6. ....y = y+a
    7. ....if x>0 and x<9 and y>0 and y<9:
    8. ........print("x= ",x,"y= ",y)
    9. ........break


    Je ne c'est pas vraiment si il fonctionne mais sinon pour ce qui est de la reine je ne sais pas comment procéder.

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Ben, à première vue ça a l'air bon.


    Quand tu postes du code, utilise les balises [code]. Le # dans la barre d'outils d'édition.

    Pour les déplacement de la dame tu dois donc définir, en plus du nombre de cases, le sens de déplacement. Horizontal ou vertical.

    Tu peux utiliser un deuxième randint() pour cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    di = randint(0, 1)
    num = randint(-7, -7)
    if not di:
        # horizontal
        x = x + num
    else:
        # vertical
        y = y + num
     
    ... verification de x et y ...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2013
    Messages : 5
    Par défaut
    alors pour le fou j'ai remarqué que j'ai oublier des solution donc on a :
    Pour le fou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    x=int(input("x pos = "))
    y=int(input("y pos = "))
    b = randint(1,2)
    if b==1
    	while 1:
        		a = randint(-7,7)
        		x = x+a
        		y = y+a
        		if x>0 and x<9 and y>0 and y<9:
            		print("x= ",x,"y= ",y)
            		break
    if b==2
    	while 1:
        		a = randint(-7,7)
        		x = x+a
        		y = y-a
        		if x>0 and x<9 and y>0 and y<9:
            		print("x= ",x,"y= ",y)
            		break
    et pour la reine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    x=int(input("x pos = "))
    y=int(input("y pos = "))
    b = randint(1,4)
    if b==1:
    	while 1:
        		a = randint(-7,7)
        		x = x+a
        		y = y+a
        		if x>0 and x<9 and y>0 and y<9:
            		print("x= ",x,"y= ",y)
            		break
    if b==2
    	while 1:
        		a = randint(-7,7)
        		x = x+a
        		y = y-a
        		if x>0 and x<9 and y>0 and y<9:
            		print("x= ",x,"y= ",y)
            		break
     
    if b==3:
    	while 1:
    		a = randint(-7,7)
    		x = x+a
        		if x>0 and x<9:
            		print("x= ",x,"y= ",y)
            		break
     
    if b==4:
    	while 1:
        		a = randint(-7,7)
        		y = y+a
        		if y>0 and y<9:
            		print("x= ",x,"y= ",y)
            		break
    Es que vous pouvez me dire si le programme fonctionne
    Merci

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Pourquoi ne le testes-tu pas ?

Discussions similaires

  1. Le python est il idéal pour les jeux 2D?
    Par Manzarek dans le forum Programmation multimédia/Jeux
    Réponses: 13
    Dernier message: 01/07/2010, 00h36
  2. Python: Est il fait pour les jeux?
    Par bachir006 dans le forum Programmation multimédia/Jeux
    Réponses: 2
    Dernier message: 28/06/2009, 23h59
  3. Python pour création de jeux vidéos?
    Par punkd dans le forum Programmation multimédia/Jeux
    Réponses: 6
    Dernier message: 15/02/2009, 23h23
  4. Quelles sont les entreprises aujoud'hui qui commercialisent des jeux en Python?
    Par zuzuu dans le forum Développement 2D, 3D et Jeux
    Réponses: 14
    Dernier message: 12/02/2008, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo