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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2011, 11:07   #1
Александр I
engachev
Пользователь
 
Аватар для Александр I
 
Регистрация: 19.12.2010
Сообщений: 22
Восклицание Процедура Game !

Задание на Delphi !
Построить процедуру Game , моделирующую игру в кости двух игроков. Во время игры игроки ставят по $1 в банк и поочереди бросают кость (правильный кубик). Банк забирает тот, у кого выпало больше очков. При равном числе очков каждый вносит в банк еще по одному $, и игра продолжается. Игра заканчивается, когда у одного из игроков кончаются деньги. В основной программе осуществляется ввод с клавиатуры сумм денег каждого игрока, вызов процедуры Game и вывод на экран результата.
Получилось вот что ! Как сделать его проще или компактнее без всего лишнего, желательно с комментариями ! Спасибо !

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  Pm1,Pm2,x,y,i,bank:integer;
procedure Game(Pm1,Pm2:integer);
begin
  bank:=2;
  while (Pm1>0) and (Pm2>0) do
  begin
    Pm1:=Pm1-1;
    Pm2:=Pm2-1;

    writeln('************ BANK =',bank,'$ ************');
    writeln('* Player1 [ ',Pm1,'$ ] || Player2 [',Pm2,'$] *');

    readln;
    sleep(1500);
    x:=Random(5);
    x:=x+1;
    writeln(' 1 player throw [',x,'] ');

    readln;
    sleep(1500);
    Randomize ;
    y:=Random(5);
    y:=y+1;
    writeln(' 2 player throw [',y,'] ');
    sleep(1500);
    if x=y then
      begin
        bank:=bank+2;
  end
           else
        begin
          if x>y then
            begin

              Pm1:=Pm1+bank;
              bank:=2;
      end
                  else
              begin

                Pm2:=Pm2+bank;
                bank:=2;
            end;
              end;
if (Pm1<1) or (Pm2<1) then
begin
if Pm1<1 then Writeln(' 2 player wins money=',pm2);
if Pm2<1 then Writeln(' 1 player wins money=',pm1);
end;
for I := 1 to 5 do writeln(' ');
readln;
end;
end;

BEGIN
write(' 1 player puts =');
readln(Pm1);
write(' 2 player puts =');
readln(Pm2);
writeln('*************** GAME START ***************');
Game(Pm1,Pm2);
Writeln('*********** GAME OVER ************');
readln;

end.



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.
Голова программиста - взгляд во внутрь...

Последний раз редактировалось Serge_Bliznykov; 20.04.2011 в 11:29.
Александр I вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по 3d game studio Goblin Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 10.05.2010 19:51
Game of Windows MAXnet Помощь студентам 1 17.01.2009 19:32
Головоломка Marble Game student_63 Общие вопросы .NET 5 13.11.2008 16:49
Знакомы вы с 3d game studio ? House Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 30.07.2008 12:56
Save in Game ChukCha Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 11.09.2007 21:00