回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>(这个问题措辞不太好,所以如果你认为你能把它改写得更好,那就请改一下。)
我基本上有十个窗格,几乎是相同的PyGame屏幕上显示。然而,代码是愚蠢的长,所以我想知道是否有一个更好的方法来做我所做的事情。你知道吗</p>
<pre><code>def addPane(self, textToDisplay):
#right now it is displaying them all change so that it checks how many
#panes are on through (numberOfPanes = 0) 10 is limit display no more
#than ten.
paneOne = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneTwo = pygame.draw.rect(self.screen, (black), (0, 0, 200, 100), 2)
paneThree = pygame.draw.rect(self.screen, (black), (600, 400, 200, 100), 2)
paneFour = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneFive = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneSix = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneSeven = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneEight = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneNine = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
paneTen = pygame.draw.rect(self.screen, (black), (175, 75, 200, 100), 2)
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneOne
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneTwo
self.screen.blit(self.font.render(textToDisplay, True, (black)), (250, 115))
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneThree
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneThree
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneFour
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneFive
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneSix
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneSeven
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneEight
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneNine
self.NoOfPanes = self.NoOfPanes + 1
if self.NoOfPanes > 10:
print("Limit reached")
else:
paneTen
self.NoOfPanes = self.NoOfPanes + 1
pygame.display.update()
</code></pre>
<p>它看起来像什么:
<img src="https://i.stack.imgur.com/fRMNJ.png" alt="Code when run"/></p>
<p>写在函数中的文本就是我想要实现的。我已经这样做了,但正如我前面所说的,这是愚蠢的长。这是实现我已有成果的最佳方式还是有更好的方式?你知道吗</p>
<p>(稍后我将更改坐标,以便所有十个窗格都可见,但出于测试目的,我这样做了。)</p>