elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Temas
Páginas: 1 2 3 [4]
31  Programación / Scripting / [Python]3 en raya y mini proyecto. en: 11 Abril 2009, 20:47 pm
He hecho un 3 en raya en python. Es para windows, pero para linux solo hay que cambiar "cls" por "clear".Es para humano vs ordenador.
El ordenador pone las fichas aleatoriamente.
Código
  1. ##--------> Proyecto 3 en raya para python <--------##
  2. #--------->           braulio23            <--------##
  3. import os,random
  4. longitud = "0"
  5. latitud = "0"
  6. combinacion=["xxx","ooo"]
  7.  
  8. fichas = [[" "," "," "],[" "," "," "],[" "," "," "]]
  9. def printtablero():
  10.    os.system("cls")
  11.    for i in range(7):
  12.        print " "
  13.  
  14.    print "                        "+fichas[0][0]+"    |    "+fichas[0][1]+"    |    "+fichas[0][2]
  15.    print "                        -----+---------+------"
  16.    print "                        "+fichas[1][0]+"    |    "+fichas[1][1]+"    |    "+fichas[1][2]
  17.    print "                        -----+---------+------"
  18.    print "                        "+fichas[2][0]+"    |    "+fichas[2][1]+"    |    "+fichas[2][2]
  19.    for i in range(5):
  20.        print ""
  21.    return 0
  22. def ponerficha(estilo,longitud,latitud,quien=0):
  23.    if longitud>3 or latitud>3:
  24.        print "Numero no permitido"
  25.        raw_input()
  26.        return 1
  27.    if fichas[longitud][latitud]==" ":
  28.        fichas[longitud][latitud] = estilo
  29.        return 0
  30.    else :
  31.        if quien==0:
  32.            printtablero()
  33.            print "Esa casilla ya esta ocupada"
  34.            raw_input()
  35.            return 1
  36.        else :
  37.            return 1
  38. def asignar(quien=0):
  39.    global longitud
  40.    global latitud
  41.    if quien==0:
  42.  
  43.        longitud=raw_input("Coordenada X : ")
  44.        latitud=raw_input("Coordenada Y : ")
  45.    else :
  46.        longitud = random.randint(0,2)
  47.        latitud = random.randint(0,2)
  48.  
  49.  
  50.    return 0
  51. def comprobar(quien=0):
  52.  
  53.        if fichas[0][0]+fichas[0][1]+fichas[0][2]==combinacion[quien]:
  54.            alertar(quien)
  55.        elif fichas[0][0]+fichas[1][0]+fichas[2][0]==combinacion[quien]:
  56.            alertar(quien)
  57.        elif fichas[0][0]+fichas[1][1]+fichas[2][2]==combinacion[quien]:
  58.            alertar(quien)
  59.        elif fichas[1][0]+fichas[1][1]+fichas[1][2]==combinacion[quien]:
  60.            alertar(quien)
  61.        elif fichas[2][0]+fichas[1][1]+fichas[0][2]==combinacion[quien]:
  62.            alertar(quien)
  63.        elif fichas[0][1]+fichas[1][1]+fichas[2][1]==combinacion[quien]:
  64.            alertar(quien)
  65.        elif fichas[0][2]+fichas[1][2]+fichas[2][2]==combinacion[quien]:
  66.            alertar(quien)
  67.        return 0
  68. def alertar(quien):
  69.    if quien==0:
  70.        print "Estupendo !!! Has ganado!!!!"
  71.        raw_input()
  72.  
  73.    else :
  74.        print "Muy mal !!! Has perdido !!!"
  75.        raw_input()
  76.    exit(1)    
  77.  
  78.  
  79.  
  80.  
  81. while 1:
  82.  
  83.  printtablero()
  84.  asignar()
  85.  while ponerficha("x",int(longitud)-1,int(latitud)-1)==1:
  86.      printtablero()
  87.      asignar()  
  88.  printtablero()
  89.  comprobar()
  90.  raw_input()
  91.  asignar(1)
  92.  
  93.  while ponerficha("o",int(longitud),int(latitud),1)==1:
  94.      asignar(1)
  95.  comprobar(1)    
  96.  
  97.  
  98.  
  99.  
El miniproyecto es para aprender y se puede unir todo el mundo que quiera, se trata de hacer el juego online.
Quien quiera participar me mande un mp.
Páginas: 1 2 3 [4]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines