带有pythons pygame的mac os中的奇怪图像

问题描述

嗨,我在启动代码时收到了 this image

这意味着棋局/引擎的开始。这是一项正在进行的工作。

有两个python文件。第一个是包含主驱动程序的,它负责用户输入和当前的 GameState。第二个文件负责所有合法的走法,保存有关游戏当前状态的信息,它将跟踪所有过去的走法。

other image

代码: 笔记是丹麦语,别介意。

"""
Det her er den overordnede driver fil. Den vil holde styr på alle bruger inputs og vise spillet GameState objekter.
"""

import pygame as p
from Skak import ChessEngine
from tkinter import *
p.init()
WIDTH = HEIGHT = 512 #512 er stort nok til at det ikke er for småt,og smpt nok til at det ikke ser dårligt ud
DIMENSIONS = 8 #Dimensionerne af et skakbræt
SQ_SIZE = HEIGHT // DIMENSIONS
FPS = 30 #Til animationer
IMAGES = ()

"""
Et globalt lærrer af billeder,der nøjagtig vil bliver kaldt en gang.
"""
#def loadImages():
    #pieces = ['hB','hT','hS','hL','hD','hK','sB','sT','sS','sL','sD','sK']
    #for piece in pieces:
        #IMAGES[piece] = p.transform.scale(p.image.load("images/" + piece + ".png"),(SQ_SIZE,SQ_SIZE))
    #Jeg har tilgang til et billede ved at sige "IMAGES('hB')

"""
Overordnede driver for min kode. Det her vil have styr på input og opdatering af grafik
"""
def main():
    p.init()
    screen = p.display.set_mode((WIDTH,HEIGHT))
    clock = p.time.Clock()
    screen.fill(p.Color("white"))
    gs = ChessEngine.GameState()
    #loadImages() #Kun gøres en gang,før While loopet

    running = True
    while running:
        for e in p.event.get():
            if e.type == p.QUIT:
                running = False
    drawGameState(screen,gs)
    clock.tick(FPS)
    p.display.flip()


"""
Ansvarlig for grafikken for nutidens GameState
"""

def drawGameState(screen,gs):
    drawBoard(screen) #tegner brætter på vinduet.
    #Tilføje brikker,vise forskellige træk.
    drawPieces(screen,gs.board) #tegner brikkerne oven på brættet.

"""
Tegner firkanterne på brættet
"""

def drawBoard(screen):
    colors = [p.color("white"),p.color("grey")]
    for r in range(DIMENSIONS):
        for c in range(DIMENSIONS):
            color = colors[((r+c)%2)]
            p.draw.rect(screen,color,p.Rect(c*SQ_SIZE,r*SQ_SIZE,SQ_SIZE,SQ_SIZE))


"""
Tegner brikkerne på brættet ved brug af nutidens GameState.board
"""

def drawPieces():
    pass


if __name__ == "__main__":
    main()
```
**

other code:

**

```
"""
Er til for at holde styr på alle informationerne om skakspillet. Den vil også holde styr på hvilke træk der er korrekte.
Den vil også holde skrift over alle forige træk.
"""

class GameState():
    def __init__(self):
        #Brættet er et 8 gange 8 2d liste,hvor hvert element af listen har to bogstaver.
        #Det første bogstav bestemmer farven af brikken,mens den andet bogstav bestemmer typen.
        #Et tomt felt beskrives med to bindestrege "--",da det er en string.
        #Det betyder at jeg ikke ændre feltet til en string når brættet skal opdateres,hvis en brik har rykket sig.
        self.board = [
            ["sT","sS","sL","sD","sK","sT"],["sB","sB","sB"],["--","--","--"],["hB","hB","hB"],["hT","hS","hL","hD","hK","hT"]
        ]
        self.whitetoMove = True
        self.moveLog = []

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)