From 10e17c0853825f180fe0acbcfc607a724c5c153e Mon Sep 17 00:00:00 2001 From: Song Minjae Date: Tue, 27 Dec 2016 22:43:15 +0900 Subject: [PATCH] random roam around AI Former-commit-id: 5edf7e848f519d440ecb915b7d6e27e9ead8dd6f Former-commit-id: e89bfcd8b443c77e88d5ec7090f836b77ae5f02b --- .../gameactors/ai/scripts/PokemonNPCAI.kt | 46 +++++++++++++++++-- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/src/net/torvald/terrarum/gameactors/ai/scripts/PokemonNPCAI.kt b/src/net/torvald/terrarum/gameactors/ai/scripts/PokemonNPCAI.kt index 4b5479e08..13ba626b4 100644 --- a/src/net/torvald/terrarum/gameactors/ai/scripts/PokemonNPCAI.kt +++ b/src/net/torvald/terrarum/gameactors/ai/scripts/PokemonNPCAI.kt @@ -8,13 +8,49 @@ package net.torvald.terrarum.gameactors.ai.scripts object PokemonNPCAI { operator fun invoke(): String = """ -counter = 1 +timeCounter = 0 +countMax = 0 +moveMode = math.random() >= 0.5 and "left" or "right" +currentMode = "turn" + +function generateTurn() + return 4600 + 1250 * math.random() +end + +function generateWalk() + return 568 + 342 * math.random() +end + + + +countMax = generateTurn() function update(delta) - ai.moveRight() - print("delta", delta) - counter = counter + delta - print("testcounter", counter) + timeCounter = timeCounter + delta + + if currentMode == "turn" then + -- wait + -- reset counter + if timeCounter >= countMax then + timeCounter = 0 + currentMode = "move" + countMax = generateWalk() + moveMode = (moveMode == "left") and "right" or "left" + end + elseif currentMode == "move" then + -- move + if moveMode == "left" then + ai.moveLeft() + elseif moveMode == "right" then + ai.moveRight() + end + -- reset counter + if timeCounter >= countMax then + timeCounter = 0 + currentMode = "turn" + countMax = generateTurn() + end + end end """ } \ No newline at end of file