猫史档案馆


【Python作品分享】2048【作品秀】

用户:疯掉的星能猫7s5g疯掉的星能猫7s5g查看:0 回复:0 评论:0 创建时间:2021-06-07T13:42:41


【作品展示】

center_image

 

【作品介绍】

还没完成呢~

 

【作品源代码】

import random
import sys
import pygame


from pygame.locals import*

PIXEL = 150
SCORE_PIXEL = 100
SIZE = 4

# 地图的类

class Map:
    def __init__(self,size):
        self.size=size
        self.score=0
        self.map = [[0 for i in range(size)]for i in range(size)]
        self.add()
        self.add()

    #新增2或4,有1/4概率产生4
    def add(self):
        while True:
            p=random.randint(0,self.size * self.size - 1)
            if self.map[p // self.size]  [p%self.size] ==0:
                x=random.randint(0,3) > 0 and 2 or 4
                self.map[p // self.size][p%self.size] = x
                self.score+=x
                break

    def adjust(self):
        changed = False
        for a in self.map:
            b = []
            last = 0
            for v in a:
                if v != 0:
                    if v == last:
                        b.append(b.pop() << 1)
                        last = 0
                    else:
                        b.append(v)
                        last = v
                    b += [0] * (self.size - len(b)) 
                    for i in range(self.size):
                        if a[i] != b[i]:
                            changed = True
                        a[:] = b
                    return changed

                def rotate90(self):
                    self.map = [[self.map[c][r]
                        for c in range(self.size)] for i in reversed(range(self.size))]
                            
    def over(self):
        for r in range(self.size):
            for c in range(self.size - 1):
                if self.map[r][c] == self.map[r][c+1]:
                    return False    

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页