Я пытаюсь пометить 'P' как текст на шахматной доске. Даже после предыдущей справки о том, как блицать квадраты, я не могу сделать это с текстом.
В эту разновидность шахматной игры играют с пикинером, лучниками и рыцарями. 'P' обозначает pikeman.
В будущем я покажу спрайт, но на данный момент я хотел бы отобразить буквы (также, потому что это может быть полезно для графического интерфейса)
class Unit:
def __init__(self):
self.surface = pygame.Surface((100, 100))
self.my_font = pygame.font.SysFont('Time New Roman', 18)
self.img = self.my_font.render('P', 1, (255, 0, 0))
self.surface.blit(self.img, (100, 100))
По сути, я пытаюсь создать поверхность, установить шрифт, отобразить его и сделать блик на созданной поверхности.
Здесь и далее полный код дисплея:
import pygame
import sys
from coordinator import coordinator
# Sets up the display
pygame.init()
window_size = (800, 800)
game_window = pygame.display.set_mode(size=window_size)
pygame.display.set_caption('My Game')
class WhiteSquare:
def __init__(self):
self.height = int(window_size[0] / 8)
self.width = int(window_size[1] / 8)
self.white_square = pygame.Surface((self.height, self.width))
self.white_square.fill((255, 255, 255))
class BlackSquare:
def __init__(self):
self.height = int(window_size[0] / 8)
self.width = int(window_size[1] / 8)
self.black_square = pygame.Surface((self.height, self.width))
self.black_square.fill((0, 0, 0))
class ChessBoard:
def __init__(self):
self.ws = ws
self.bs = bs
self.white_columns = white_columns
self.black_columns = black_columns
def draw(self):
for columns in self.white_columns:
game_window.blit(self.ws.white_square, columns)
for columns in self.black_columns:
for destination in columns:
game_window.blit(self.bs.black_square, destination)
class Unit:
def __init__(self):
self.surface = pygame.Surface((100, 100))
self.my_font = pygame.font.SysFont('Time New Roman', 18)
self.img = self.my_font.render('P', 1, (255, 0, 0))
self.surface.blit(self.img, (100, 100))
coordinator = coordinator()
black_columns = coordinator[2], coordinator[3]
white_columns = coordinator[0] + coordinator[1]
#print('coordinator' + str(coordinator))
#print('w_columns' + str(w_columns))
ws = WhiteSquare()
bs = BlackSquare()
cb = ChessBoard()
u = Unit()
# Event loop (outer)
while 1:
# Event loop (inner)
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
cb.draw()
pygame.display.update()
Надеюсь, это имеет смысл.
Спасибо