Форум программистов, компьютерный форум, киберфорум
Python: PyGame
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
1

Игра Lines

17.01.2020, 13:12. Показов 5058. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет!
Так я и не разобрался - правильно я пишу программу на pygame или нет?
Закончил первый пробный вариант игры (копия Lines)
Если не сложно, попробуйте её оценить.
Особенно меня интересует правильность (или неправильность) принципа написания подобных программ.
Пытался использовать знания, полученные после прочтения 2-3 книг (по pygame)
К сожалению полностью следовать принципам указанным в книгах не получилось.
По разным причинам.
Понравилось то, что я смог написать программу, которую раньше написать не смог бы.
Не понравилось, что даже такая простая (на первый взгляд ) программа в результате оказалась довольно запутанной.
Все необходимые файлы в архиве.
Вложения
Тип файла: zip Lines.zip (73.0 Кб, 118 просмотров)
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2020, 13:12
Ответы с готовыми решениями:

Полилинии. Реализуйте алгоритм игры Lines в одноименном классе, унаследованном от класса Board
Реализуйте алгоритм игры Lines в одноименном классе, унаследованном от класса Board. В нем...

Игра летающая птица. Не работает игра
import pygame import random pygame.init() SCREEN = pygame.display.set_mode((500, 750)) #...

Игра Lines
Ребята помогите пожалуйста с игрой Lines а именно с самой механикой. Прилагаю то что у меня уже...

Игра Lines
Как представить поле с шариками как двумерный массив чтоб реализовать волновой алгоритм в игре...

17
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
19.01.2020, 18:24  [ТС] 2
Привет!
Модифицировал игру. Теперь она сохраняется при выходе
Вложения
Тип файла: zip Lines2.zip (73.6 Кб, 53 просмотров)
0
Просто Лис
Эксперт Python
5731 / 3530 / 1055
Регистрация: 17.05.2012
Сообщений: 10,360
Записей в блоге: 9
22.01.2020, 18:08 3
1) классы спрайтов желательно вынести в отдельный файл.

2) не запустилась…
Код
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "Lines5.py", line 422, in <module>
    if  448<xy_mouse[0]<566  and  576<xy_mouse[1]<660:
NameError: name 'xy_mouse' is not defined
Добавлено через 1 минуту
3) Наверное, не стоило удалять этот файл?
Код
Traceback (most recent call last):
  File "Lines5.py", line 327, in <module>
    file_txt=open("record.txt","r")
FileNotFoundError: [Errno 2] No such file or directory: 'record.txt'
Добавлено через 2 минуты
2) если курсор мыши оказывается внутри окна во время запуска - то программа не падает.

Добавлено через 8 минут
В принципе на первый взгляд код сойдёт. Логика отделена от отрисовки. Состояние поля хранится в "матрице" (в списке списков, но это не важно), с ней и делаются все расчёты.
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
22.01.2020, 18:27  [ТС] 4
Конечно файл "record.txt" удалять нельзя. Там хранится информация о рекорде. И загружается оттуда.
Не пойму: у вас программа зависает, если курсор при запуске не находится внутри окна?
У меня она вообще не падает.
0
Просто Лис
Эксперт Python
5731 / 3530 / 1055
Регистрация: 17.05.2012
Сообщений: 10,360
Записей в блоге: 9
22.01.2020, 18:33 5
Цитата Сообщение от pumaex Посмотреть сообщение
Конечно файл "record.txt" удалять нельзя.
Надо предусмотреть, чтобы программа восстанавливала его.

Цитата Сообщение от pumaex Посмотреть сообщение
у вас программа зависает, если курсор при запуске не находится внутри окна?
Падает и не запускается. Да, когда курсора нет внутри окна.

Потому что вы не создали переменную.
0
Просто Лис
Эксперт Python
5731 / 3530 / 1055
Регистрация: 17.05.2012
Сообщений: 10,360
Записей в блоге: 9
22.01.2020, 18:39 6
pycharm ругается…
Миниатюры
Игра Lines  
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
22.01.2020, 21:11  [ТС] 7
В pycharm я не запускал. Не привык им пользоваться ещё.
Сейчас проверю.
Нашёл ещё одну ошибку. Долго не мог понять как она появляется.
Теперь поправлю обе.
После этого загружу исправленную версию
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
03.02.2020, 13:10  [ТС] 8
Исправил все ошибки.
Добавил новый функционал.
Описание в хелпе (F1)
Попробуйте
Вложения
Тип файла: zip Lines2.zip (83.7 Кб, 36 просмотров)
0
1287 / 672 / 365
Регистрация: 07.01.2019
Сообщений: 2,251
03.02.2020, 15:44 9
Красиво
0
636 / 476 / 179
Регистрация: 28.05.2012
Сообщений: 1,414
07.02.2020, 16:41 10
Цитата Сообщение от pumaex Посмотреть сообщение
Исправил все ошибки.
Осталось отформатировать код по pep8


Python
1
if self.vector != []:
можно проще:
Python
1
if self.vector:
Python
1
if (self.rect.centery) % 64 == 32:
не нужно писать скобки в условии

Python
1
2
3
if search2:  # если сложились
                        Ball.value = Ball.value + len(lines) * 2
                        Ball.level += len(lines) * 2
а почему Ball.value не используете сокращенную запись?
Python
1
Ball.value += len(lines) * 2
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
07.02.2020, 21:10  [ТС] 11
Согласен. Исправлю.
Когда писал, об этом не думал.
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
08.02.2020, 20:56  [ТС] 12
Добавил вывод количества оставшихся очков для получения следующего выстрела.
Справа внизу.
Вложения
Тип файла: zip Lines9.zip (77.2 Кб, 15 просмотров)
0
636 / 476 / 179
Регистрация: 28.05.2012
Сообщений: 1,414
09.02.2020, 06:12 13
1:
Python
1
import pygame,sys, random,copy,pickle
каждый модуль нужно в отдельной строке импортировать

2:
Python
1
  self.rect=self.image.get_rect(center=(self.coor[1]*64+32,self.coor[0]*64+32))
Опять не соблюдения отступов по pep (используйте IDE pycharm)

3:
Плохой стиль использовать транслит
Python
1
vibor = False
4:
Python
1
if self.vector == []:
можно так:
Python
1
if not self.vector:
5:
В архиве нет файла NewGame2.png
Python
1
newgame2 = pygame.image.load("NewGame2.png").convert_alpha()
6:
Ресурсы игры нужно сгруппировать в одну директорию
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
09.02.2020, 12:35  [ТС] 14
Исправленный вариант
Вложения
Тип файла: zip Lines10.zip (84.1 Кб, 137 просмотров)
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
09.02.2020, 12:37  [ТС] 15
не понял, что это значит?
Цитата Сообщение от Vigi Посмотреть сообщение
Плохой стиль использовать транслит
0
636 / 476 / 179
Регистрация: 28.05.2012
Сообщений: 1,414
09.02.2020, 13:33 16
Что значит переменная vibor ?
0
6 / 4 / 1
Регистрация: 28.09.2016
Сообщений: 223
09.02.2020, 18:00  [ТС] 17
переменная указывает выбран ли хотя бы один объект класса
0
636 / 476 / 179
Регистрация: 28.05.2012
Сообщений: 1,414
10.02.2020, 04:32 18
Цитата Сообщение от pumaex Посмотреть сообщение
переменная указывает выбран ли хотя бы один объект класса
нужно давать имена переменной на анг. а не как у вас vibor - транслит то же самое, что "mama myla ramu, u Shury shary" это считается плохой стиль! В вашем случае нужно была назвать как-то так: choice либо selection.
0
10.02.2020, 04:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2020, 04:32
Помогаю со студенческими работами здесь

Игра Lines
народ,помогите кто чем может,может у кого есть уже написанное,может кто напишет.в инете искал,но...

Игра Color Lines
Здравствуйте, нужно написать игру Color Lines, так вот интересует рисовать сетку 9x9 либо загрузить...

Игра Lines с графикой на opengl
Доброго всем времени суток, хотел спросить, ни у кого не завалялся программный код к данной игре?

Игра Lines 98 - нужны сорцы
народ может есть у кого то код к игре lines а то чет найти не могу буду благодарен. на С

Игра Lines. Написать кода на сохранение и открытие
Вот скрины интерфейса... Заранее благодарен

Игра Lines - реализовать удаление шариков одинакового цвета
Помогите сделать пожалуйста что бы 5 шаров удалялись одинакового цвета по горизонтали, вертикали и...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru