Форум программистов, компьютерный форум, киберфорум
Python: PyGame
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164

Графика модуль - pygame

31.03.2018, 11:35. Показов 7619. Ответов 78
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу меня "сильно не пинать ногами", я делаю свои первые шаги в программировании (все когда то были такими). Я вообще никогда раньше не занимался программированием, от слова никак.
Теперь к сути вопроса. Купил я книгу по питону 2.7 (не буду заниматься рекламой, не скажу какая). Там есть раздел графика. Подключение модуля paygame. Я скачал и установил модуль версии pygame-1.9.1.win32-py2.7.msi, с оф. сайта и установил.
Первое задание Создание Pygame-окна.
Код простой:

Python
1
2
3
import pygame
pygame.init()
screen = pygame.display.set_mode([640,480])
Окно появляется и виснет намертво.

Cледующее задание: Корректно работающее Pygame-окно

Python
1
2
3
4
5
6
7
8
9
import pygame
pygame.init()
screen = pygame.display.set_mode([640,480])
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
running = False
pygame.quit()
Выскакивает сообщение об ошибке:
Изображения
 
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2018, 11:35
Ответы с готовыми решениями:

Модуль pygame в python 2,7,x
Всем доброго времени суток. Возникла следующая проблема: хочу загрузить изображения игрока и врага для игры, для игрока картинка...

Как установить модуль pygame в eclipse?
# Импортируем библиотеку pygame import pygame from pygame import * #Объявляем переменные WIN_WIDTH = 800 #Ширина создаваемого...

Как теперь скачать модуль Pygame
В связи известными событиями официальный сайт блокирует скачку через PIP. Имеется: Win XP - можно поставить только версию Питона 3.4.3...

78
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
02.04.2018, 08:01
Студворк — интернет-сервис помощи студентам
Появляются моментально, потому что очередь выводится одним вызовом, чтобы выводить постепенно надо очередь заполнять и выводить, так примерно

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import pygame, sys, random
from pygame.color import THECOLORS
 
pygame.init()
screen=pygame.display.set_mode([640,480])
screen.fill([255,255,255])
 
i = 0
rects = []
running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
 
    if i < 20:
        rect = {}
        rect['width'] = random.randint(0,250)
        rect['height'] = random.randint(0, 100)
        rect['top'] = random.randint(0,400)
        rect['left'] = random.randint(0, 500)
        color_name = random.choice(list(THECOLORS.keys()))
        rect['color'] = THECOLORS[color_name]
        rect['line_width'] = random.randint(1,3)
        rects.append(rect)
        for r in rects:
            pygame.draw.rect(screen, r['color'], [r['left'], r['top'],\
             r['width'], r['height']], r['line_width'])
        i += 1
        pygame.time.delay(500)
        pygame.display.flip()
 
pygame.quit()
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
02.04.2018, 08:26  [ТС]
Вы расскажите, что вы подписали. Я же дуб дубом, мне не текст важен, мне самому понять надо, чего да как.
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
04.04.2018, 14:45  [ТС]
Продвигаюсь дальше в изучении книги. Раздел списки и словари. Почему то вместо русских буква какая то абракадабра.

Код:

phoneNumbers = {}
phoneNumbers["Мэри"] = "555-1234"
phoneNumbers["Боб"] = "444-43-21"
phoneNumbers["Дженни"] = "867-5309"
print phoneNumbers


Результат:
======================= RESTART: D:/Python27/34343.py =======================
{'\xc4\xe6\xe5\xed\xed\xe8': '867-5309', '\xcc\xfd\xf0\xe8': '555-1234', '\xc1\xee\xe1': '444-43-21'}
>>>
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
04.04.2018, 16:00
python 2 плохо работает с русскими буквами, пишите названия латинским шрифтом или ставьте python 3
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
04.04.2018, 18:17  [ТС]
Cпасибо за ответ, у меня книжка по 2 питону и в книжке все русские буквы нормально смотрятся.
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
06.04.2018, 11:42  [ТС]
Иду дальше. Раздел "функции"

Код

Python
1
2
3
4
5
6
def printMyAddress():
    print "Warren Sande"
    print "123 Main Street"
    print "Ottawa, Otario, Canada"
    print "K2M 2E9"
    print
Должно повторяться 5 раз, а повторяется 1 раз.

Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>
======================= RESTART: D:/Python27/34343.py =======================
>>> printMyAddress()
printMyAddress()
printMyAddress()
printMyAddress()
printMyAddress()
Warren Sande
123 Main Street
Ottawa, Otario, Canada
K2M 2E9

>>>
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
06.04.2018, 12:02
Это особенность Python Shell, он обрабатывает только вызов функции после >>, если через меню File -> New Window

в New Window написать

Python
1
2
3
4
5
6
7
8
9
10
11
12
def printMyAddress():
    print "Warren Sande"
    print "123 Main Street"
    print "Ottawa, Otario, Canada"
    print "K2M 2E9"
    print
 
printMyAddress()
printMyAddress()
printMyAddress()
printMyAddress()
printMyAddress()
Потом сохранить и запустить,то будет нормально работать
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
06.04.2018, 12:53  [ТС]
Помогло, спасибо.

Добавлено через 34 минуты
Продвигаюсь дальше в изучении языка. Код:

Python
1
2
3
4
5
6
7
def printMyAdress(myName):
    print myName
    print "123 Main Street"
    print "Ottawa, Ontario, Canada"
    print "K2M 2E9"
    print
    printMyAddress("Carter Sande")
И ничего:

Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:19:30) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ======================= RESTART: D:/Python27/34343.py =======================
>>>

А по книге должно быть:


>>> ====================== RESTART: D:/Python27/34343.py ========================
>>>
Carter Sande
123 Main Street
Ottawa, Ontario, Canada
K2M 2E9
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
06.04.2018, 13:02
Тут просто опечатка, тут два дейсвия создание функции и ее вызов

Python
1
2
3
4
5
6
7
8
9
10
#сперва создаем функцию
def printMyAdress(myName):
    print myName
    print "123 Main Street"
    print "Ottawa, Ontario, Canada"
    print "K2M 2E9"
    print
 
#потом ее вызываем
printMyAddress("Carter Sande")
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
06.04.2018, 16:44  [ТС]
При попытке вызова:

Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
printMyAddress("Carter Sande")
NameError: name 'printMyAddress' is not defined


Добавлено через 16 секунд
При попытке вызова:

Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
printMyAddress("Carter Sande")
NameError: name 'printMyAddress' is not defined
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
06.04.2018, 17:09
Еще одна опечатка printMyAddress, лишняя d надо printMyAdress("Carter Sande")
1
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
06.04.2018, 17:17  [ТС]
Заработало. Только можно и Address главное чтобы совпадало и там и там.
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
08.04.2018, 11:03  [ТС]
Снова проблемы.

Код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Ball:
    def_init_(self, color, size, direction):
        self.color=color
        self.size=size
        self.direction = direction
        
    def bounce(self):
       if self.direction =="вниз":
          self.direction = "вверх"
 
myBall=Ball("красный","маленький","вниз")
print "Я только что создал мяч."
 
 
print "Я только что создал мяч."
print "Размер моего мяча",myBall.size
print "Цвет моего мяча",myBall.color
print "Мой мяч движется",myBall.direction
print "Сейчас я поменю направление движения мяча"
print
myBall.bounce
print "Теперь мяч движется", myBall.direction
Выдает ошибку

Подсвечивает двоеточие в месте:

class Ball:
def_init_(self, color, size, direction) :
Изображения
 
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
08.04.2018, 11:47
Опечатка во второй строке пробела между def и __init__ не хватает
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
08.04.2018, 11:52  [ТС]
Тогда он в другом месте выдает ошибку:
class Ball:
def __init__ (self, color, size, direction):
self.color=color
self.size=size
self.direction = direction
def bounce(self):
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
08.04.2018, 14:06
Какая именно ошибка?
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
08.04.2018, 16:27  [ТС]
Traceback (most recent call last):
File "D:/Python27/34343.py", line 11, in <module>
myBall=Ball("красный","маленький","вниз" )
TypeError: this constructor takes no arguments
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
08.04.2018, 17:19
Вот работающий код

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Ball:
    def __init__(self, color, size, direction):
        self.color=color
        self.size=size
        self.direction = direction
        
    def bounce(self):
       if self.direction =="вниз":
          self.direction = "вверх"
 
myBall=Ball("красный","маленький","вниз")
print "Я только что создал мяч."
print "Я только что создал мяч."
print "Размер моего мяча",myBall.size
print "Цвет моего мяча",myBall.color
print "Мой мяч движется",myBall.direction
print "Сейчас я поменю направление движения мяча"
myBall.bounce()
print "Теперь мяч движется", myBall.direction
0
2 / 2 / 0
Регистрация: 31.03.2018
Сообщений: 164
08.04.2018, 17:51  [ТС]
Оказывается у init длинные черточки, т.е. двойные с каждой стороны.
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
08.04.2018, 18:41
Цитата Сообщение от Ioan-IV Посмотреть сообщение
Оказывается у init длинные черточки, т.е. двойные с каждой стороны.
Не только у init, у многих встроенных функций
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.04.2018, 18:41

При импорте pygame пишет что нет модуля pygame.base
Устанавливаю для kivy.Всё есть (sython,gsstreamer,kivy,pyscripter,python) , а вот фраем. pygame не работает.Почему?Что ещё надо для работы...

Ошибка в pygame AttributeError: 'pygame.Rect' object has no attribute 'blit'
Создаю игру, крестики нолики Почему возникает ошибка и как ее исправить? AttributeError: 'pygame.Rect' object has no attribute 'blit' ...

Pygame ошибка module ‘pygame’ has no ‘init’ member
Всем здравствуйте. Недавно начал работать с VS code и выдает такая ошибка. Прикрепляю полностью скрин. Нашел решение перед каждой...

pygame.error: cannot convert without pygame.display initialized
Только начал изучать спрайты Выдаёт ошибку: Traceback (most recent call last): File &quot;D:/project1/OCode.py&quot;, line 18, in...

Создание графика в PyGame
import math import pygame def f_graph(x1): y1 = x1*2+b return (y1) a = -10 b = 10


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru