IPB
ЛогинПароль:

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> Тетрис
сообщение
Сообщение #1


Гость






Захотелось вот попробовать написать тетрис. Думал что просто а вот теперь даже не знаю с чего начать. В сети много исходников, но хотелось бы чтобы объяснили поподробнее. Алгоритм какой нибудь что ли...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Ну не ужели никто тетрис не делал? huh.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Ну объясни ты мне, зачем тебе ЕЩЕ ОДИН исходник? Их же и так тысячи !!! Ты лучше приведи неясный тебе фрагмент, и скажи, что именно неясно.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата(Fang @ 2.10.2005 15:35)
Ну не ужели никто тетрис не делал?  huh.gif


Если бы ты воспользовался поиском или просто пролистал раздел игры, то штук 5 разнообразеых тетрисов ты бы точно нашел <_< Что значит алгорим к тетрису ?Найди исходник попроще с комментами, да ковыряйся в нем ...

Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
Что значит алгорим к тетрису ?

Ну не алгоритм, а так... основные понятия. Что такое стакан и т.д. в кратце.

Цитата
Найди исходник попроще с комментами, да ковыряйся в нем ...


Да вот что то попроще найти не могу все с наворотами, с графикой и т.д.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Ты что, издеваешься? Какой же тетрис БЕЗ ГРАФИКИ? Ты еще без компьютера попробуй сделать... <_<
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


тетрис без графики ,т.е. по реалу -- игрушки для архитекторов.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Бывалый
***

Группа: Пользователи
Сообщений: 160
Пол: Мужской
Реальное имя: Серый

Репутация: -  0  +


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

|000000| Mas[I,J] = [0,0,0,0,0]
|000000| [0,0,0,0,0]
|000000| [0,0,0,0,0]
|000000| -----
|000000| [0,0,0,0,0]

Далее, есть фигура:
0,0,1,0,0
0,0,1,0,0
0,0,1,0,0 (столько нулей - для "вращения")
0,0,1,0,0

Так вот: берешь фигуру (тоже массив) и заполняешь ей "стакан" ("ставишь наверх"),
затем, с задержкой опускаешь до того момента, когда ниже 1 есть другая 1, или когда фигура достигает самого "дна стакана". Остановилась - присваиваешь в стакане единицы фигуры. Далее - новая фигура. После остановки очередной фигуры проверяешь - есть ли линия в стакане: если есть - обнуляешь ее. В принцыпе, все: как уж ты сделаешь, с графикой, без (может у тебя фигуры будут из "*" состоять это уже не важно.

Сообщение отредактировано: AlienEmperor -


--------------------
Все в жизни ботва... Кроме пчел!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9





Группа: Пользователи
Сообщений: 7
Пол: Мужской
Реальное имя: Юрий

Репутация: -  0  +


Люди, подскажите мне как сделать демо режим в тетрисе, т.е. чтоб комп играл сам с собой.... то я уже голову поломал..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


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

Сообщение отредактировано: Бродяжник -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Цитата(SmOuk @ 23.12.2005 16:23) *

Люди, подскажите мне как сделать демо режим в тетрисе, т.е. чтоб комп играл сам с собой.... то я уже голову поломал..

Как вариант:
Пишешь процедурку, которая запоминает последовательность изменений массива твоего "стакана", далее.. Запоминаешь реакцию пользователя (твою реакцию).... Вообщем сам проиграй один уровень и запомни все твои действия в файл... Quake2 так и сделан...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12





Группа: Пользователи
Сообщений: 7
Пол: Мужской
Реальное имя: Юрий

Репутация: -  0  +


Цитата(Gothic_Snake @ 23.12.2005 17:53) *

Как вариант:
Пишешь процедурку, которая запоминает последовательность изменений массива твоего "стакана", далее.. Запоминаешь реакцию пользователя (твою реакцию).... Вообщем сам проиграй один уровень и запомни все твои действия в файл... Quake2 так и сделан...

Не, мне надо чтобы фигуры выпадали рандомом.....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Автооответчик
*****

Группа: Пользователи
Сообщений: 1 188
Пол: Мужской
Реальное имя: Александр

Репутация: -  16  +


ИИ писать хочешь ?


--------------------
Неадекватная чушь может быть адекватным ответом на неадекватный вопрос. Понятно или разжевать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Новичок
*

Группа: Пользователи
Сообщений: 45
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Цитата(GoodWind @ 25.12.2005 16:26) *

ИИ писать хочешь ?

Наверное хочет...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15





Группа: Пользователи
Сообщений: 7
Пол: Мужской
Реальное имя: Юрий

Репутация: -  0  +


Да придётся! Только не подскажите, от чего оттолкнуться? Может где ссылочка на похожую задачу есть?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16





Группа: Пользователи
Сообщений: 1
Пол: Женский

Репутация: -  0  +


mne nravitsya vse eto! Hochu oznokomitsya poblije!!!!

Ya ne delala! A chto? interesno?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


Meruert
С чем ознакомиться-то? С тетрисом?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18





Группа: Пользователи
Сообщений: 7
Пол: Мужской
Реальное имя: Юрий

Репутация: -  0  +


Препод разрешил сделать демо мультиком.
Gothic_Snake
Цитата
Как вариант:
Пишешь процедурку, которая запоминает последовательность изменений массива твоего "стакана", далее.. Запоминаешь реакцию пользователя (твою реакцию).... Вообщем сам проиграй один уровень и запомни все твои действия в файл...

Не подскажешь алгоритм процедурки? Или примерчик выложи.. Плиз
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Бывалый
***

Группа: Пользователи
Сообщений: 206
Пол: Мужской

Репутация: -  3  +


Надо думать, что в любом случае алгоритм включает в себя рисование/выпечатывание пустых или заполненных клеточек стакана. Так вот, можно сделать следующее: всякий раз, когда это происходит, записывать в файл какой-нибудь код, скажем, 1, а после него координаты выводимой клеточки и ее цвет. А там, где в программе стоит задержка, записывать в файл другой код, скажем, 0. Вот и все. Потом считываем этот файл, и если встречаем код 1, то считываем координаты и цвет, и рисуем клеточку. А когда встречаем 0, делаем задержку. И будет вам счастье.
Или еще лучше. Там, где стоит ввод с клавиатуры, записываем код клавиши в файл (или -1, если ничего не нажали). А в демо версии вместо ввода с клавиатуры ставим чтение из файла, или выборку кода из заранее считанного массива. А все остальное оставляем по-старому.
В общем, есть варианты.

Сообщение отредактировано: Бродяжник -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20





Группа: Пользователи
Сообщений: 7
Пол: Мужской
Реальное имя: Юрий

Репутация: -  0  +


Бродяжник
Спасибо... Вроде несложный алгоритм.. Буду пробовать. rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

2 страниц V  1 2 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.09.2022 3:24
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name