| imho.ws |
![]() |
|
|
|
# 1 |
|
Member
Регистрация: 30.09.2002
Сообщения: 320
![]() |
Разработать программу, моделирующую игру
На Pascal или на Delphi
Разработать программу, моделирующую игру. Игра имеет следующие правила. Перед Вами большое число ящиков с деньгами. Сумма денег в каждом ящике – случайная величина, равномерно распределённая на отрезке [0, 1]. Вы выбираете ящик, открываете его и или берёте деньги из ящика, или отказываетесь от них. Если Вы берёте деньги, игра кончается. В противном случае Вы можете выбрать другой ящик. Эта процедура повторяется максимум до пяти ящиков (деньги из пятого ящика должны быть взяты, если он открыт). Разработать программу, моделирующую игру «Скачки». В игре участвуют 10 наездников; за каждый тур игры каждый из них продвигается вперёд на расстояние от 1 до 5 км случайным образом. Длина дистанции – 50 км. Всего проводится 5 заездов, победителю каждого заезда начисляется 5 очков. Победителем считается наездник, набравший наибольшее количество очков во всех заездах. Перед началом заездов участник игры выбирает номер наездника, с которым он будет идентифицироваться во время игры. Количество участников игры не превышает 10. В каждом туре с вероятностью 0.1 каждый наездник может упасть, т.е. продвинуться за этот тур на ноль км. Передвижение наездников отобразить графически на экране. Предусмотреть возможность случайного распределения номеров наездников. |
|
|
|
|
# 2 |
|
Registered User
Регистрация: 27.03.2002
Адрес: дома
Сообщения: 1 660
![]() ![]() |
ну первую я не понял...
а какие проблемы со вторым? бешешь функйию (procedure).... и там стандартными фичами рисуешь что надо... с вероятностью 0,1 я тоже не понял.. можно рандом 1-10 сделать.. и если 1 выпадает - чувак падает
__________________
Всё будет хорошо! |
|
|
|
|
# 4 |
|
Member
Регистрация: 30.09.2002
Сообщения: 320
![]() |
Надо только проверку вставить на корректность вводимого номера... как это сделать?
program sch; const StageCount=5; HorsCount=10; FailureProb=0.1; type intarray=array[1..HorsCount] of integer; var Hno:integer; HorsArray:intarray; MaxDistance:integer; winner:integer; i,j:integer; begin Write ('Input horseman number '); Readln ( Hno); Randomize; for i:=1 to HorsCount do HorsArray[i]:=0; for i:=1 to StageCount do for j:=1 to Horscount do if (random>FailureProb) then HorsArray[j]:=HorsArray[j]+round(random(4))+1; writeln ('Horseman no. ',Hno,' distance=',HorsArray[Hno],' km'); MaxDistance:=0; for i:=1 to HorsCount do if HorsArray[i]>MaxDistance then begin MaxDistance:=HorsArray[i]; Winner:=i; end; writeln ('Winner is horseman no. ',Winner,'! Distance= ',MaxDistance,' km.'); end. |
|
|
|
|
# 5 |
|
::VIP::
Регистрация: 29.09.2002
Адрес: Очень далеко
Сообщения: 403
![]() |
от 1 до 5 км случайным образом. Длина дистанции – 50 км. Всего проводится 5 заездов
а нафига тут 50км???? коли махимум 25 проковылять могут?? А в прорамульке условие что победили более одного участника???
__________________
Меняю проигрыватель на выигрыватель. |
|
|
|
|
# 6 | ||
|
Guest
Сообщения: n/a
|
Re: Разработать программу, моделирующую игру
Есть несколько вопросов:
1. Скачки прекращаются как только одна из лошадей доскачет до отметки в 50 км, или они двигаются 5 раз по 0-5 км ? 2. Цитата:
3. И что означает: Цитата:
|
||