Movement siplified and implemented more keys
This commit is contained in:
@@ -43,34 +43,39 @@ def movement():
|
||||
global board_reset
|
||||
moved=False
|
||||
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):
|
||||
# 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]
|
||||
board[i:i+board_line]=game_logic(rl[::-1])[::-1]
|
||||
elif m == 'u':
|
||||
board[i:i+board_line] = rev(rl)
|
||||
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
|
||||
print(board)
|
||||
#raise ValueError('Can not move this way')
|
||||
else:
|
||||
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)
|
||||
|
||||
def print_board():
|
||||
|
||||
Reference in New Issue
Block a user