"""
游戏逻辑控制器,负责处理游戏核心算法。
"""
from model import DirectionModel
from model import Location
import random
class GameCoreController:
def __init__(self):
self.__list_merge = None
self.__map =[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],]
self.__list_empty_location =[]
@property
def map(self):return self.__map
def __zero_to_end(self):"""
零元素移至末尾
"""
for i in range(-1,-len(self.__list_merge)-1,-1):if self.__list_merge[i]==0:
del self.__list_merge[i]
self.__list_merge.append(0)
def __merge(self):"""
合并
"""
self.__zero_to_end()for i in range(len(self.__list_merge)-1):if self.__list_merge[i]== self.__list_merge[i +1]:
#将后一个累加前一个之上
self.__list_merge[i]+= self.__list_merge[i +1]
del self.__list_merge[i +1]
self.__list_merge.append(0)
def __move_left(self):"""
向左移动
"""
for line in self.__map:
self. __list_merge = line
self.__merge()
def __move_right(self):"""
向右移动
"""
for line in self.__map:
self.__list_merge = line[::-1]
self.__merge()
line[::-1]= self.__list_merge
def __move_up(self):
self.__square_matrix_transpose()
self.__move_left()
self.__square_matrix_transpose()
def __move_down(self):
self.__square_matrix_transpose()
self.__move_right()
self.__square_matrix_transpose()
def __square_matrix_transpose(self)