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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2010, 20:07   #1
Наталья111
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 59
По умолчанию Игра "Кости" на паскале

Добрый всем вечер! Вот пишу программу игра "Кости" на паскале.
Так вроде все нормально, но возникла такая проблема, после того как пользователь введет ставку и число, выпадают два кубика и они постоянно равны, т.е. если первый кубик выпал 2, то и второй будет 2. Где у меня ошибка, подскажите пожалуйста...буду очень признательна, а то завтра сдавать нужно, а программа не доработана...

Вот код:
Код:
Uses crt;
var
stavka, stavka1:integer;
stchislo:integer;
kub1, kub2:integer;
begin
 stavka1:=0;   
 writeln('Vvedite stavky');
 readln(stavka);
 writeln('Vvedite chislo na kotoroe stavite');
 readln(stchislo);
 Randomize;
 kub1:=Random(5)+1;
 kub2:=Random(5)+1;
 case kub1 of
 0: writeln('Pervii kubik = 1');
 1: writeln('Pervii kubik = 2');
 2: writeln('Pervii kubik = 3');
 3: writeln('Pervii kubik = 4');
 4: writeln('Pervii kubik = 5');
 5: writeln('Pervii kubik = 6');
 end;
 case kub2 of
 0: writeln('Vtoroi kubik = 1');
 1: writeln('Vtoroi kubik = 2');
 2: writeln('Vtoroi kubik = 3');
 3: writeln('Vtoroi kubik = 4');
 4: writeln('Vtoroi kubik = 5');
 5: writeln('Vtoroi kubik = 6');
 end;

 if (kub1=kub2) and (stchislo=kub1+kub2) then
  begin
   stavka1:=stavka*4;
   writeln('Vi viigrali!');
  end
   else
    begin
     if ((((kub1+kub2)<=7) and (stchislo<=7) or (((kub1+kub2)>7) and (stchislo>7)))) then
      begin
       stavka1:=stavka*2;
       writeln(stavka1);
      end
      else
      begin
      writeln(stavka1);
     end;

     Readln;
end;
end.
Заранее огромное за помощь!
Наталья111 вне форума Ответить с цитированием
Старый 12.01.2010, 20:12   #2
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Вбил твой код у себя, не знаю в чем у тебя проблема, но у меня выдает разные значения, так что проблема явно не в коде
Базиля вне форума Ответить с цитированием
Старый 12.01.2010, 20:14   #3
Наталья111
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Базиля Посмотреть сообщение
Вбил твой код у себя, не знаю в чем у тебя проблема, но у меня выдает разные значения, так что проблема явно не в коде
а в чем может быть проблема?
Наталья111 вне форума Ответить с цитированием
Старый 12.01.2010, 20:15   #4
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Цитата:
а в чем может быть проблема?
может быть простое совпадение, попробуй побольше раз прогнать программу, если не исправится, тогда скажи какой паскаль у тебя установлен?
Базиля вне форума Ответить с цитированием
Старый 12.01.2010, 20:19   #5
Наталья111
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Базиля Посмотреть сообщение
может быть простое совпадение, попробуй побольше раз прогнать программу, если не исправится, тогда скажи какой паскаль у тебя установлен?
Уже часа два ее гоняю...все равно...разрабатываю в Turbo pascal 7
Наталья111 вне форума Ответить с цитированием
Старый 12.01.2010, 20:21   #6
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Наталья111
у меня Pascal ABC 3.0.1
попробуй его скачай и прокомпилируй там,интересно, если все будет нормально тогда почему на TP не работает....
Базиля вне форума Ответить с цитированием
Старый 12.01.2010, 20:22   #7
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

вместо
Код:
 case kub1 of
 0: writeln('Pervii kubik = 1');
 1: writeln('Pervii kubik = 2');
 2: writeln('Pervii kubik = 3');
 3: writeln('Pervii kubik = 4');
 4: writeln('Pervii kubik = 5');
 5: writeln('Pervii kubik = 6');
 end;
 case kub2 of
 0: writeln('Vtoroi kubik = 1');
 1: writeln('Vtoroi kubik = 2');
 2: writeln('Vtoroi kubik = 3');
 3: writeln('Vtoroi kubik = 4');
 4: writeln('Vtoroi kubik = 5');
 5: writeln('Vtoroi kubik = 6');
 end;
я думаю лучше так написать:
Код:
WriteLn('Pervii kubik = ', kub1);
WriteLn('Vtoroi kubik = ', kub2);
Это просто чтобы лучше смотрелось...

На Turbo Pascal 7.1 проверял - всё работает - выдаёт разные значения, так что дело не в коде.

Последний раз редактировалось Alex_FF; 12.01.2010 в 20:32.
Alex_FF вне форума Ответить с цитированием
Старый 12.01.2010, 20:25   #8
Наталья111
Пользователь
 
Регистрация: 22.12.2008
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Базиля Посмотреть сообщение
Наталья111
у меня Pascal ABC 3.0.1
попробуй его скачай и прокомпилируй там,интересно, если все будет нормально тогда почему на TP не работает....
Было бы время...еще отчет оформлять...
я думаю ошибка где case они там как то зацикливаются, т.е. проходит ч/з первый case , а затем второй case уже автоматически присваивает значение первого...
Наталья111 вне форума Ответить с цитированием
Старый 12.01.2010, 20:28   #9
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Наталья111
Цитата:
Было бы время...еще отчет оформлять...
я думаю ошибка где case они там как то зацикливаются, т.е. проходит ч/з первый case , а затем второй case уже автоматически присваивает значение первого...
такого не может быть
можешь писать смело отчет, вот скриншот сделал тебе, в доказательство что твоя программа работает:
Базиля вне форума Ответить с цитированием
Старый 12.01.2010, 20:31   #10
pif
Пользователь
 
Регистрация: 26.11.2008
Сообщений: 37
По умолчанию

протестил на обычном паскале кубики разные выпадают.
pif вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Игра "Кости" на языке программирования Delphi Наталья111 Помощь студентам 20 01.11.2009 16:40
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Помогите с прогой "Бросок игральной кости" Gorec Помощь студентам 8 26.05.2008 00:32
Игра "четный" "нечетный" bigcat Помощь студентам 1 01.03.2008 00:24