Суббота, 20 Апреля 2024, 08:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Ресурсы и Примеры игр » Исходники и примеры » Исходный код трехмерного тетриса (Тетрис он и в Африке тетрис.)
Исходный код трехмерного тетриса
nilremДата: Вторник, 11 Августа 2009, 21:52 | Сообщение # 1
Просветленный разум
Сейчас нет на сайте
Скачать IceTetris

Наверное это первый тетрис на сайте GcUp. А ведь эту игру должен написать каждый уважающий себя начинающий программист-геймдевелопер.
Приветствуем мой IceTetris.
Сделано в Microsoft Visual Studio на языке С++ с использованием DirectX API.
К сожалению диздок я не нашел, так что расскажу концепцию вкратце:

Делалось все по мотивам мультфильма Ледниковый период. По задумке все должно было выглядеть так:
Мамонт с Ленивцем намораживал и передавал тигру фигуры, последний бросал их вниз по водопаду, представляющему игровое поле. В самом низу поля бегала белка и не без интереса смотрела на привязанный к хвосту тигра орех. По мере того как игровое поле заполнялось фигурами, белка забиралась все выше, и когда она достигала ореха и уволакивала его вместе с тигром за пределы экрана, игра заканчивалась.
Предусматривались некоторые бонусы, на которые тратилась энергия, накапливаемая одновременным сбросом четырех полос:
- Заморозка фигуры в полете.
- Мощный бросок, тигр пробивает фигурой поле на глубину в зависимости от накопленной энергии.
- Танец мамонта, от которого фигуры на поле сдвигаются, заполняя пустоты.
- Лень - понятно кто делает простые фигуры.

И штрафы, энергия на которые накапливалась за сброс одинарных полос:
- Камни, которыми белка сбивает фигуры, разрушая или сдвигая их в последний момент.
- Этими же камнями она может запустить по тигру, в результате чего появлялась хаотически перемещающаяся неуправляемая фигура.
- Инстинкт - белка вгрызается в поле, пробуравливая в случайных местах дыры.

Всего бонусов и штрафов было десять, но остальных я не помню.

К сожалению в процессе разработка такой простой игры надоела и была заброшена(А если честно, то тогда я просто не имел достаточно навыков, чтобы сделать все задуманное). Реализовал я лишь стандартную механику.

Инструкция по использованию исходников:
Для простого их использования вам необходимо Microsoft Visual Studio (желательно не ниже 2005) и установленный DirectX SDK(или наличие lib и include файлов).
Далее, все что нужно это распаковать архив iceTetris_v0378_src и запустить Tetris.sln. Студия откроет это дело, при необходимости сконвертирует до нужной версии и все, можно компилировать. Все необходимые ресурсы поставляются с файлов проекта.
Если, недай бог, появится вот такая ошибка:

fatal error C1083: Не удается открыть файл include: dmusici.h:

...поздравляю. Вы обладатель одной из последних версий СДК(старше 2007 года) из которой были исключены некоторые файлы.
В таком случае распаковываем mDirectX_nosound и заменяем файл mDirectX.h.
Должно заработать, правда, без звука. Если нет - спрашиваем.

зы: Исходники ужасные.) Тетрис я делал одновременно изучая С++ и ДиректХ. Так что возможно от ознакомления с ними будет больше вреда, чем пользы)))
ззы: Мой рекорд - 14600.

Добавлено (11.08.2009, 21:52)
---------------------------------------------
И еще. Выкладывая исходники я все равно оставляю идею за собой.
©

TeRRaNДата: Понедельник, 22 Марта 2010, 17:38 | Сообщение # 2
был не раз
Сейчас нет на сайте
Скачал исходник, установил Visual Studio С++ 6.0, не подошла, установил Microsoft Visual C++ 2005 Express Edition и DirectX SDK 2007-february, скачал Microsoft Platform SDK т.к. Visual C++ 2005 Express Edition требовала <windows.h> при компиляции, но после всего начала писать:
Tetris.obj : error LNK2001: unresolved external symbol __imp__ValidateRect@8
Tetris.obj : error LNK2001: unresolved external symbol __imp__GetStockObject@4
Tetris.obj : error LNK2001: unresolved external symbol __imp__GetObjectA@12 и т.д.
Я в стопоре... Если кто знает в чем дело, помогите!
За ранее благодарен.
SlavyanOOsДата: Понедельник, 22 Марта 2010, 17:58 | Сообщение # 3
Problems, developer?
Сейчас нет на сайте
TeRRaN, Установи Visual Studio 2008 Express и DirectX SDK February 2010.
bednyДата: Понедельник, 22 Марта 2010, 18:15 | Сообщение # 4
был не раз
Сейчас нет на сайте
Как я и писАл в другой ветке - не за горами ММО-тетрис, с элементами RPG! smile
SlavyanOOsДата: Понедельник, 22 Марта 2010, 18:34 | Сообщение # 5
Problems, developer?
Сейчас нет на сайте
Quote (bedny)
Как я и писАл в другой ветке - не за горами ММО-тетрис, с элементами RPG! smile

"Сделанный на полном лицензионном Unreal Engine 3.8, с супер-физикой и массой оружия и транспорта(и лучше чем в GTA). Кубики можно будет взрывать и поднимать вертолетом. Также можно будет захватывать чужие постройки!", - писал сумасшедший в своих записках. "Называться это будет "Gastarbaiter Sim 2010 Ultimate Edition Online"!", - шептал ему на ухо сосед по камере.


Сообщение отредактировал SlavyanOOs - Понедельник, 22 Марта 2010, 18:37
TeRRaNДата: Суббота, 03 Апреля 2010, 11:52 | Сообщение # 6
был не раз
Сейчас нет на сайте
Напомню: автор проекта писал "Если, недай бог, появится вот такая ошибка:

fatal error C1083: Не удается открыть файл include: dmusici.h:

...поздравляю. Вы обладатель одной из последних версий СДК(старше 2007 года) из которой были исключены некоторые файлы" а в Visual Studio 2008 вообще не открывается Tetris.sln, так что делалась игра на старых платформах sad

Добавлено (03.04.2010, 11:52)
---------------------------------------------
Хорошо б было, если автор вспомнил точно версию visual studio c++ и DirectX SDK.

SlavyanOOsДата: Суббота, 03 Апреля 2010, 12:18 | Сообщение # 7
Problems, developer?
Сейчас нет на сайте
TeRRaN, смотри исходник через Notepad++.
nilremДата: Суббота, 03 Апреля 2010, 15:14 | Сообщение # 8
Просветленный разум
Сейчас нет на сайте
TeRRaN,

Делалось в Microsoft Visual Studio 2005 Team Suite с DirectX9 SDK 2004 года.

Кстати, нашел одну ошибку - выход за пределы массива, из за которой в 2008 студии не компилируется. 2005-ой почему-то эта ошибка пофиг. Баг среды, ибо кривость моих рук налицо)

Необходимо в файле gui.h найти строчку(71 по счету):

Code

for (int i=0,ii=0;i<=6;i++,ii++)

и заменить на:

Code

for (int i=0,ii=0;i<6;i++,ii++)

После вышеуказанных исправлений должно без проблем компилироваться в 2005-2008 студиях(Не экспресс, На экспрессе не проверял поскольку нет) с любым ДХ СДК.
Естественно ситуация с dmusici.h остается прежней.


Windmill 2

WindMill 2D Game Engine
TeRRaNДата: Вторник, 27 Апреля 2010, 17:28 | Сообщение # 9
был не раз
Сейчас нет на сайте
Спасибо за помощь, все заработало! surprised
BADCOIQДата: Вторник, 27 Апреля 2010, 18:34 | Сообщение # 10
Отец-основатель BADCOIQ Corporation © 2010
Сейчас нет на сайте
Ещё одна интересность. У меня версия Visual Studio 7.1. Другие форматы проектов он не открывает, за исключением более поздних версий. Я поступаю таким способом: открываю файл проекта текстовым редактором, и меняю
Quote
Version="8,00"
на
Quote
Version="7,10"
Сохраняю, и мой визуаль его отлично открывает. Кому то может и не помочь, а кому то и даже очень.


"Do you think we can fly?
Well, I do."
Форум игроделов » Ресурсы и Примеры игр » Исходники и примеры » Исходный код трехмерного тетриса (Тетрис он и в Африке тетрис.)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг