微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决带有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 举报,一经查实,本站将立刻删除。