Movement siplified and implemented more keys
This commit is contained in:
@@ -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():
|
||||||
|
|||||||
Reference in New Issue
Block a user