Exemplo n.º 1
0
 def _up(self):
     self.board = l.transp(self.board)
     self.board = l.compress(self.board)
     self.board = l.merge(self.board)
     self.board = l.compress(self.board)
     self.board = l.transp(self.board)
     self.board = l.generate_number(self.board)
Exemplo n.º 2
0
 def _right(self):
     self.board = l.reverse(self.board)
     self.board = l.compress(self.board)
     self.board = l.merge(self.board)
     self.board = l.compress(self.board)
     self.board = l.reverse(self.board)
     self.board = l.generate_number(self.board)
Exemplo n.º 3
0
 def _down(self):
     self.board = l.transp(self.board)
     self.board = l.reverse(self.board)
     self.board = l.compress(self.board)
     self.board = l.merge(self.board)
     self.board = l.compress(self.board)
     self.board = l.reverse(self.board)
     self.board = l.transp(self.board)
     self.board = l.generate_number(self.board)
Exemplo n.º 4
0
import logic as l

### GENERATE BOARD AND FIRST NUMBER ###
print(
    "Welcome in game 2048!\nPlayable moves:\n'a' -> LEFT\n'd' -> RIGHT\n'w' -> UP\n's' -> DOWN\n"
    + "-" * 20)
board = [[0 for i in range(4)] for i in range(4)]
board = l.generate_number(board)
l.p_board(board)

### GAME LOOP
while l.game:
    user_input = input()
    if user_input == "a":  # LEFT
        board = l.compress(board)
        board = l.merge(board)
        board = l.compress(board)
        board = l.generate_number(board)
        l.p_board(board)
    elif user_input == "d":  # RIGHT
        board = l.reverse(board)
        board = l.compress(board)
        board = l.merge(board)
        board = l.compress(board)
        board = l.reverse(board)
        board = l.generate_number(board)
        l.p_board(board)
    elif user_input == "w":  # UP
        board = l.transp(board)
        board = l.compress(board)
        board = l.merge(board)
Exemplo n.º 5
0
 def _left(self):
     self.board = l.compress(self.board)
     self.board = l.merge(self.board)
     self.board = l.compress(self.board)
     self.board = l.generate_number(self.board)
Exemplo n.º 6
0
import logic

mat = [[0, 1, 2, 0], [4, 6, 6, 0], [8, 0, 6, 11], [12, 13, 0, 15]]
print("origin", mat)

print("reverse", logic.reverse(mat))
print("transpose", logic.transpose(mat))
print("cover_up", logic.cover_up(mat))
print("merge", logic.merge(mat, True))

# output:
# [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]]
# [[3, 2, 1, 0], [7, 6, 5, 4], [11, 10, 9, 8], [15, 14, 13, 12]]
# [[0, 4, 8, 12], [1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15]]
# ([[1, 2, 3, 0], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]], True)
# ([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15]], True, 0, 0)