0

Hi i have been getting this window when i launch The weird image the code and this

error in my eventlog "Traceback (most recent call last): File "/Users/asgerandersen/PycharmProjects/Skak/Skak/ChessMain.py", line 75, in main() File "/Users/asgerandersen/PycharmProjects/Skak/Skak/ChessMain.py", line 40, in main drawGameState(screen, gs) File "/Users/asgerandersen/PycharmProjects/Skak/Skak/ChessMain.py", line 50, in drawGameState drawBoard(screen) #tegner brætter på vinduet. File "/Users/asgerandersen/PycharmProjects/Skak/Skak/ChessMain.py", line 59, in drawBoard colors = [p.color("white"), p.color("grey")] TypeError: 'module' object is not callable"

I can´t figure out the thing thats wrong.

All the notes are in danish, but that doesn't matter.

I am also including some pictures if that will help you help me :) Pic 2 I am also including the oth python file under this code.

"""
Det her er den overordenede 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()


the 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", "sL", "sS", "sT"],
            ["sB", "sB", "sB", "sB", "sB", "sB", "sB", "sB"],
            ["--", "--", "--", "--", "--", "--", "--", "--"],
            ["--", "--", "--", "--", "--", "--", "--", "--"],
            ["--", "--", "--", "--", "--", "--", "--", "--"],
            ["--", "--", "--", "--", "--", "--", "--", "--"],
            ["hB", "hB", "hB", "hB", "hB", "hB", "hB", "hB"],
            ["hT", "hS", "hL", "hD", "hK", "hL", "hS", "hT"]
        ]
        self.whiteToMove = True
        self.moveLog = []
Midget
  • 1
  • 1
  • The file path must be relative to the current working directory. The current working directory can be different from the directory of the Python source file. – Rabbid76 Jul 17 '21 at 21:54

0 Answers0