self.field = [[0 for i in range(self.width)] for j in range(self.height)]什么意思?

class GameField(object):

    def __init__(self, height=4, width=4, win=2048):#初始化棋盘的参数,可以指定棋盘的高和宽以及游戏胜利条件,默认是最经典的 4x4~2048。

        self.height = height       #高

        self.width = width         #宽

        self.win_value = 2048      #过关分数

        self.score = 0             #当前分数

        self.highscore = 0         #最高分

        self.reset()               #棋盘重置


    def reset(self):#重置棋盘

        if self.score > self.highscore:

            self.highscore = self.score

        self.score = 0

       self.field = [[0 for i in range(self.width)] for j in range(self.height)]

        self.spawn()

        self.spawn()



潇洒的白杨树
浏览 2837回答 2
2回答

Camel97

这个东西叫列表生成式。详细信息可以百度。 这里是生成一个二维数组。其中,第一维长度是self.width。第二维长度为self.height。联系你的棋盘,这个相当于把你棋盘上每一个下棋的地方(横纵线交叉产生的方格)赋值为0。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python