戦士アルテアに色々させようととりあえず行動を追加してみた
(追記:この文を考えると、行動内容は戦士、何をするかは条件は洞窟というのが自然な気がしますね)
歩くとHPを消費
走るともっと消費
泉の水を飲むと回復
今回は泉の洞窟に変更を加える
public class Cave{
var name="泉の洞窟"
var item:String="泉の水"
var size:Int=20
var stepCount=0;
var player:Warrior;
var direction:Int=1;
var progress:Bool;
public init(player:Warrior){
self.stepCount=0
self.player=player
self.progress=true;
print("\(player.name)は\(name)の探索を始める\n")
}
public func step(){
if(!progress){
return
}
var rand = arc4random()%100
if(rand>60){
stepCount+=direction;
player.hp-=2;
print("\(player.name)が歩く(HP:\(player.hp))\n")
}else if(rand>30){
stepCount+=direction;
player.hp-=6;
print("\(player.name)は走った(HP:\(player.hp))\n")
}else{
//stepCount+=direction;
player.hp++;
print("\(player.name)は少し休んだ(HP:\(player.hp))\n")
}
if(stepCount==20){
direction = -1
stepCount--;
//満タンとかやるならここは、playerの役割なんだろう
player.hp=100;
print("\(player.name)が\(item)を手に入れた。泉の水を少しだけ飲むと体の疲れとれたようだ。(HP:\(player.hp))\n")
}
if(stepCount<0){
progress=false;
print("\(player.name)は\(name)から出た\n")
}
}
}
■出力
アルテアは泉の洞窟の探索を始める
アルテアは少し休んだ(HP:101)
アルテアが歩く(HP:99)
アルテアが歩く(HP:97)
アルテアは走った(HP:91)
アルテアは少し休んだ(HP:92)
アルテアが歩く(HP:90)
アルテアが歩く(HP:88)
アルテアは走った(HP:82)
アルテアは少し休んだ(HP:83)
アルテアが歩く(HP:81)
アルテアは走った(HP:75)
アルテアは走った(HP:69)
アルテアが歩く(HP:67)
アルテアは少し休んだ(HP:68)
アルテアが歩く(HP:66)
アルテアが歩く(HP:64)
アルテアが歩く(HP:62)
アルテアは少し休んだ(HP:63)
アルテアは走った(HP:57)
アルテアが歩く(HP:55)
アルテアは少し休んだ(HP:56)
アルテアは少し休んだ(HP:57)
アルテアは走った(HP:51)
アルテアは走った(HP:45)
アルテアは少し休んだ(HP:46)
アルテアは少し休んだ(HP:47)
アルテアは少し休んだ(HP:48)
アルテアは少し休んだ(HP:49)
アルテアが歩く(HP:47)
アルテアは少し休んだ(HP:48)
アルテアは少し休んだ(HP:49)
アルテアが歩く(HP:47)
アルテアは少し休んだ(HP:48)
アルテアが歩く(HP:46)
アルテアが泉の水を手に入れた。泉の水を少しだけ飲むと体の疲れとれたようだ。(HP:100)
アルテアは少し休んだ(HP:101)
アルテアは走った(HP:95)
アルテアは少し休んだ(HP:96)
アルテアが歩く(HP:94)
アルテアは走った(HP:88)
アルテアが歩く(HP:86)
アルテアは少し休んだ(HP:87)
アルテアが歩く(HP:85)
アルテアが歩く(HP:83)
アルテアは走った(HP:77)
アルテアは少し休んだ(HP:78)
アルテアは少し休んだ(HP:79)
アルテアが歩く(HP:77)
アルテアは走った(HP:71)
アルテアが歩く(HP:69)
アルテアは少し休んだ(HP:70)
アルテアは走った(HP:64)
アルテアは走った(HP:58)
アルテアは少し休んだ(HP:59)
アルテアは少し休んだ(HP:60)
アルテアが歩く(HP:58)
アルテアは少し休んだ(HP:59)
アルテアは走った(HP:53)
アルテアは少し休んだ(HP:54)
アルテアは少し休んだ(HP:55)
アルテアが歩く(HP:53)
アルテアは走った(HP:47)
アルテアは走った(HP:41)
アルテアは少し休んだ(HP:42)
アルテアが歩く(HP:40)
アルテアは少し休んだ(HP:41)
アルテアは少し休んだ(HP:42)
アルテアが歩く(HP:40)
アルテアは少し休んだ(HP:41)
アルテアは走った(HP:35)
アルテアは泉の洞窟から出た
気になる点ありありですね。
HPの最大値とかきになるし、ランダムすぎるので元気なのにやすんだり、走り続けすぎるのもどうか。
場所にいろいろと戦士アルテアを動かしてもらったけど、幾つかは、戦士自体が管理するようにした方がよさそうだ。
ランダムで動かしたけど、ロジック(簡易AI)で判断とかもいれたいね。
徐々に見直していこう。
0 件のコメント:
コメントを投稿