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

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

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2008, 14:14   #1
[Smarik]
Веб-разработчик
Форумчанин
 
Аватар для [Smarik]
 
Регистрация: 16.01.2008
Сообщений: 451
По умолчанию "камень, ножницы, бумага"

От скуки решил сделать игру "камень, ножницы, бумага" сделал окна "Побед" и "Поражений" проблема в том что переменная держит значений только 1 игру...например побед 1 поражений 0 при следующей игре все опять зануляется и считается...как сделать чтобы он постоянно считал не зануляя?
Код:
var
you,ai,win,lose,rez:integer;
airez:string;
begin
win:=0;
lose:=0;
randomize;
ai:=random(3);
case ai of
0:airez:='Камень';
1:airez:='Ножницы';
2:airez:='Бумага';
end;
case radiogroup1.itemindex of
0:you:=0;
1:you:=1;
2:you:=2;
end;
label6.Caption:=airez;
if you=ai then label1.Caption:='Ничья';
if (you=0) and (ai=1) then
begin
label1.Caption:='Вы победили';
win:=win+1;
end;
if (you=0) and (ai=2) then
begin
label1.Caption:='Вы проиграли';
lose:=lose+1;
end;
if (you=1) and (ai=0) then
begin
label1.Caption:='Вы проиграли';
lose:=lose+1;
end;
if (you=1) and (ai=2) then
begin
label1.Caption:='Вы победили';
win:=win+1;
end;
if (you=2) and (ai=0) then
begin
label1.Caption:='Вы победили';
win:=win+1;
end;
if (you=2) and (ai=1) then
begin
label1.Caption:='Вы проиграли';
lose:=lose+1;
end;
label7.caption:=IntToStr(win);
label8.caption:=IntToStr(lose);
И посоветуйте как можно сократить условия...
Я ваш новый друг, смиритесь!
[Smarik] вне форума Ответить с цитированием
Старый 31.03.2008, 14:54   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Сохраните результаты в файле, как это делается во всех игрушках.
Код:
if ((you=1) and (ai=2)) or ((you=0) and (ai=1)) or ((you=2) and (ai=0)) then   
begin   
label1.Caption:='Вы победили';   
win:=win+1;   
end else
begin
label1.Caption:='Вы проиграли';   
lose:=lose+1; 
end;
Вроде бы так.
mihali4 вне форума Ответить с цитированием
Старый 31.03.2008, 18:18   #3
RealSHELS
Форумчанин
 
Аватар для RealSHELS
 
Регистрация: 04.03.2008
Сообщений: 176
По умолчанию

А может так:
label7.caption:=inttostr(strtoint(l abel7.caption)+win);
label8.caption:=inttostr(strtoint(l abel8.caption)+lose);
RealSHELS вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49