В настоящее время я пытаюсь научиться делать игру в стиле roguelike в свободное время.что-то происходило всякий раз, когда я пытался вызвать программу, чтобы создать окно между ними.Я смотрел учебник (https://www.youtube.com/playlist?list=PLKUel_nHsTQ1yX7tQxR_SQRdcOFyXfNAb), и я не знаю, что случилось в части 3, потому что код запускал окно в части 2. Это не дает мне ошибки, он просто не запускает окно, есликто-то знает, что случилось, это будет здорово, спасибо.
Я попытался повторно просмотреть учебники и посмотреть, пропустил ли я что-то напечатанное или удалил, но ничего не происходит. main_game.py
import libtcodpy as libtcod
import pygame
#GAME FILES
import constance
## pseudo programming ##
class struct_tiles:
def __init__(self, block_path):
self.block_path = block_path
def map_create():
new_map = [[ struct_tiles(False) for y in range(0, constance.MAP_HEIGHT)] for x in range(0, constance.MAP_WIDTH)]
new_map[10][10].block_path = True
new_map[10][15].block_path = True
return new_map
def draw_game():
## CLEAR SURFACE
SURFACE_MAIN.fill(constance.COLOR_DEFAULT_BACKGROUND)
## DRAW MAP
draw_map(GAME_MAP)
## DRAW PLAYER
SURFACE_MAIN.blit(constance.S_PLAYER, ( 200, 200 ))
## UPDATE DISPLAY
pygame.display.flip()
def draw_map(map_to_draw):
for x in range(0, constance.MAP_WIDTH):
for y in range(0, constance.MAP_HEIGHT):
if map_to_draw[x][y].block_path == True:
#draw wall
SURFACE_MAIN.blit(constance.S_WALL, ( x*constance.CELL_WIDTH, y*constance.CELL_HEIGHT))
else:
#draw floor
SURFACE_MAIN.blit(constance.S_FLOOR, ( x*constance.CELL_WIDTH, y*constance.CELL_HEIGHT))
def game_main_loop():
''' IN THIS FUNCTION WE LOOP THE MAIN GAME'''
game_quit = False
while not game_quit:
#TODO get player input
events_list = pygame.event.get()
#PROCESS PLAYER INPUT
for event in events_list:
if event.type == pygame.QUIT:
game_quit = True
#DRAW THE GAME
draw_game()
#QUIT GAME
pygame.quit()
exit()
def game_initialize():
'''THIS FUNCTION INITIALIZES THE MAIN WINDOW AND PYGAME'''
global SURFACE_MAIN, GAME_MAP
#initialize pygame
pygame.init()
SURFACE_MAIN = pygame.display.set_mode( (constance.GAME_WIDTH,constance.GAME_HEIGHT) )
GAME_MAP = map_create()
if __name__ == '__main_game__':
game_initialize()
game_main_loop()
##constance.py##
import pygame
pygame.init()
## GAME SIZES
GAME_WIDTH = 800
GAME_HEIGHT = 600
CELL_WIDTH = 32
CELL_HEIGHT = 32
## COLOR DEF
COLOR_BLACK = (0, 0, 0)
COLOR_WHITE = (255, 255, 255)
COLOR_GREY = (100, 100, 100)
## GAME COLORS
COLOR_DEFAULT_BACKGROUND = COLOR_GREY
## SPRITES
S_PLAYER = pygame.image.load("data/cobra1.png")
S_WALL = pygame.image.load("data/wall1.png")
S_FLOOR = pygame.image.load("data/floor1.png")
## MAP VARS
MAP_WIDTH = 30
MAP_HEIGHT = 30