0

(質問はあまりうまく言い表せていないので、もっとうまく言い換えることができると思われる場合は、そうしてください。) 基本的に、PyGame 画面に表示されるほぼ同一の 10 個のペインがあります。しかし、コードはばかげて長いので、私が行ったことを行うためのより良い方法があるかどうか疑問に思っていました.

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()

それはどのようなものか: 実行時のコード

関数に書かれているテキストは、私が達成したいものです。私はこれをしましたが、前に言ったように、ばかげて長いです。これは私がすでに持っている結果を達成するための最良の方法ですか、それともより良い方法がありますか?

(後で座標を変更して、10 個のペインすべてが表示されるようにしますが、テスト目的でこのようにしました。)

4

2 に答える 2