Я изучаю pygame, создавая некоторые основные игры, в следующем, я пытаюсь сделать головоломку памяти, где есть 4 формы с 4 цветами, скрытыми за черными картами/обложками, пользователь должен щелкнуть по одной черной карте/чтобы выявить фигуру позади нее и должен соответствовать ей с другой формой с тем же цветом, гадая.Как удалить конкретный файл pygame.draw?
код я пришел с до сих пор для этих карт
import pygame as pg
import sys
import random
window_wth = 720
window_hgt = 360
window_resolution = window_wth, window_hgt
fps = 15
card_wth = 72
card_hgt = 92
gap_x = 77
gap_y = 97
c1 = (random.randrange(255), random.randrange(255), random.randrange(255))
c2 = (random.randrange(255), random.randrange(255), random.randrange(255))
c3 = (random.randrange(255), random.randrange(255), random.randrange(255))
c4 = (random.randrange(255), random.randrange(255), random.randrange(255))
bkg_colour = (30, 30, 30)
pg.display.set_caption("Game")
main_display = pg.display.set_mode(window_resolution)
pos_x = int((window_wth % gap_x)/2)
pos_y = int((window_hgt % gap_y)/2)
def list_draw_rct(tt_pos_x, tt_pos_y):
rect_areas1 = []
for x in range(tt_pos_x, window_wth - gap_x, gap_x):
for y in range(tt_pos_y, window_hgt - gap_y, gap_y):
colour = (random.randrange(255), random.randrange(255), random.randrange(255))
rect_area1 = pg.Rect(x, y, card_wth, card_hgt)
rect_areas1.append(rect_area1)
# print(rect_areas1)
return rect_areas1
def main():
global fps_clock, main_display
fps_clock = pg.time.Clock()
while True:
for event in pg.event.get():
if event.type == pg.KEYDOWN and event.key == pg.K_s:
for i in range(len(list_draw_rct(pos_x, pos_y))):
colour = (random.randrange(255), random.randrange(255), random.randrange(255))
pg.draw.rect(main_display, colour, list_draw_rct(pos_x, pos_y)[i], 5)
pg.display.update(list_draw_rct(pos_x, pos_y)[:5] + list_draw_rct(pos_x,pos_y)[(6):])
fps_clock.tick(fps)
if event.type == pg.QUIT:
sys.exit()
if __name__ == '__main__':
main()
Здесь я жёстко удаление 5-й элемент
if event.type == pg.KEYDOWN and event.key == pg.K_s:
for i in range(len(list_draw_rct(pos_x, pos_y))):
colour = (random.randrange(255), random.randrange(255), random.randrange(255))
pg.draw.rect(main_display, colour, list_draw_rct(pos_x, pos_y)[i], 5)
pg.display.update(list_draw_rct(pos_x, pos_y)[:5] + list_draw_rct(pos_x,pos_y)[(6):])
fps_clock.tick(fps)
Но я не знаю, как сделать это с пользовательский ввод.
Попробуйте придумать способ сделать это самостоятельно, используя Google, чтобы ответить любые общие вопросы. Затем, если у вас возникнут какие-либо проблемы, вы можете задать здесь более конкретный вопрос. –