Guest User

Untitled

a guest
Nov 15th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.06 KB | None | 0 0
  1. import random
  2.  
  3. #Arreglo de buscaminas
  4. buscaminas = []
  5.  
  6. #Puntaje de jugadores
  7. jugador1 = 0
  8. jugador2 = 0
  9.  
  10. #Pasa turnos
  11. turno = True
  12. #Coordenadas del jugador 1
  13. lcxy_one = []
  14.  
  15. #Coordenadas del jugador 2
  16. lcxy_two = []
  17.  
  18.  
  19. #Carga mensaje de bienvenido
  20. def Bienvenido ():
  21. print("Bienvenido al Buscaminas")
  22.  
  23. #Carga Jego
  24. def Juego ():
  25.  
  26. #Cuenta que llegue a 4
  27. turnos = 0
  28.  
  29. #Ciclo con turnos
  30. while (turnos < 4):
  31.  
  32. #Carga Metodo Matriz para jugar
  33. Matriz()
  34.  
  35. #Agrega un turno
  36. turnos += 1
  37.  
  38. #Despues de contar hasta cuatro pregunta que si quiere seguir jugando
  39. print("¿Desea seguir jugando? 1 = Sí -- 2 = No")
  40. opcion = input()
  41.  
  42. #Carga en caso de seguir jugando
  43. if (int(opcion) == 1):
  44. Juego()
  45. else:
  46. #Termina el juego
  47. print("Gracias por jugar Buscaminas")
  48.  
  49. #Carga Matriz con números
  50. def llenarMatriz ():
  51. for i in range (0,5):
  52. fila = []
  53. for j in range (0,5):
  54. fila.append(random.randint(0,9))
  55. buscaminas.append(fila)
  56.  
  57. def Matriz ():
  58.  
  59. #Carga valores globales
  60. global turno
  61. global jugador1
  62. global jugador2
  63.  
  64. #Turno de jugador 1
  65. if turno:
  66.  
  67. #Solicita coordenada
  68. print("Jugador 1, Favor Ingrese Coordenada: ", end = " ")
  69. coordenada = input()
  70.  
  71. #Divide coordenada
  72. coordenadasSeparadas = coordenada.split(",")
  73.  
  74. #Convierte coordenadas a int
  75. num1 = int(coordenadasSeparadas[0]) - 1
  76. num2 = int(coordenadasSeparadas[1]) - 1
  77. #Una variable de tipo flag para determinar si el jugador dos ya usó esa coordenada, si lo hizo le pedimos otra
  78. approve_movement = None
  79. #Guardamos las coordenadas del jugador 1 en su respectiva lista
  80. lcxy_one.append([num1, num2])
  81. #Recorremos la lista del jugador dos
  82. for coordinate in lcxy_two:
  83. #Para ver si coincide con las coordenadas que el jugador 1 está introduciendo
  84. if coordinate[0] == num1 and coordinate[1] == num2:
  85. #Si son las mismas entonces no lo dejamos avanzar
  86. #ya que hay una condicion mas adelante que exige que approve momento sea verdadero
  87. approve_movement = False
  88. print("Lo sentimos, el jugador numero 2 ya ha escogido esa coordenada ")
  89. else:
  90. #Si las coordenadas no existen entonces seguimos con el proceso normal
  91. approve_movement = True
  92. #La primera vez la lista esta vacía por ende no la recorre, si esta vacía entonces aprobamos el movimiento
  93. if not lcxy_two:
  94. approve_movement = True
  95. #Verificamos que no se salgan las coordenadas de la matriz
  96. if (num1 < 5 and num2 < 5) and approve_movement == True:
  97.  
  98. #Carga ImprimeMatriz, que imprime la matriz (redundancia jeje)
  99. imprimeMatriz(num1, num2)
  100.  
  101. #Después de cargar matriz, si el número es par, suma punto
  102. if ((buscaminas[num1][num2] % 2) == 0 ):
  103. jugador1 += 1
  104. print("Puntaje Jugador 1: " + str(jugador1) + "\nPuntaje Jugador 2: " + str(jugador2))
  105.  
  106. #Cambia booleano para turno del otro jugador
  107. turno = False
  108. else:
  109. #Si se sale entonces se las volvemos a pedir seteando el flag en true que corresponde al jugador uno
  110. turno = True
  111.  
  112. #Mismo procedimiento con Jugador 2, excepto que cuenta puntos por números
  113. #impares
  114. else:
  115. print("Jugador 2, Favor Ingrese Coordenada: ")
  116. coordenada = input()
  117. coordenadasSeparadas = coordenada.split(",")
  118.  
  119. num1 = int(coordenadasSeparadas[0]) - 1
  120. num2 = int(coordenadasSeparadas[1]) - 1
  121. approve_movement = None
  122. lcxy_two.append([num1, num2])
  123. for coordinate in lcxy_one:
  124. if coordinate[0] == num1 and coordinate[1] == num2:
  125. approve_movement = False
  126. print("Lo sentimos, el jugador numero 1 ya ha escogido esa coordenada ")
  127. else:
  128.  
  129. approve_movement = True
  130.  
  131. if not lcxy_one:
  132. approve_movement = True
  133. if num1 < 5 and num2 <5 and approve_movement == True:
  134. imprimeMatriz(num1, num2)
  135. if ((buscaminas[num1][num2] % 2) == 1 ):
  136. jugador2 += 1
  137. turno = True
  138. print("Puntaje Jugador 1: " + str(jugador1) + "\nPuntaje Jugador 2: " + str(jugador2))
  139. else:
  140. turno = False
  141.  
  142. #Imprime Matriz
  143. def imprimeMatriz (columna, fila):
  144.  
  145. #Filas
  146. for i in range (0,5):
  147.  
  148. #Columnas
  149. for j in range (0,5):
  150.  
  151. #Imprime numero en coordinada brindada en parametros
  152. if ((columna == i) and (fila == j)):
  153. print("[" + str(buscaminas[i][j]) + "]", end = " ")
  154.  
  155. #Caso contario, lo imprime vacío
  156. else:
  157. print("[" + " " + "]", end = " ")
  158.  
  159. print("\n")
  160.  
  161. #Llena matriz y ejecuta juego
  162. llenarMatriz()
  163. Bienvenido()
  164. Juego()
Add Comment
Please, Sign In to add comment