Bienvenida

Hola, bienvenidos a un espacio donde podrán ver los programas básicos que te han provocado más de un dolor de cabeza. Los programas están hechos mediante dos editores de textos de programación, uno es C++ y el otro es PythonG, éstos son conocidos por su simplicidad y facilidad para poder entrar al mundo de la programación. También agregaremos comentarios explicativos para cada programa con el fin de dejar más comprensible la lectura de éstos.

Esperamos les sea de utilidad y puedan despejar todas sus dudas.

viernes, 13 de agosto de 2010

Juego: Toque y Fama PythonG

 En este juego, el computador genera 4 números al azar entre el 0 y el 9, entonces, nosotros probaremos con 4 números que elegiremos para comprobar si existen coincidencias de posición o de existencia. Las coincidencias de existencia, se llaman toques, y las de posición son las famas, la idea es encontrar el orden de los números que generó el ordenador de forma que todos sean famas. Es muy parecido al estilo de batalla naval, en donde se dice una posiciones y si le dio a algún buque o a alguna flota enemiga.


from random import randint
def fama(x,y):
  if x==y:
    return 1
  else:
    return 0
def azar():
    a=randint(0,9)
    b=randint(0,9)
    c=randint(0,9)
    d=randint(0,9)
    while a==b or a==c or a==d or b==c or b==d or c==d:
      a=randint(0,9)
      b=randint(0,9)
      c=randint(0,9)
      d=randint(0,9)
    return a,b,c,d
def casi(a,x,y,z):
  if a==x or a==y or a==z:
    return 1
  else:
    return 0
a,b,c,d=azar()
w=-1
x=-1
y=-1
z=-1
while a!=w or b!=x or c!=y or d!=z:
  print "número a elegir(0-9):"
  w=int(raw_input())
  x=int(raw_input())
  y=int(raw_input())
  z=int(raw_input())
  while -1<w>10:
    w=int(raw_input())
  while -1<x>10:
    x=int(raw_input())
  while -1<y>10:
    y=int(raw_input())
  while -1<z>10:
    z=int(raw_input())
  while w==x or w==y or w==z:
    print "existe coincidencia,ingresa los nº de nuevo..."
    w=int(raw_input())
    x=int(raw_input())
    y=int(raw_input())
    z=int(raw_input())
    while -1<w>10:
      w=int(raw_input())
    while -1<x>10:
      x=int(raw_input())
    while -1<y>10:
      y=int(raw_input())
    while -1<z>10:
      z=int(raw_input())
  h=fama(a,w)
  i=fama(b,x)
  j=fama(c,y)
  k=fama(d,z)
  l=casi(a,x,y,z)
  m=casi(b,w,y,z)
  o=casi(c,w,x,z)
  p=casi(d,w,x,y)
  n=h+i+j+k
  q=l+n+o+p
  q=q-n
  print w,x,y,z
  print "famas:%d"%n
  print "casi coinsidencias:%d"%q
print "GANASTE!!!"

No hay comentarios:

Publicar un comentario