タイトルが少しわかりにくいかもしれないので、私の状況を説明させてください。
基本的に私はドラゴンのミニゲームを作りました。機能の 1 つは、コンソールがドラゴンを攻撃した後にメッセージをランダム化できるトーク機能です。ただ、そのトーク機能を存在させて発動させる機能を2つ追加したいのですが、前のターンで既に発動している場合は、機能させずに別のトークメッセージを使用したいです。
したがって、次のようなことを言う代わりに:
ドラゴンをたたいた!ドラゴンをたたいた!ドラゴンをたたいた!ドラゴンに当たりました!
毎回ランダム化し、繰り返さないようにしたい。
ドラゴンをたたいた!ドラゴンに当たりました!ドラゴンをたたいた!ドラゴンに当たりました!
私が使用しているコードは長すぎるので、私ができることのスニペットを提供します。
player.TALK = Math.floor(Math.random() * 3);
if (player.HP >= 1) {
if ((player.DAMAGE >= 1) && (player.AIM >= 3) && (player.SPECIALAIM >= 2)){
npc.HP = npc.HP - player.DAMAGE;
if (player.TALK === 0) {console.log("PLAYER HP: " + player.HP + " --You hammer the Dragon for " + player.DAMAGE + " hp! " + "It only has " + npc.HP + "hp left!--");
}
if (player.TALK === 1) {console.log("PLAYER HP: " + player.HP + " --You slice the Dragon for " + player.DAMAGE + " hp! " + "It only has " + npc.HP + "hp left!--");
}
if (player.TALK === 2) {console.log("PLAYER HP: " + player.HP + " --You sever the Dragon for " + player.DAMAGE + " hp! " + "It only has " + npc.HP + "hp left!--");
}
これは、私が持っている大きなコードの一部であり、ここに投稿するには多すぎます。
基本的に私が理解しようとしているのは、コンピューターにステートメントを一度実行させ、もう一度ループバックするときに、前回それを使用した場合は、再度使用しないが完全に壊れないようにする方法です。前回使用した場合は、二度と使用しない場合は、繰り返さず、代わりに別のトークオプションを使用します。