Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Игра "змейка":)
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
igor_bogomolov
Не знаю для чего, видимо просто от безделия, решил написать эту игруху. Лучшего применения себе в выходные не нашел. Что то затишье кокое то на форуме.
Реализовал через систему рисования Qt.
В игре пять уровней, на большее меня не хватило, подзадолбало немного :)

Начинающим, вожможно, будет интересно посмотреть :) .
SABROG
А зачем игре уровни? Я думал всегда, что там рандом + увеличение сложности по инкременту.

"Soliter" - разве не карты ? Или тут прикол типа червь-паразит - солитёр :-D ?

На самом деле так держать, на Qt мало игр написано и еще одна не помешает.
Litkevich Yuriy
Цитата(SABROG @ 8.5.2009, 2:13) *
На самом деле так держать, на Qt мало игр написано и еще одна не помешает.
и таки да, запости как её на qt-apps.org
igor_bogomolov
Цитата(SABROG @ 7.5.2009, 23:13) *
А зачем игре уровни? Я думал всегда, что там рандом + увеличение сложности по инкременту.
А ты ее хоть посмотрел? ;)
На самом деле когда начинал, энтузиазма много было. Хотел всякие бонусы выкидывать, типа доп жизнь, уменьшить длинну змейки и т.д. Можно было и антибонусы добавить. Потом так все это надоело. Муторно всем этим заниматься оказалось. Переделал немного и выложил.
Цитата(SABROG @ 7.5.2009, 23:13) *
Или тут прикол типа червь-паразит - солитёр :-D ?
Ну наверное так и есть :lol: Сам не знаю почему так назвал.
Цитата(SABROG @ 7.5.2009, 23:13) *
На самом деле так держать, на Qt мало игр написано и еще одна не помешает.
Спасиб тебе и Юрию. На qt-apps в разделе "игры" и так говна хватает. Думаете стоит еще добавлять.
Реально хоть кто-то скомпилировал проектик, поигрался? :)
Litkevich Yuriy
Цитата(igor_bogomolov @ 8.5.2009, 2:30) *
Думаете стоит еще добавлять.
конечно.

Цитата(igor_bogomolov @ 8.5.2009, 2:30) *
Реально хоть кто-то скомпилировал проектик, поигрался?
скачал, но смотреть небыло времени.
igor_bogomolov
Цитата(Litkevich Yuriy @ 7.5.2009, 23:45) *
скачал, но смотреть небыло времени.
Жаль. Хотелось бы какие-нибудь отзывы получить по тому что получилось :)
Цитата(Litkevich Yuriy @ 7.5.2009, 23:45) *
конечно.
Ну что ж, выложу и на qt-apps :)
Kagami
У меня с ходу собрать не получилось... Линукс различает разный регистр в именах и не находит файлы

UPD: Проблема оказалась с GameField.h. При продвижении виджета он был записан как gamefield.h

UPD2: Да и инициализация переменных слегка кривая. Ее следует проводить в проредке их описания. Недавно на хабре статья была почему так не следует делать
Раскрывающийся текст
GameField.h: In constructor ‘GameField::GameField(QWidget*)’:
GameField.h:28: warning: ‘GameField::startlen’ will be initialized after
GameField.h:27: warning: ‘int GameField::len’
GameField.cpp:9: warning: when initialized here
GameField.h:27: warning: ‘GameField::len’ will be initialized after
GameField.h:25: warning: ‘QPoint GameField::shiftPoint’
GameField.cpp:9: warning: when initialized here
GameField.h:32: warning: ‘GameField::pause’ will be initialized after
GameField.h:20: warning: ‘QPixmap GameField::pixmap’
GameField.cpp:9: warning: when initialized here
GameField.cpp: At global scope:
GameField.cpp:202: warning: unused parameter ‘event’
igor_bogomolov
Цитата(Kagami @ 7.5.2009, 23:58) *
Линукс различает разный регистр в именах и не находит файлы
Линукса у меня нет. Межет подскажешь что подправить надо.
Регистр вроде везде учтен. ???

Спасибо. Подправлю :)
Kagami
А так в целом неплохо получилось, так держать.

P.S. Хотя слово "lavel" меня немного покоробило ;)
igor_bogomolov
Цитата(Kagami @ 8.5.2009, 0:15) *
Хотя слово "lavel" меня немного покоробило
И это подправим. С английским у меня беда к сожалению.
Спасибо еще раз
igor_bogomolov
Переехали на qt-apps .
Архивчик там слегка обновленный.
SABROG
Цитата(igor_bogomolov @ 8.5.2009, 1:33) *
Переехали на qt-apps .
Архивчик там слегка обновленный.

.pro файл забыл выложить :)

Хотя и через qmake -project нормально компилится.

Я конечно понимаю, что период повторяемости случайных последовательностей для такой игры не очень важен, но лучше наверно использовать таким образом:

qsrand(QDateTime::currentDateTime().toTime_t());


Нежели таким:
qsrand(QTime::currentTime().second());
Kagami
[offtopic]
Вот та статья про порядок инициализации конструкторов - http://habrahabr.ru/blogs/cpp/58818/
[/offtopic]
SABROG
Вот мыслишка появилась. Что если уровни делать в XPM формате?



/* XPM */
static char * scene1_xpm[] = {
"65 45 2 1",
"     c none",
"X    c #000000000000",
"                                                                 ",
"                X                                                ",
"                                                                 ",
"            XXXXXXXXX                                            ",
"                                                                 ",
"                X                                                ",
"                                                                 ",
"            XXXXXXXXX                                            ",
"                                                                 ",
"                X                                                ",
"                                                                 ",
"                                                                 ",
"                                  XXX                            ",
"                                 XXXXX                           ",
"                                XXXXXXX                          ",
"     XXXX  XXXX                XXXXXXXXX                         ",
"     XXXXXXXXXX               XXXXXXXXXXX                        ",
"         XX                  XXXXXXXXXXXXX                       ",
"         XX                                                      ",
"         XX                                                      ",
"         XX                                X                     ",
"                                          XXX                    ",
"                                        XXXXXXX                  ",
"                                           X                     ",
"                                           X                     ",
"                      XX                   X                     ",
"                    XX                     X                     ",
"                  XX                       X                     ",
"                XX                      XXXXXXX                  ",
"              XX                          XXX                    ",
"            XX                             X                     ",
"          XX                                                     ",
"        XX                                                       ",
"                                                                 ",
"                                                                 ",
"                                       XXXXX                     ",
"                                      XXXXXXX                    ",
"                                       XXXXX                     ",
"                                                                 ",
"                                                                 ",
"                                                                 ",
"       X           X                                             ",
"       X           X                                             ",
"       X           X                                             ",
"       XXXXXXXXXXXXX                                             "};


Тут тоже очепятка, видимо:

void GameField::createFoot()


foot - стопа
food - еда ;)
AD
Цитата(igor_bogomolov @ 8.5.2009, 0:20) *
И это подправим. С английским у меня беда к сожалению.
Спасибо еще раз

С русским тоже, видимо! :)
"Длина змейки" пишется с одной 'Н'! :)

Ну так, прикольно получилось!
igor_bogomolov
Цитата(Kagami @ 8.5.2009, 9:43) *
Вот та статья про порядок инициализации конструкторов
Буду заполнять пробелы в образовании.

Цитата(Kagami @ 8.5.2009, 9:43) *
Вот мыслишка появилась. Что если уровни делать в XPM формате?
Я думал сначала над этим.
Но если честно, составление всех этих уровней самое муторное занятие. Я как до этого момента дошел, так все и забросил, интерес пропал. Даже по коду это заметить можно, как там стиль ломается, когда я начал добавлять уровни и переходы по ним.
Я все это от скуки писал. Сейчас майские праздники скоро заканчиваются, опять на работу надо будет. Так что развивать игруху я не собираюсь.

Цитата(SABROG @ 8.5.2009, 12:15) *
Тут тоже очепятка, видимо:
Цитата(SABROG @ 8.5.2009, 12:15) *
С русским тоже, видимо!
Да и с русским тоже. Правописание хромает на обе ноги. Так что не будьте такими злюками и не надо меня мордой кажный раз в мои очепятки тыкать.
SABROG
Цитата(igor_bogomolov @ 8.5.2009, 14:09) *
Так что не будьте такими злюками и не надо меня мордой кажный раз в мои очепятки тыкать.

Не будем, хотели восполнить тебе пробелы знаний, если мы не скажем, то кто скажет? :)
igor_bogomolov
Постараюсь исправиться :rolleyes:.
Сам понимаю, что глаза режет, когда с ошибками пишешь.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.