user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 20-08-2013 23:41:08

boost
Membre

jeu du pendu en mode shell ( sl4a android)

Jeu du pendu pour Android,
Réalisé sur Android avec sl4a, mais devrais fonctionner sur PC avec python 2.6
Ce jeu se joue en solo, vous pouvez ajouter des mots Dans la liste, capable de lire desmots avec deux fois le même caractères , a vous de modifier le jeu pour qu'il accepte 3,4... Caractères. Il manque juste le classement a faire , en gros récupérer le pseudo et faire en sorte que chaque pseudo lier au score s'affiche dans un ordre décroissant, utiliser un fichier ou sqlite3 pour stocker les données.
Le jeux se joue dans le shell, interface très propres.

import sys
import os
import random

__author__ = 'boost <pi-boost@hotmail.com>'
__copyright__ = 'Copyright (c) 2013, piboost Inc.'
__license__ = 'Apache License, Version 2.0'

class game:
  ''' jeux du pendu 1.0, by boost'''
  def __init__(self):
    self.pseudo = raw_input('Pseudo: ')
    self.dico = ['ballon','moto','poison','bateau','plage','voiture','poisson','balance','maison','tour','vodka','wisky','chien','blouse','vache','mouton','bouton','pigeon','toile','tante','camp','verre','coupe','soupe','cannabis','police','maman','villa']
    self.mot = ''
    self.longeur_mot = ''
    self.lettre = ''
    self.compteur_lettre = 0
    self.mauvaise_lettre = ''
    self.lt = ''
    self.position_lettre = 0
    self.position_lettre2 = 0
    self.pos_mauvais = 0
    self.vie = 0
    self.score = 0
    self.dessin5 = '''
   |__________|
        |
        0

                 
     ________
    |        |
    |        |
'''
    self.dessin4 = '''
   |__________|
        |
        0


    __________      {}
   |          |   )-[]-(
   |          |     ||
'''
    self.dessin3 = '''
   |__________|
        |
        0


    __________   {}
   |          |)-[]-(
   |          |  ||
'''
    self.dessin2 = '''
   |__________|
        |
        0
           {}
         )-[]-(
    _______||_
   |          |
   |          |
'''
    self.dessin1 = '''
   |__________|
      | |
      |_|
      |{}
       ==
     )-[]-(
    ___||_____
   |          |
   |          |
'''
    self.dessin_fin = '''
   |__________|
       | |
       |_|
       |{} i'm dead.
        ==
    _ )-[]-(  __
   |    ||      |
   |            |
'''
    self.play()

  def play(self):
    print 'Pendu v1.0, by boost.\n'
    self.vie = 5
    self.mot = random.choice(self.dico)
    self.longeur_mot = len(self.mot)
    self.lt = ['__']*self.longeur_mot
    self.mauvaise_lettre = ''
    self.compteur_lettre = 0
    self.pos_mauvais = 0
    while(True):
      print 'score: '+ str(self.score)
      print 'vie: '+ str(self.vie) +'\n'
      if(self.vie == 5):
        print self.dessin5.encode('utf-8')
      elif(self.vie == 4):
        print self.dessin4.encode('utf-8')
      elif(self.vie == 3):
        print self.dessin3.encode('utf-8')
      elif(self.vie == 2):
        print self.dessin2.encode('utf-8')
      else:
        print self.dessin1.encode('utf-8')
      print str(self.lt) +'\n'
      print "Mauvaise lettre: "+ str(self.mauvaise_lettre)
      self.lettre = raw_input('Votre lettre: ')
      os.system('clear')
      if(self.lettre in self.mot):
        if(self.lettre in self.lt):
          print 'lettre deja utiliser'
        else:
          self.compteur_lettre = self.mot.count(self.lettre)
          if(self.compteur_lettre == 1):
            self.position_lettre = self.mot.find(self.lettre)
            self.lt[self.position_lettre] = self.lettre
            self.score = self.score+2
            self.longeur_mot = self.longeur_mot-1
            if(self.longeur_mot == 0):
              print 'Bien jouer, le mot: '+ self.mot
              self.restart()
          elif(self.compteur_lettre == 2):
            self.position_lettre = self.mot.find(self.lettre)
            self.mid = self.position_lettre+1
            self.position_lettre2 = self.mot.find(self.lettre,self.mid)
            self.lt[self.position_lettre] = self.lettre
            self.lt[self.position_lettre2] = self.lettre
            self.score = self.score+4
            self.longeur_mot = self.longeur_mot-2
            if(self.longeur_mot == 0):
              print 'Bien jouer, le mot: '+ self.mot
              self.restart()
          else:
            print 'erreur'
      else:
        if(self.lettre in self.mauvaise_lettre):
          print 'lettre deja utiliser !!!'
        else:
          self.mauvaise_lettre = self.mauvaise_lettre + self.lettre
          self.pos_mauvais = self.pos_mauvais+1
          self.score = self.score-1
          self.vie = self.vie-1
          if(self.vie == 0):
            print self.dessin_fin.encode('utf-8')
            print('Tu n as pas trouver le mot '+ self.mot)
            self.restart()

  def restart(self):
    self.rejouer = raw_input('\nContinuer? oui/non: ')
    if(self.rejouer == 'oui'):
      os.system('clear')
      self.play()
    else:
      if(self.score < 0):
        self.score = 0
        os.system('clear')
        print '\n GAME OVER \n'
        print 'Score finale: '+ str(self.score)
        sys.exit()
      else:
        os.system('clear')
        print '\n GAME OVER \n'
        print 'Score finale: '+ str(self.score)
        sys.exit()

if(__name__ == '__main__'):
  game()

boost ===>>> « Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils. Ca, ce sont les caractéristiques de la magie. » - Dave Small

Hors ligne

#2 01-09-2013 00:33:09

IceF0x
#! Gourou Linux

Re : jeu du pendu en mode shell ( sl4a android)

Merci pour le code.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

#3 19-12-2018 21:24:29

petitegirafe
Membre

Re : jeu du pendu en mode shell ( sl4a android)

merci je vais m'en inspirer pour coder mon pendu smile 
je me lance avec gtk .

Hors ligne

Pied de page des forums