Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Алгоритм хождения шашки в игре монополия [Delphi, Windows]


alx1979 ©   (2003-10-03 14:07:00) 

Помогите плиз нужен Алгоритм хождения шашки в игре монополия (та котороя с костями настольная) надо по квадрату ходить не въезжаю как отловить
текущюю позицию и куда ее прибамбахать.


alx1979   (2003-10-07 09:18:00) [1]

>  А тут ты еще не разберешься как по кольцу ходить.

Просто когда такой форум существует не охото четео думать было над етим.

А как напишу выложу


Mystic   (2003-10-06 15:42:00) [2]

Опечатка, вместо

  Cube1 := Random(6);
  Cube2 := Random(6);


конечно

  Cube1 := Random(6) + 1;
  Cube2 := Random(6) + 1;


Mystic   (2003-10-06 15:40:00) [3]

Если все поля линейно пронумеровать от Start = 0 до Microsoft (MAX_FIELD-1), то получим:

InitializeGame();
Player := 0;
repeat
 BeforeMove(Player, Position);
 RepeatCount := 0;
 repeat
   Cube1 := Random(6);
   Cube2 := Random(6);
   if (Cube1 = Cube2) and (RepeatCount = 2) then
   begin
     GotoPrison(Player);
     Break;
   end;
   Position := Position + Cube1 + Cube2;
   while Position >= MAX_FIELD do
   begin
     Position := Position - MAX_FIELD;
     Cash := Cash + ROUND_BONUS;
   end;
   AfterMove(Player, Position);
   if GameOver() then Break;
   if Cube1 <> Cube2 then Break;
   RepeatCount := RepeatCount + 1;
 until False;
 Player := Player + 1;
 if Player >= PLAYER_COUNT then Player := 0;
until False;


pasha_676   (2003-10-06 15:20:00) [4]


> Новое положение когда нить вырастит ох..ненно


Ну вы блин даете...

if NewPosition>MaxPosition then NewPosition:=NewPosition-MaxPosition - что то в этом духе

Ты точно уверен что сможешь монополию написать? Там ведь еще залоги существуют, домики-отели, принадлежность разным игрокам, а уж если ИИ добавлять... А тут ты еще не разберешься как по кольцу ходить.


> Квадрат 11х11 полей

Может я уже все подзабыл. Бывает.


alx1979   (2003-10-06 14:47:00) [5]

> Тогда [новыое положение]=[старое положение]+[значение кубиков].

Новое положение когда нить вырастит ох..ненно и че мне тогда вычитать ?


alx1979   (2003-10-06 14:43:00) [6]

>Ты точно монополию делаешь? В ней вроде не 40, а 38 клеток на поле.

Квадрат 11х11 полей


pasha_676   (2003-10-06 14:05:00) [7]


> Проблема как вычислить текущее положение и сколько в каком
> положение ходить дальше

Проблемма в голове. Текущее положение не вычисляется. Оно запоминается. Например в структуре фишке отдельным полем.
Следующее положение - вычисляется. Например все клетки на поле имеют номер. Тогда [новыое положение]=[старое положение]+[значение кубиков]. При превышение нового положения>макс числа положений - выдать 200$ и вычислить остаток - он и будет новым положением.


> по 40-клеточному кругу.

Ты точно монополию делаешь? В ней вроде не 40, а 38 клеток на поле.


Hooch   (2003-10-06 14:01:00) [8]

монополию пишем ? :-)


alx1979   (2003-10-06 13:55:00) [9]

Проблема как вычислить текущее положение и сколько в каком положение ходить дальше


Chiefatin   (2003-10-06 12:11:00) [10]

Ну и в чем проблема то?


alx1979   (2003-10-06 12:02:00) [11]

Ставлю вопрос с головы на ноги

Если есть такие люди, кто не играл в монополию, расскажу, что там бросают 2 шестигранных кубика и идут фишкой вперёд на выпавшее число по 40-клеточному кругу.
Подскажите как организовать хождение фишки по такому полю ?

0 0 0 0 0 0 0 0 0 0 0
0                   0
0                   0
0                   0
0                   0
0                   0
0                   0
0                   0
0                   0
0                   0
0 0 0 0 0 0 0 0 0 0 0


Hooch   (2003-10-03 14:11:00) [12]

>> не въезжаю как отловить
Hook надо поставить

>> и куда ее прибамбахать
попробуй прибамбахать к прибамбуху


Наверх

Титульная страница Поиск, карта сайта Написать письмо