需要在python中显示二维数组的帮助吗
我需要为《奥赛罗》的游戏创建一个网格,并开始使用pygame,但我发现在用python编程pygame时,我不能使用它需要在python中显示二维数组的帮助吗,python,arrays,pygame,Python,Arrays,Pygame,我需要为《奥赛罗》的游戏创建一个网格,并开始使用pygame,但我发现在用python编程pygame时,我不能使用它 我需要关于如何转换代码的帮助,这样我就可以在不使用pygame的情况下显示相同的网格,而只使用python 抱歉,如果这是一个令人困惑的问题,因为我是编程新手,没有幸在网上搜索 代码: 导入pygame pygame.init() def初始仪表板(n): #设置最大n值 如果(n你的作业似乎与你将在中找到的示例代码非常相似。它通过使用标准字体和标准库为棋盘游戏构建网格来解释f
我需要关于如何转换代码的帮助,这样我就可以在不使用pygame的情况下显示相同的网格,而只使用python 抱歉,如果这是一个令人困惑的问题,因为我是编程新手,没有幸在网上搜索 代码:
导入pygame
pygame.init()
def初始仪表板(n):
#设置最大n值
如果(n你的作业似乎与你将在中找到的示例代码非常相似。它通过使用标准字体和标准库为棋盘游戏构建网格来解释factory模式的使用。M.Summerfield的解释比我更好,但基本上它旨在创建一个字符网格来替换棋盘,同时使用最大的工厂模式的抽象,甚至还有字体,你可以用来制作一个漂亮的奥赛罗游戏
希望这对你有用。干杯我不能在用python编程时使用pygame——为什么不呢?转换我的代码——你想把它转换成什么?我的讲师说,无论出于什么原因,我都不能在我的作业中使用pygame,我只想能够在普通python中做同样的事情,如果这样做有意义的话。或者你应该看看更好的是,你的讲师似乎对他/她希望看到你的代码的形式有了一个想法,也许你应该让他们了解更多的方向。这就是他们真正能给我们的所有信息,所以海龟是绘制网格的最佳方法吗?@user3591883 Python标准库不包含通用图形库libr白羊座-在这里使用外部图书馆是明智的做法-我建议你联系你的老师,并检查这是他们的意图。
import pygame
pygame.init()
def initialiseBoard(n):
#Set max n value
if(n<20):
#Define colours
BLACK = (0, 0, 0,)
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED = ( 255, 0, 0)
#Create a 2 dimensional array
grid = []
for row in range(n):
grid.append([])
for column in range(n):
grid[row].append(0)
#Set width and heigh for each square and margin between them
width = 20
height = 20
margin = 5
size = [510, 510]
screen = pygame.display.set_mode(size)
#Create the starting positions
grid[n//2-1][n//2]=1
grid[(n//2)][(n//2)]=2
grid[n//2][n//2-1]=1
grid[(n//2-1)][(n//2)-1]=2
#Draw the grid
screen.fill(RED)
for row in range(n):
for column in range(n):
color = GREEN
if grid[row][column] == 1:
color = WHITE
if grid[row][column] == 2:
color = BLACK
pygame.draw.rect(screen,
color,
[(margin+width)*column+margin,
(margin+height)*row+margin,
width,
height])
pygame.display.flip()
else:
print("The grid must be less than 20x20, please reenter a smaller value")