Skip to content

Instantly share code, notes, and snippets.

@ayu-mushi
Created September 9, 2019 07:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ayu-mushi/2321746d0241d5243c2d2b348e0820e3 to your computer and use it in GitHub Desktop.
Save ayu-mushi/2321746d0241d5243c2d2b348e0820e3 to your computer and use it in GitHub Desktop.
rpg.js
function makeZako(n){
return {hp: 20, mp:20, name:"zako" + n};
}
var enemies = [makeZako(0), makeZako(1), makeZako(2), makeZako(3)];
var player = {hp: 20, mp:20, name:"yuusya"};
while (true) {
player.act = prompt("とる行動は? 一斉攻撃(0)、個別攻撃(1)、防御(2)、魔法(3)");
if (player.act === "一斉攻撃" || player.act == "0"){
enemies.forEach(function(enemy){
alert(enemy.name + "(HP:" + enemy.hp + ")を攻撃!");
enemy.hp -= 1;
alert(enemy.name +"のHPは" + enemy.hp + "になった。");
});
}
else if (player.act === "個別攻撃" || player.act == "1"){
var countup = function countup(a, n, i) { a[i] = "(" + i + ") " + enemies[i].name; if (i==n){return a;} else {return countup(a,n,i+1);} };
var enemy_index = parseInt(prompt("どの敵に攻撃する?" + countup([], enemies.length-1, 0)));
alert(enemies[enemy_index].name + "(HP:" + enemies[enemy_index].hp + ")を攻撃!");
enemies[enemy_index].hp -= 10;
alert(enemies[enemy_index].name +"のHPは" + enemies[enemy_index].hp + "になった。");
}
else if (player.act === "防御" || player.act == "2"){
} else if (player.act === "魔法" || player.act == "3"){
} else {
break;
}
// hpが0になったやつは、この世から消したい!!!!!!
enemies.forEach(function(enemy, n){
alert(enemy.name + "さんの生存確認だよ…");
if (enemy.hp <= 0){
alert(enemy.name + "さんは死亡! にゃーーん");
enemies.splice(n, 1);
}
else {
alert(enemy.name + "さんは生存!!やったね!!!畜生!!!!")
}});
}
// 死んだ後のループの回り方がちょっとおかしいかも、まあいいか
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment