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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2008, 20:40   #1
Bomber
Пользователь
 
Регистрация: 02.06.2008
Сообщений: 10
По умолчанию [Delphi] Игра "Угадай число"

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

Нужно написать такую прогу на дельфи. Помогите пожалуйста.
Bomber вне форума Ответить с цитированием
Старый 02.06.2008, 20:46   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

И в чём собственно проблеиа?!
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 02.06.2008, 21:10   #3
Bomber
Пользователь
 
Регистрация: 02.06.2008
Сообщений: 10
По умолчанию

Собственно нужен код программы. Если не затруднит.
Bomber вне форума Ответить с цитированием
Старый 02.06.2008, 21:13   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Bomber, готовый код любой программы можно получить в разделе Фриланс, объявив его цену (если она устроит, конечно). И это никого не затруднит.
B_N вне форума Ответить с цитированием
Старый 02.06.2008, 21:13   #5
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Ну ты хоть начни прогу писать. Кнопки раскидай, меню сделай. Идеи свои предложи... и подавай сюда, а с алгоритмом поможем
eoln вне форума Ответить с цитированием
Старый 02.06.2008, 21:17   #6
Bomber
Пользователь
 
Регистрация: 02.06.2008
Сообщений: 10
По умолчанию

Дак с кнопками то всё ясно. Мне и нужен алгоритм.
Bomber вне форума Ответить с цитированием
Старый 02.06.2008, 21:20   #7
Bomber
Пользователь
 
Регистрация: 02.06.2008
Сообщений: 10
По умолчанию

Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan;

type
TMainForm = class(TForm)
ResultLabel: TLabel;
TryButton: TButton;
TryEdit: TEdit;
XPStyle: TXPManifest;
AgainButton: TButton;
Button1: TButton;
procedure TryEditKeyPress(Sender: TObject; var Key: Char);
procedure TryButtonClick(Sender: TObject);
procedure AgainButtonClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
MainForm: TMainForm;
RealNum:Integer;
implementation

uses Unit2;

{$R *.dfm}

procedure TMainForm.TryEditKeyPress(Sender: TObject; var Key: Char);
begin
case Key of
'0'..'9':;
#8:
else
Key:=Chr(0);
end;

end;
procedure TMainForm.TryButtonClick(Sender: TObject);
begin
if TryEdit.Text='' then begin
ResultLabel.Caption:='Введите число!';
end
else
if StrToInt(TryEdit.Text)=RealNum then begin
ResultLabel.Caption:='Вы угадали!';
TryButton.Enabled:=False;
end;
if StrToInt(TryEdit.Text)>RealNum then begin
ResultLabel.Caption:='Загаданное число меньше введённого!'
end;
if StrToInt(TryEdit.Text)<RealNum then begin
ResultLabel.Caption:='Загаданное число больше введённого!'
end;
end;

procedure TMainForm.AgainButtonClick(Sender: TObject);
begin
Randomize;
RealNum:=Random(98);
TryButton.Enabled:=True;
Button1.Enabled:=True;
ResultLabel.Caption:='-';
TryEdit.Text:='0';
end;

procedure TMainForm.Button1Click(Sender: TObject);
begin
SecretForm.Label1.Caption:=IntToStr (RealNum);
SecretForm.ShowModal;
end;

end.
Остаётся сделать только если число зажато между двумя.

Последний раз редактировалось Bomber; 02.06.2008 в 21:38.
Bomber вне форума Ответить с цитированием
Старый 02.06.2008, 21:46   #8
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Код:
//в процедуру AgainButtonClick
min:=false;
max:=false;//число пользователем не зажато ни сверху ни снизу

//в процедуру TryButtonClick добавить
if strtoint(TryEdit.text)+1=RealNum then min:=true;
if strtoint(TryEdit.text)-1=RealNum then max:=true;
if min and max then application.messagebox('зажато','',0)
RealNum:=Random(98) замени на RealNum:=Random(90)+10 - двузначное число
eoln вне форума Ответить с цитированием
Старый 02.06.2008, 21:59   #9
Bomber
Пользователь
 
Регистрация: 02.06.2008
Сообщений: 10
По умолчанию

Ошибка. Говорит, что мин и макс Undeclarated identifier.
if min and max then application.messagebox('зажато','', 0) - в этой строчке пишет type of expresions must be boolean.
Bomber вне форума Ответить с цитированием
Старый 02.06.2008, 22:01   #10
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,689
По умолчанию

Ну дык описать их надо там же где и RealNum
Код:
var
MainForm: TMainForm;
RealNum:Integer;
min, max: boolean;
eoln вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра "Ghost Recon Advanced Warfighter 1"(GRAW) Air Gamedev - cоздание игр: Unity, OpenGL, DirectX 0 27.07.2008 08:07
Помогите реалезовать условие - "Если x целое число то" Кронос Общие вопросы Delphi 5 04.05.2008 16:07
Игра "ЛОГИКА" (в Delphi) KingArthur Gamedev - cоздание игр: Unity, OpenGL, DirectX 15 22.04.2008 11:37
Игра "ЛОГИКА" (в Delphi) KingArthur Помощь студентам 5 18.04.2008 19:12
Игра "четный" "нечетный" bigcat Помощь студентам 1 01.03.2008 00:24