#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import os
import time
import random
def CrearMatriz():
matriz = []
for i in range (8):
matriz.append([0]*8)
return matriz
def ImprimirMatriz(matriz):
for x in range(1,7):
for y in range(1,7):
print matriz[y][x],
print
def GolpeaMatriz(matriz, fila, columna):
if (matriz[fila][columna]>0):
matriz[fila][columna] = matriz[fila][columna]-1
else:
matriz[fila][columna] = 3
if (matriz[fila-1][columna]>0):
matriz[fila-1][columna] = matriz[fila-1][columna]-1
else:
matriz[fila-1][columna] = 3
if (matriz[fila+1][columna]>0):
matriz[fila+1][columna] = matriz[fila+1][columna]-1
else:
matriz[fila+1][columna] = 3
if (matriz[fila][columna-1]>0):
matriz[fila][columna-1] = matriz[fila][columna-1]-1
else:
matriz[fila][columna-1] = 3
if (matriz[fila][columna+1]>0):
matriz[fila][columna+1] = matriz[fila][columna+1]-1
else:
matriz[fila][columna+1] = 3
def SumaMatriz(matriz, fila, columna):
if (matriz[fila][columna]<3):
matriz[fila][columna] = matriz[fila][columna]+1
else:
matriz[fila][columna] = 0
if (matriz[fila-1][columna]<3):
matriz[fila-1][columna] = matriz[fila-1][columna]+1
else:
matriz[fila-1][columna] = 0
if (matriz[fila+1][columna]<3):
matriz[fila+1][columna] = matriz[fila+1][columna]+1
else:
matriz[fila+1][columna] = 0
if (matriz[fila][columna-1]<3):
matriz[fila][columna-1] = matriz[fila][columna-1]+1
else:
matriz[fila][columna-1] = 0
if (matriz[fila][columna+1]<3):
matriz[fila][columna+1] = matriz[fila][columna+1]+1
else:
matriz[fila][columna+1] = 0
def GeneraNivel(matriz, nivel):
for x in range(nivel*3):
fila = random.randint(1,6)
columna = random.randint(1,6)
SumaMatriz(matriz, fila, columna)
return matriz
print
matriz = CrearMatriz()
ListaFila = []
ListaColumna = []
numerogolpes = 0
print
nombre = raw_input('Introduzca un nombre: ')
print
nivel = int(raw_input('Introduzca un nivel del 1 al 9: '))
while (nivel < 1) or (nivel > 9):
nivel = int(raw_input('Introduzca un nivel del 1 al 9: '))
matriz = GeneraNivel(matriz, nivel)
print
os.system('clear')
ImprimirMatriz(matriz)
print
print
tecla = raw_input('''(P) Introducir posicion (S) Salir del juego
(N) Nueva partida (D) Deshacer movimiento
Pulse una tecla: ''')
while (tecla != 'S') or (tecla != 's'):
if (tecla == 'P') or (tecla == 'p'):
print
fila = int(raw_input('Introduzca una fila: '))
while (fila < 1) or (fila > 6):
fila = int(raw_input('Introduzca una fila: '))
columna = int(raw_input('Introduzca una columna: '))
while (columna < 1) or (columna > 6):
columna = int(raw_input('Introduzca una columna: '))
GolpeaMatriz(matriz, columna, fila)
numerogolpes = numerogolpes + 1
ListaFila.append(fila)
ListaColumna.append(columna)
print
os.system('clear')
ImprimirMatriz(matriz)
puntuacion = float(numerogolpes/3*nivel)
exito = True
for x in range(1,7):
for y in range(1,7):
if (matriz[y][x] != 0):
exito = False
if (exito == True):
print
print 'Enhorabuena ',nombre,' has terminado el juego.'
print
print 'Puntuacion: ',puntuacion
print
print
C = {"N": nombre,"P": puntuacion}
CN = (C["N"])
CP = str((C["P"]))
f = open("R.txt","a")
f.write(CP)
f.write(" puntuacion de ")
f.write(CN)
f.write("\n")
f.close()
print
print
print
print
elif (tecla == 'S') or (tecla == 's'):
break
elif (tecla == 'D') or (tecla =='d'):
SumaMatriz(matriz, columna, fila)
if (numerogolpes > 0):
numerogolpes = numerogolpes - 1
ListaFila.pop()
ListaColumna.pop()
print
os.system('clear')
ImprimirMatriz(matriz)
print
elif (tecla == 'N') or (tecla == 'n'):
nivel = int(raw_input('Introduzca un nivel del 1 al 9: '))
matriz = CrearMatriz()
GeneraNivel(matriz,nivel)
os.system('clear')
ImprimirMatriz(matriz)
print
tecla = raw_input('''(P) Introducir posicion (S) Salir del juego
(N) Nueva partida (D) Deshacer movimiento
Pulse una tecla: ''')