2012-11-22 4 views
1

Я хотел бы сделать функциональность в моей игре Inform7:Inform7: Как создать случайное случайное событие в определенных обстоятельствах в inform7?

Когда игрок решает пройти через пешеходный идя на севере, в первый раз рассказчик будет указывать на игрок, есть шанс, что игрок умрет, и если игрок начнет идти на север снова, то событие произойдет, и в шансе randome 1 из 2 удастся, игрок сможет отправиться в Сад. Как это:

 Instead of going north in the road for the second time when a random chance of 1 in 2 succeeds: 
     say "Yay! You made it!"; 
     now the player is in the Garden. 

     otherwise: 
     say "The car crashed you instantly - without any hope, you lost your whole strength in your body…"; 
     end the game in death. 

Да, этот код не работает .. кто-то может помочь мне понять, как сделать эту работу?

ответ

4

Есть две проблемы с этим кодом:

  1. Информ не допускает оговорку when после for the second time. (Вы можете написать так же, как в случае «случайного шанса 1 из 2 удастся во второй раз», но это означает что-то другое: оно вызовет правило во второй раз, когда случайный случай преуспеет, что во второй раз игрок выжил, пересекая дорогу.)

  2. otherwise должно быть частью заявления if; он не может использоваться с предложением when.

Чтобы исправить код, вы можете просто переместить «случайный шанс» условие в if заявление, а затем изменить знаки препинания так, оба варианта являются частью одного и того же правила:

[I added these lines to make a complete example...] 
Road is a room. 

Garden is a room, north of Road. 

Instead of going north in the road for the first time: 
    say "The road looks dangerous. You hesitate a moment, unsure if you really want to take the risk." 

[And here's the fixed rule:] 
Instead of going north in the road for the second time: 
    if a random chance of 1 in 2 succeeds: 
     say "Yay! You made it!"; 
     now the player is in the Garden; 
    otherwise: 
     say "The car crashed you instantly - without any hope, you lost your whole strength in your body…"; 
     end the game in death.

 Смежные вопросы

  • Нет связанных вопросов^_^