From 239571e3408a3187953bef1dd5d516461bad0e31 Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Thu, 7 Nov 2024 22:52:25 +0200 Subject: Added turns, time limits and turn order randomization (feature/bug?) --- src/main/scala/Model/Action.scala | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/main/scala/Model/Action.scala') diff --git a/src/main/scala/Model/Action.scala b/src/main/scala/Model/Action.scala index 84704ce..11b0bc8 100644 --- a/src/main/scala/Model/Action.scala +++ b/src/main/scala/Model/Action.scala @@ -10,6 +10,14 @@ class Action(input: String): private val verb = commandText.takeWhile( _ != ' ' ) private val modifiers = commandText.drop(verb.length).trim + def takesATurnFor(actor: Entity): Boolean = + this.verb match + case "rest" => true + case "go" => actor.location.hasNeighbor(modifiers) + case "get" => actor.location.hasItem(this.modifiers) + case "drop" => actor.canDrop(this.modifiers) + case other => false + /** Causes the given player to take the action represented by this object, assuming * that the command was understood. Returns a description of what happened as a result * of the action (such as “You go west.”). The description is returned in an `Option` -- cgit v1.2.3