Movement siplified and implemented more keys

This commit is contained in:
2020-04-25 19:08:35 +03:00
parent edc148c8b8
commit 06d53ab9fe
+26 -21
View File
@@ -43,34 +43,39 @@ def movement():
global board_reset global board_reset
moved=False moved=False
board_temp=copy.deepcopy(board) board_temp=copy.deepcopy(board)
#TODO: Simplify movement
if m == 'h': undo = ['u','r']
up = ['k','w'] #straight
left = ['h','a'] #straight
down = ['j','s'] #back
right = ['l','d'] #back
line = left + right
column = up + down
def rev(rl):
if m in left + up:
gl = game_logic(rl) #k
else:
gl = game_logic(rl[::-1])[::-1] #j
return gl
if m in line:
for i in range(0,board_size,board_line): for i in range(0,board_size,board_line):
# print('line',i)
board[i:i+board_line]=game_logic(board[i:i+board_line])
elif m == 'j':
for i in range(board_line):
rl = board[i::board_line]
# print('column',i)
board[i::board_line]=game_logic(rl[::-1])[::-1]
elif m == 'k':
for i in range(board_line):
# print('column',i)
rl = board[i::board_line]
board[i::board_line]=game_logic(rl)
elif m == 'l':
for i in range(0,board_size,board_line):
# print('line',i)
rl = board[i:i+board_line] rl = board[i:i+board_line]
board[i:i+board_line]=game_logic(rl[::-1])[::-1] board[i:i+board_line] = rev(rl)
elif m == 'u': elif m in column:
for i in range(board_line):
rl = board[i::board_line]
board[i::board_line] = rev(rl)
elif m in undo:
board=board_reset board=board_reset
print(board) print(board)
#raise ValueError('Can not move this way')
else: else:
raise ValueError('Can not move this way') raise ValueError('Can not move this way')
if m != 'u' and moved == True: if m not in undo and moved == True:
board_reset=copy.deepcopy(board_temp) board_reset=copy.deepcopy(board_temp)
def print_board(): def print_board():