Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2022, 18:08   #1
Тимур1991
Новичок
Джуниор
 
Регистрация: 02.12.2022
Сообщений: 3
По умолчанию не работает код

Нужно создать корабль, который может двигаться вправо и влево. Корабль должен стрелять из пушки, когда игрок нажимает клавишу пробел. Ошибки VSC не выдаёт, как и Thonny. После запуска появляется чёрный экран и на этом всё.

Код:
Alien_Invasion.py

import sys
import pygame
from settings import Settings
from ship import Ship
class AlienInvasion:
  
    def __init__(self):
        pygame.init()
        self.settings = Settings()
        
        self.screen = pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height))
        pygame.display.set_caption("Alien Invasion")
        self.ship = Ship
        
        self.bg_color = (0, 0, 255)
        
    def run_game(self):
        while True:
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    sys.exit()
                    self.screen.fill(self.settings.bg_color)
                    self.ship.blitme()  
            pygame.display.flip()
            
                      
if __name__ == '__main__':
    ai = AlienInvasion()
    ai.run_game()


Settings.py


class Settings():
    def __init__(self):
        self.screen_width = 1200
        self.screen_height = 800
        self.bg_color = (0, 0, 255)




Ship.py


import pygame
class Ship():
    def __init__ (self,ai_game):
        self.screen = ai_game.screen
        self.screen_rect = ai_game.screen.get_rect()
        self.image = pygame.image.load('images/ship.bmp')
        self.rect = self.image.get_rect()
        self.rect.midbottom = self.screen_rect.midbottom
    def blitme(self):
        self.screen.blit(self.image, self.rect)
Изображения
Тип файла: bmp ship.bmp (50.8 Кб, 2 просмотров)

Последний раз редактировалось Тимур1991; 02.12.2022 в 18:56.
Тимур1991 вне форума Ответить с цитированием
Старый 02.12.2022, 18:11   #2
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

А это полотенце и не будет работать. Или надо отступы за вас угадать?
macomics вне форума Ответить с цитированием
Старый 02.12.2022, 18:53   #3
Тимур1991
Новичок
Джуниор
 
Регистрация: 02.12.2022
Сообщений: 3
По умолчанию

macomics, отредактировал код
Тимур1991 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
QUdpSocket работает только при локальном IP. Не работает если указан динамичесский айпи kook163 Qt и кроссплатформенное программирование С/С++ 5 09.05.2018 22:40
Не работает анимация. Механизм работает лишь при изменения числа в едит1. Студент ММИ Помощь студентам 1 18.05.2015 07:39
Программа на Visual C# работает при запуске руками, но не работает при попытки автоматического запуска Bug$ Помощь студентам 18 21.10.2013 16:22
не работает relese версия проги и debug работает тока на моем компе D][mon C# (си шарп) 2 04.05.2012 20:21
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56