Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [Delphi] Игра "Угадай число" |
Автор: Phenom 2.6.2008, 19:33 |
Игра "Угадай число". Программа "загадывает" двузначное целое число, а пользователь пытается его угадать. Число попыток не ограничено. После очередной попытки программа сообщает результат сравнения (больше - меньше) "задуманного" числа с ответом пользователя. Игра прекращается, если число угадано, либо "зажато" между двумя ответами пользователя. В главном меню программы предусмотреть возможность просмотра числа, задуманного программой, в любой момент игры; просмотр защитить паролем. Нужно написать такую прогу на дельфи. Помогите пожалуйста. |
Автор: THandle 2.6.2008, 19:40 |
Phenom, и в чем проблема? "Загадываешь" число random'ом. Сохраняешь его в какой - нибудь глобальной переменной. Если надо хранить все введенные ответы, то создаешь динамический массив. Каждый раз по нему при ответе проходишься - проверяешь не отвечали ли так. Ответ вводишь в TEdit. Если не надо массива, то все еще проще. Прото сравниваешь введенное число с "загаданным" и все. Пароль хранишь допустим в реестре, вызываешь InputBox по клику в меню, вводишь пароль, если верно - показываешь число тем же ShowMessage, иначе что хочешь. |
Автор: Phenom 2.6.2008, 21:13 | ||
Можешь как раз создать динамический массив для хранения ответов? |
Автор: THandle 2.6.2008, 21:17 |
Phenom, выложи архивом проект. Подправлю. Добавлено через 2 минуты и 14 секунд Хотя... давай ка я тебе сейчас сам все напишу... |
Автор: THandle 2.6.2008, 22:15 |
Ну что то такое вот. |
Автор: Phenom 3.6.2008, 07:51 |
Лучше здесь поменяй. Кстати там что-то не видно никаких массивов или я туплю. А можно как-нибудь страницу статистики замутить с профилями? Ну типа кто угадывал и с какой поытки ему это удалось. |
Автор: Phenom 3.6.2008, 13:29 |
Если есть массив, то почему я не вижу, какие числа ввожу. |
Автор: THandle 3.6.2008, 13:39 |
Такого задания не было ![]() Кстати проверка на зажатость должна быть только с последним ответом или со всем массивом? ЗЫ: в архиве вариант с оформлением ХП и выводом массива в Мемо. |
Автор: Phenom 3.6.2008, 13:52 |
А можно, чтобы пользователь видел не все числа, которые вводил, а только два, которые наиболее приближены сверху и снизу, сможешь сделать, в варианте с тем кодом, который я написал? Можешь ещё статистику сделать, помоги пожалуйста. |
Автор: THandle 4.6.2008, 13:31 | ||||||
Phenom, на самом деле все очень просто делается. Находишь приближенные значения вот таким например функциями:
Ну и просто добавляешь эти значения в записи нового значения в массив. Не самый оптимальный, конечно, вариант, но все же...
В архиве в общем все переделано. Статистика добавлена. Хранится в папке с программой в файле stat.txt.(Можно изменить. Просто нужно поменять значение константы STAT_FILE_NAME. |
Автор: Phenom 4.6.2008, 14:12 |
THandle, Спасибо. У меня осталось только два вопроса. Чтобы посмотреть пароль, что надо ввести и нужно бы ещё сбщ о неправильном пароле вставить? И почему, когда скажем я ввожу скажем 24, оно оказывается приближённым снизу а в приближённом сверху(MAX) в это время записана какое-то большое число? |
Автор: THandle 4.6.2008, 14:16 | ||
За пароль у тебя отвечает переменная Password. Для примеру она сейчас равна abcd.(Кто читает - это секретный пароль, просьба не разглашать за пределами вселенной).
Потому что в массиве нет значений которые больше загаданного числа. Туда пишется значение MaxInt. Могу изменить если так не подходит. Добавлено @ 14:17 стати нашел одну опечатку в проге... сча исправлю... Добавлено через 4 минуты и 42 секунды Ну вот собственно. Все изменил. |
Автор: Phenom 4.6.2008, 14:22 |
Ага, лучше изменить. Ещё лучше, чтобы просмотр приближенных ответов был опционален. Т.е его можно было отключить. И ещё, нужно, чтобы лучшый результат отдельно показывался. |
Автор: THandle 4.6.2008, 14:25 | ||||
Изменил.
Вашей "любознательности" нет предела ![]() Добавь пункт в меню. С Caption = Показать/скрыть приближенные ответы. В OnClick его пропиши:
Добавлено через 2 минуты и 29 секунд А может вам и ключи от квартиры где деньги лежат? © Пиши значения через StringList как Names/Values. Потом ищи максимальное Value и показывай эту строку. Добавлено через 3 минуты и 13 секунд Вот. Моя маленькая статейка на эту тему: http://forum.vingrad.ru/articles/topic-208756.html |
Автор: Phenom 4.6.2008, 14:37 |
Показ приближённых глючит. Первое записывает, остальные нет. А нет, всё норм, сори. И ещё раз спасибо. Про ключи было б не плохо. |
Автор: THandle 4.6.2008, 14:44 |
Ладно. Вот со всеми пожеланиями прога. |
Автор: Phenom 4.6.2008, 14:49 |
Большое спасибо. |
Автор: THandle 4.6.2008, 14:52 |
Phenom, вопрос решен? Если да то напоминаю о галочке "Пометить как решенная" ![]() |
Автор: Phenom 4.6.2008, 17:17 |
Решён |
Автор: BigOblom 4.8.2010, 19:35 |
Чет не могу скачать)) |
Автор: BigOblom 5.8.2010, 10:03 |
файл в последнем вложении не скачивается. вместо него закачивается страница |
Автор: wester 5.8.2010, 11:27 |
BigOblom, попробуй другой браузер например IE, opera с лисой здесь бывают проблемы |
Автор: Dexx 17.8.2010, 21:13 |
vbs |