Изменения

746 байт добавлено ,  23:36, 14 ноября 2015
Строка 57: Строка 57:  
<!--Note that the input instruction does not return until the user has entered a value. Since the entire multi-user system cannot halt while waiting for this to happen, only the current procedure waits. More will be said on the subject of multi-tasking in chapter 13.-->
 
<!--Note that the input instruction does not return until the user has entered a value. Since the entire multi-user system cannot halt while waiting for this to happen, only the current procedure waits. More will be said on the subject of multi-tasking in chapter 13.-->
   −
One case in which the input instruction proves useful is when something happens in the game that the player needs to respond to. A verb would be too open-ended for the task, making it difficult for the player to guess what to do next.
+
Инструкция ввода для игрока выглядит как запрос ответа на сложившуюся ситуацию. В таком случае простое применение оператора(verb) было бы слишком неточным для определения дальнейших действий игры.
 +
<!--One case in which the input instruction proves useful is when something happens in the game that the player needs to respond to. A verb would be too open-ended for the task, making it difficult for the player to guess what to do next.
   −
The following code, for example, handles a rather sad event in the life of a player.
+
The following code, for example, handles a rather sad event in the life of a player.-->
 
+
Следующий код показывается пример подобного случая:
mob/proc/Die()
  −
  if(!key) //NPC
  −
      del src
  −
  else    //PC
  −
      loc = null  //vacate the scene
  −
      var/again = input("Play Again?") in list("yes","no")
  −
      if(again == "yes")
  −
        Login() //back to square one!
  −
      else
  −
        del src
  −
When the Die() proc is called, players are asked if they would like to play again. If they do, they are logged in again, presumably to start over. Otherwise, they are deleted (and logged out).
      +
: mob/proc/Die()
 +
:  if(!key) //NPC
 +
:      del src
 +
:  else    //PC
 +
:      loc = null  //покидает игру
 +
:      var/again = input("Играть снова?") in list("Да","Нет")
 +
:      if(again == "Да")
 +
:        Login() //возвращается в игру
 +
:      else
 +
:        del src
 +
Когда вызвана процедура Die(), игрокам будет выдано сообщение - желают ли они продолжить игру. Если они отвечают "Да", то они возвращаются обратно в игру, в противном случае - нет. (Пример, конечно, довольно грубый, но вполне наглядный.)
    
==Output==
 
==Output==
470

правок