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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2020, 17:08   #1
Ghost15
 
Регистрация: 07.02.2020
Сообщений: 6
По умолчанию Не работает игра

Привет! Я смотрел видео с названием Разработка игр на Python 3 с PyGame / #2 - Движение игрока
И когда я делал всё как на видео, то при запуске кода у меня просто не открывалось даже окно, спустившись в комменты, то там тоже такая проблема была у некоторых людей, а ответа не было, порывшись в интернете ничего не нашел.
Помогите разобраться в чём проблема, ошибок никаких не вылазит, а игра не запускается.
Вот видео кстати - https://www.youtube.com/watch?v=7rNvoPy1fb4

А от сам код.

import pygame

pygame.init()
win = pygame.display.set_mode((500,500))
pygame.display.set_caption("Game")

x = 50
y = 50
width = 40
height = 60
speed = 5

run = True
while run:
pygame.time.delay(100)

for event in pygame.event.get():
if event.type == pygame.QUIT
run == False

keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
x -= speed
if keys[pygame.K_RIGHT]:
x += speed
if keys[pygame.K_UP]:
y -= speed
if keys[pygame.K_DOWN]:
y += speed


pygame.draw.rect(win, (0,0,255), (x, y, width, height))
pygame.display.update()

pygame.quit()
Ghost15 вне форума Ответить с цитированием
Старый 07.02.2020, 20:01   #2
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Вероятно, ошибка в коде. Расставил пробелы и добавил ":" здесь if event.type == pygame.QUIT:

Все работает.

Код:
import pygame

pygame.init()
win = pygame.display.set_mode((500,500))
pygame.display.set_caption("Game")

x = 50
y = 50
width = 40
height = 60
speed = 5

run = True
while run:
    pygame.time.delay(100)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run == False

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        x -= speed
    if keys[pygame.K_RIGHT]:
        x += speed
    if keys[pygame.K_UP]:
        y -= speed
    if keys[pygame.K_DOWN]:
        y += speed

    win.fill((0,0,0))
    pygame.draw.rect(win, (0,0,255), (x, y, width, height))
    pygame.display.update()

pygame.quit()
Скрин ниже.
Изображения
Тип файла: jpg test111 [D__GitHub_test111] - ..._game.py - PyChar (1).jpg (55.8 Кб, 5 просмотров)
Arkuz вне форума Ответить с цитированием
Старый 07.02.2020, 20:20   #3
Ghost15
 
Регистрация: 07.02.2020
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Arkuz Посмотреть сообщение
Вероятно, ошибка в коде. Расставил пробелы и добавил ":" здесь if event.type == pygame.QUIT:

Все работает.

Код:
import pygame

pygame.init()
win = pygame.display.set_mode((500,500))
pygame.display.set_caption("Game")

x = 50
y = 50
width = 40
height = 60
speed = 5

run = True
while run:
    pygame.time.delay(100)

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run == False

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        x -= speed
    if keys[pygame.K_RIGHT]:
        x += speed
    if keys[pygame.K_UP]:
        y -= speed
    if keys[pygame.K_DOWN]:
        y += speed

    win.fill((0,0,0))
    pygame.draw.rect(win, (0,0,255), (x, y, width, height))
    pygame.display.update()

pygame.quit()
Скрин ниже.
Спасибо!

Последний раз редактировалось Ghost15; 08.02.2020 в 10:52.
Ghost15 вне форума Ответить с цитированием
Старый 08.02.2020, 12:25   #4
Ghost15
 
Регистрация: 07.02.2020
Сообщений: 6
По умолчанию

Arkuz, Что за программу ты юзаешь?
Ghost15 вне форума Ответить с цитированием
Старый 08.02.2020, 16:19   #5
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Сообщение от Ghost15 Посмотреть сообщение
Arkuz, Что за программу ты юзаешь?
IDE PyCharm.
Arkuz вне форума Ответить с цитированием
Старый 10.02.2020, 20:46   #6
Ghost15
 
Регистрация: 07.02.2020
Сообщений: 6
По умолчанию

Слушай а у меня прикол такой что игра дальше не работает
Изображения
Тип файла: jpg Безымянный.jpg (69.6 Кб, 3 просмотров)
Ghost15 вне форума Ответить с цитированием
Старый 11.02.2020, 00:13   #7
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Ты импорт изменил на from pygame import *

Верни как было import pygame
Arkuz вне форума Ответить с цитированием
Старый 11.02.2020, 10:35   #8
Ghost15
 
Регистрация: 07.02.2020
Сообщений: 6
По умолчанию

А какая разница в from pygame import * и в import pygame ? Просто я искал и нормального ответа не нашел
Ghost15 вне форума Ответить с цитированием
Старый 11.02.2020, 12:00   #9
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Цитата:
Сообщение от Ghost15 Посмотреть сообщение
А какая разница в from pygame import * и в import pygame ? Просто я искал и нормального ответа не нашел
Почитайте про импорты в Python.

Импортируя модуль так import pygame нужно всегда указывать предварительно перед функциями в этом модуле имя самого модуля pygame.init()

А если так from pygame import *, то мы говорим, что импортим все из этого модуля и уже имя модуля писать не надо, например init(). Но если вы сделаете так для многих модулей и окажется, что у них есть одинаковые функции, то будет ошибка.
Arkuz вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает код (Unity, 2D игра, индикатор удара) Nasekomus Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 26.12.2019 14:49
Игра Command & Conquer Generals не работает Мирсаидов Некбахт Windows 1 23.03.2018 17:27
[Delphi] Игра Пятнашки. Помогите пожалуйста добавить окно "Вы выиграли", когда комбинация будет собрана правильно, и добавить кнопку "Новая игра" Аня20 Паскаль, Turbo Pascal, PascalABC.NET 1 02.06.2017 08:12
проблемы с интернетом. работает только активное окно будь то скайп, браузер, игра или трекеры. Taylor67 Помощь студентам 2 31.08.2012 12:48
Не работает игра на канве New man Общие вопросы Delphi 7 17.02.2011 22:09