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!