Jul-22-2021, 12:48 PM
I'm trying to make a chess game that will highlight the squares that the piece can play in, but to do that I need to change a variable that stores the color of the square using a variable. Here is the start of my code:
import pygame pygame.init() screen = pygame.display.set_mode((800,800)) pygame.display.set_caption('Chess') x = 425 y = 325 h1 = [0,0,120] g1 = [0,0,0] f1 = [0,0,120] e1 = [0,0,0] d1 = [0,0,120] c1 = [0,0,0] b1 = [0,0,120] a1 = [0,0,0] h2 = [0,0,0] g2 = [0,0,120] f2 = [0,0,0] e2 = [0,0,120] d2 = [0,0,0] c2 = [0,0,120] b2 = [0,0,0] a2 = [0,0,120] h3 = [0,0,120] g3 = [0,0,0] f3 = [0,0,120] e3 = [0,0,0] d3 = [0,0,120] c3 = [0,0,0] b3 = [0,0,120] a3 = [0,0,0] h4 = [0,0,0] g4 = [0,0,120] f4 = [0,0,0] e4 = [0,0,120] d4 = [0,0,0] c4 = [0,0,120] b4 = [0,0,0] a4 = [0,0,120] h5 = [0,0,120] g5 = [0,0,0] f5 = [0,0,120] e5 = [0,0,0] d5 = [0,0,120] c5 = [0,0,0] b5 = [0,0,120] a5 = [0,0,0] h6 = [0,0,120] g6 = [0,0,0] f6 = [0,0,120] e6 = [0,0,0] d6 = [0,0,120] c6 = [0,0,0] b6 = [0,0,120] a6 = [0,0,0] h7 = [0,0,120] g7 = [0,0,0] f7 = [0,0,120] e7 = [0,0,0] d7 = [0,0,120] c7 = [0,0,0] b7 = [0,0,120] a7 = [0,0,0] h8 = [0,0,120] g8 = [0,0,0] f8 = [0,0,120] e8 = [0,0,0] d8 = [0,0,120] c8 = [0,0,0] b8 = [0,0,120] a8 = [0,0,0] running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False h1square = pygame.draw.rect(screen, (h1), pygame.Rect(0, 0, 100, 100)) g1square = pygame.draw.rect(screen, (g1), pygame.Rect(100, 0, 100, 100)) f1square = pygame.draw.rect(screen, (f1), pygame.Rect(200, 0, 100, 100)) e1square = pygame.draw.rect(screen, (e1), pygame.Rect(300, 0, 100, 100)) d1square = pygame.draw.rect(screen, (d1), pygame.Rect(400, 0, 100, 100)) c1square = pygame.draw.rect(screen, (c1), pygame.Rect(500, 0, 100, 100)) b1square = pygame.draw.rect(screen, (b1), pygame.Rect(600, 0, 100, 100)) a1square = pygame.draw.rect(screen, (a1), pygame.Rect(700, 0, 100, 100)) a2square = pygame.draw.rect(screen, (a2), pygame.Rect(700, 100, 100, 100)) b2square = pygame.draw.rect(screen, (b2), pygame.Rect(600, 100, 100, 100)) c2square = pygame.draw.rect(screen, (c2), pygame.Rect(500, 100, 100, 100)) d2square = pygame.draw.rect(screen, (d2), pygame.Rect(400, 100, 100, 100)) e2square = pygame.draw.rect(screen, (e2), pygame.Rect(300, 100, 100, 100)) f2square = pygame.draw.rect(screen, (f2), pygame.Rect(200, 100, 100, 100)) g2square = pygame.draw.rect(screen, (g2), pygame.Rect(100, 100, 100, 100)) h2square = pygame.draw.rect(screen, (h2), pygame.Rect(0, 100, 100, 100)) h3square = pygame.draw.rect(screen, (h3), pygame.Rect(0, 200, 100, 100)) g3square = pygame.draw.rect(screen, (g3), pygame.Rect(100, 200, 100, 100)) f3square = pygame.draw.rect(screen, (f3), pygame.Rect(200, 200, 100, 100)) e3square = pygame.draw.rect(screen, (e3), pygame.Rect(300, 200, 100, 100)) d3square = pygame.draw.rect(screen, (d3), pygame.Rect(400, 200, 100, 100)) c3square = pygame.draw.rect(screen, (c3), pygame.Rect(500, 200, 100, 100)) b3square = pygame.draw.rect(screen, (b3), pygame.Rect(600, 200, 100, 100)) a3square = pygame.draw.rect(screen, (a3), pygame.Rect(700, 200, 100, 100)) a4square = pygame.draw.rect(screen, (a4), pygame.Rect(700, 300, 100, 100)) b4square = pygame.draw.rect(screen, (b4), pygame.Rect(600, 300, 100, 100)) c4square = pygame.draw.rect(screen, (c4), pygame.Rect(500, 300, 100, 100)) d4square = pygame.draw.rect(screen, (d4), pygame.Rect(400, 300, 100, 100)) e4square = pygame.draw.rect(screen, (e4), pygame.Rect(300, 300, 100, 100)) f4square = pygame.draw.rect(screen, (f4), pygame.Rect(200, 300, 100, 100)) g4square = pygame.draw.rect(screen, (g4), pygame.Rect(100, 300, 100, 100)) h4square = pygame.draw.rect(screen, (h4), pygame.Rect(0, 300, 100, 100)) h5square = pygame.draw.rect(screen, (h5), pygame.Rect(0, 400, 100, 100)) g5square = pygame.draw.rect(screen, (g5), pygame.Rect(100, 400, 100, 100)) f5square = pygame.draw.rect(screen, (f5), pygame.Rect(200, 400, 100, 100)) e5square = pygame.draw.rect(screen, (e5), pygame.Rect(300, 400, 100, 100)) d5square = pygame.draw.rect(screen, (d5), pygame.Rect(400, 400, 100, 100)) c5square = pygame.draw.rect(screen, (c5), pygame.Rect(500, 400, 100, 100)) b5square = pygame.draw.rect(screen, (b5), pygame.Rect(600, 400, 100, 100)) a5square = pygame.draw.rect(screen, (a5), pygame.Rect(700, 400, 100, 100)) h6square = pygame.draw.rect(screen, (h6), pygame.Rect(700, 500, 100, 100)) g6square = pygame.draw.rect(screen, (g6), pygame.Rect(600, 500, 100, 100)) f6square = pygame.draw.rect(screen, (f6), pygame.Rect(500, 500, 100, 100)) e6square = pygame.draw.rect(screen, (e6), pygame.Rect(400, 500, 100, 100)) d6square = pygame.draw.rect(screen, (d6), pygame.Rect(300, 500, 100, 100)) c6square = pygame.draw.rect(screen, (c6), pygame.Rect(200, 500, 100, 100)) b6square = pygame.draw.rect(screen, (b6), pygame.Rect(100, 500, 100, 100)) a6square = pygame.draw.rect(screen, (a6), pygame.Rect(0, 500, 100, 100)) h7square = pygame.draw.rect(screen, (h7), pygame.Rect(0, 600, 100, 100)) g7square = pygame.draw.rect(screen, (g7), pygame.Rect(100, 600, 100, 100)) f7square = pygame.draw.rect(screen, (f7), pygame.Rect(200, 600, 100, 100)) e7square = pygame.draw.rect(screen, (e7), pygame.Rect(300, 600, 100, 100)) d7square = pygame.draw.rect(screen, (d7), pygame.Rect(400, 600, 100, 100)) c7square = pygame.draw.rect(screen, (c7), pygame.Rect(500, 600, 100, 100)) b7square = pygame.draw.rect(screen, (b7), pygame.Rect(600, 600, 100, 100)) a7square = pygame.draw.rect(screen, (a7), pygame.Rect(700, 600, 100, 100)) h8square = pygame.draw.rect(screen, (h8), pygame.Rect(700, 700, 100, 100)) g8square = pygame.draw.rect(screen, (g8), pygame.Rect(600, 700, 100, 100)) f8square = pygame.draw.rect(screen, (f8), pygame.Rect(500, 700, 100, 100)) e8square = pygame.draw.rect(screen, (e8), pygame.Rect(400, 700, 100, 100)) d8square = pygame.draw.rect(screen, (d8), pygame.Rect(300, 700, 100, 100)) c8square = pygame.draw.rect(screen, (c8), pygame.Rect(200, 700, 100, 100)) b8square = pygame.draw.rect(screen, (b8), pygame.Rect(100, 700, 100, 100)) a8square = pygame.draw.rect(screen, (a8), pygame.Rect(0, 700, 100, 100)) pawn1 = pygame.draw.rect(screen, (255,255,255), pygame.Rect(x, y, 50, 50)) pos = pygame.mouse.get_pos() pressed1, pressed2, pressed3 = pygame.mouse.get_pressed() if pawn1.collidepoint(pos) and pressed1: coords = pygame.mouse.get_pos() xcoord = coords[0] / 100 ycoord = coords[1] / 100 if ycoord > 7: ycoord = "8" elif 6 < ycoord < 7: ycoord = "7" elif 5 < ycoord < 6: ycoord = "6" elif 4 < ycoord < 5: ycoord = "5" elif 3 < ycoord < 4: ycoord = "4" elif 2 < ycoord < 3: ycoord = "3" elif 1 < ycoord < 2: ycoord = "2" elif ycoord < 1: ycoord = "1" if xcoord > 7: xcoord = "a" elif 6 < xcoord < 7: xcoord = "b" elif 5 < xcoord < 6: xcoord = "c" elif 4 < xcoord < 5: xcoord = "d" elif 3 < xcoord < 4: xcoord = "e" elif 2 < xcoord < 3: xcoord = "f" elif 1 < xcoord < 2: xcoord = "g" elif xcoord < 1: xcoord = "h" upto = int(ycoord) + 1 print(xcoord + str(upto)) xcoord + str(upto) = var var = [255,255,255] pygame.display.update()Using this code I can get the name of the square that the pawn is in, but to do anything with that I have to call upon a variable using this. Thanks!