python编程学习-woodworm关卡编辑器 学习python编程,在新东方少儿编程官网的自由创作平台做的一些作品 。hanyeah-python编程学习-woodworm小游戏的关卡编辑器自己做了个关卡地图生成器,代码如下:from xdf import * W = 768 H = 1024 N = 10 CW = 40 colors = ["white", "yellow", "red", "blue"] OX = 0 OY = (H - CW * N) // 2 bits = [] def xy2ij(x, y): return [int((x - OX)/CW),int((y-OY)/CW)] def ij2xy(i,j): return [OX+i*CW,OY+j*CW] def tapB(self): if self.c == 0: setB(self, 1) else: setB(self, 0) for i in range(N): bits.append([]) for j in range(N): xy = ij2xy(i,j) b = box(xy[0],xy[1],CW,CW,"white","black") bits[i].append(b) b.c = 0 b.tap = tapB def setB(b, c): b.change(colors[c],"black") b.c = c def shuchu(): minI = N minJ = N maxI = 0 maxJ = 0 for i in range(N): for j in range(N): if bits[i][j].c: if i > maxI: maxI = i if i < minI: minI = i if j > maxJ: maxJ = j if j < minJ: minJ = j a = [] for i in range(minI, maxI + 1): b = [] a.append(b) for j in range(minJ, maxJ + 1): b.append(bits[i][j].c) print(maxI-minI+1, maxJ-minJ+1) print(a) text("输出", W/2, 30, "red", "center").tap=shuchu def chongzhi(): for i in range(N): f = False for j in range(N): setB(bits[i][j], 0) text("重置", W, 30, "red", "right").tap=chongzhi 发表留言:取消回复 名称(*) 邮箱 网站链接 正文(*)(留言最长字数:1000)