Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '''
- Created on 06/03/2013
- @author: pablo
- '''
- from genericpath import exists
- def cria_matriz():
- mfile = open('my_matrix.txt')
- line = mfile.readline()
- dimension = [ int(line.split(' ')[0]), int(line.split(' ')[1]) ]
- mat = []
- for i in range(dimension[0]):
- line = mfile.readline()
- mat.append( [ int(s) for s in line.split(' ') ] )
- mfile.close()
- return mat
- def final_matriz():
- mat = [[1,2,3],
- [8,0,4],
- [7,6,5]]
- return mat
- def mostra_matriz(mat):
- for i in range(len(mat)):
- for j in range(len(mat[i])):
- print mat[i][j],
- print '\n',
- print '\n',
- def change_pos(mat, pos1, pos2):
- mat[pos1[0]][pos1[1]] , mat[pos2[0]][pos2[1]] = mat[pos2[0]][pos2[1]] , mat[pos1[0]][pos1[1]]
- def search_zero(mat):
- for i in range(len(mat)):
- for j in range(len(mat[i])):
- if mat[i][j] == 0:
- return i,j
- def game(mat1, mat2):
- while verifica_matriz(mat1, mat2) != 1:
- i,j = search_zero(mat1)
- print mat1[i][j]
- if mat1[i][j] == 0:
- up_matriz(mat1, (i,j))
- mostra_matriz(mat1)
- i,j = search_zero(mat1)
- left_matriz(mat1, (i,j))
- mostra_matriz(mat1)
- i,j = search_zero(mat1)
- rigth_matriz(mat1, (i,j))
- mostra_matriz(mat1)
- i,j = search_zero(mat1)
- down_matriz(mat1, (i, j))
- mostra_matriz(mat1)
- def verifica_matriz(mat1,mat2):
- if mat1 == mat2:
- return 1
- else:
- return 0
- def up_matriz(mat, pos):
- i,j = pos
- if i != 0:
- mat[i][j], mat[i-1][j] = mat[i-1][j], mat[i][j]
- else:
- print 'Nao existe posicao'
- def left_matriz(mat, pos):
- i,j = pos
- if j != 0:
- mat[i][j], mat[i][j-1] = mat[i][j-1], mat[i][j]
- else:
- print 'Nao existe posicao'
- def rigth_matriz(mat, pos):
- i, j = pos
- if j != 2:
- mat[i][j], mat[i][j+1] = mat[i][j+1], mat[i][j]
- else:
- print 'Nao existe posicao'
- def down_matriz(mat, pos):
- i,j = pos
- if i != 2:
- mat[i][j], mat[i+1][j] = mat[i+1][j], mat[i][j]
- else:
- print 'Nao existe posicao'
- mat1 = cria_matriz()
- mat2 = final_matriz()
- mostra_matriz(mat1)
- #change_pos(mat1,[2,0],[1,2])
- #up_matriz(mat1,(0,0))
- #left_matriz(mat1, (0,1))
- #rigth_matriz(mat1, (0,1))
- #down_matriz(mat1, (1,0))
- search_zero(mat1)
- game(mat1,mat2)
- verifica_matriz(mat1, mat2)
- mostra_matriz(mat1)
Advertisement
Add Comment
Please, Sign In to add comment