Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.12.2011, 21:49   #21
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

sVasilich +1
на лови мою змейку которую год назад делал. ООП там не сильно пахнет.
лучше бы поле отдельным классом реализовать. змея, яблоко, бонус в идеале - всё классы.
ну и много лишнего там: меню, система плохих хороших бонусов, для тебя распиливать не буду щас... вообщем можешь оттуда че-то выцепить.
http://codepad.org/SX6vyEHo

основное действо в методе move.
onewho вне форума Ответить с цитированием
Старый 31.12.2011, 23:00   #22
asmars
Форумчанин
 
Аватар для asmars
 
Регистрация: 28.05.2011
Сообщений: 309
По умолчанию

onewho, большое спасибо Вам! буду разбирать, что да как..

я никак не могу понять зачем enum..
Спеши медленно.
asmars вне форума Ответить с цитированием
Старый 01.01.2012, 04:39   #23
asmars
Форумчанин
 
Аватар для asmars
 
Регистрация: 28.05.2011
Сообщений: 309
По умолчанию

ребят хочу разобрать код (выше по ссылке)..
не могли бы вы помочь..

например, такая строчка..
Код:
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
1. HANDLE - это как бы тип данных, правильно ?
2. hStdOut - это как бы название самой переменой с типом HANDLE ?
3. GetStdHandle - как понимаю какая то ВинАпи, с помощью которой можно получить текущее окно программы ?
4. STD_OUTPUT_HANDLE - ума не приложу что это..

буду благодарен за пояснение этих вопросов! а то про хендлы слышал много, читал.. но так и не понял зачем и как..
Спеши медленно.
asmars вне форума Ответить с цитированием
Старый 01.01.2012, 04:44   #24
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1 и 2, обычное обьявление языка С/С++.
1)HANDLE это тип данных который содержит дескриптор некоего обьекта.
в данном случае это будет дескриптор потока вывода.
3 и 4)http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.01.2012, 04:44   #25
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от asmars Посмотреть сообщение
ребят хочу разобрать код (выше по ссылке)..
не могли бы вы помочь..

например, такая строчка..
Код:
HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
1. HANDLE - это как бы тип данных, правильно ?
2. hStdOut - это как бы название самой переменой с типом HANDLE ?
3. GetStdHandle - как понимаю какая то ВинАпи, с помощью которой можно получить текущее окно программы ?
4. STD_OUTPUT_HANDLE - ума не приложу что это..

буду благодарен за пояснение этих вопросов! а то про хендлы слышал много, читал.. но так и не понял зачем и как..
http://vsokovikov.narod.ru/New_MSDN_...tstdhandle.htm
_Bers вне форума Ответить с цитированием
Старый 01.01.2012, 04:47   #26
asmars
Форумчанин
 
Аватар для asmars
 
Регистрация: 28.05.2011
Сообщений: 309
По умолчанию

Спасибо! С хенделом разобрался..
Спеши медленно.
asmars вне форума Ответить с цитированием
Старый 01.01.2012, 17:01   #27
asmars
Форумчанин
 
Аватар для asmars
 
Регистрация: 28.05.2011
Сообщений: 309
По умолчанию

почитал о <vector>, но что то не очень могу догнать как его применить при создание поля и питона..

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

а вот к питона то что надо, но как применить его..
Спеши медленно.
asmars вне форума Ответить с цитированием
Старый 01.01.2012, 17:35   #28
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

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

Код:
std::vector<std::vector<cell_type >>field;
Змейка является связным списком однотипных элементов (динамический массив, вектор). Когда змейка есть мышу - она принимает ещё один элемент (мышу можно сделать такого же, типа как и элемент питона, т.е. питон состоит из мышей).

В идеале, все мыши, питоны, поля и т.п. должны быть классами.

PS решение onewho не смотрел
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 01.01.2012, 17:38   #29
sVasilich
Форумчанин
 
Аватар для sVasilich
 
Регистрация: 16.12.2009
Сообщений: 224
По умолчанию

Цитата:
Сообщение от asmars Посмотреть сообщение
поле это тоже динамический массив, так как в поле будет рандомно появляться мышь..
А при чём здесь динамические массивы? Динамический массив нужно использовать только если размер поля меняется.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
sVasilich вне форума Ответить с цитированием
Старый 01.01.2012, 17:49   #30
asmars
Форумчанин
 
Аватар для asmars
 
Регистрация: 28.05.2011
Сообщений: 309
По умолчанию

спасибо.
как я понял поле -
Код:
mas int[20][20];
питон это -
Код:
vector <char> piton
; так ?
Спеши медленно.
asmars вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal движение змейки zhenka619 Помощь студентам 0 29.12.2011 22:45
Обработка нажатия клавиш в TButton mLight Помощь студентам 4 11.11.2011 20:53
Обработка клавиш на TListBox Melanholly Общие вопросы Delphi 2 31.10.2011 14:06
Обработка событий клавиш клавиатуры Synapse Visual C++ 2 20.10.2011 18:37
обработка нажатия клавиш VC++ консоль rest Помощь студентам 0 06.10.2009 07:53