我对javascript很陌生,所以如果我有点慢,请原谅我。我一直在寻找一种可以在控制台上运行的基本文字格斗游戏。这个想法是首先要求用户输入他们的角色名称。我打算使用此:
console.log("Character name:");
var character_name = prompt("Character name:");
我使用的是
repl.it
,因此prompt
实际上并未打印出字符串“字符名称:”,这就是为什么我使用console.log
在控制台中看到它的原因。在给角色命名后,我希望他们能够从三个不同的类别中进行选择:向导,骑士,弓箭手。我将以类似的方式进行操作:
console.log("Please choose your class: wizard, knight, rogue");
var character_class = prompt("Please choose your class: wizard, knight, archer");
if (character_class == "wizard"){
var my_hero = wizard;
} else if (character_class == "knight"){
var my_hero = knight;
} else (character_class == "archer");{
var my_hero = archer;
}
var wizard = new Character(character_name,"wizard",50,15,8,10);
var knight = new Character(character_name,"knight",100,5,3,20);
var archer = new Character(character_name,"archer",75,7,5,25);
function Character(name,characterClass,health,damage,heal,dodge){
this.name = name,
this.characterClass = characterClass,
this.health = health,
this.damage = damage,
this.heal = heal,
this.dodge = dodge;
}
console.log(my_hero)
因此,我想做的是在“角色创建”阶段结束时,我希望能够调用
my_hero
并查看其统计信息。但是,当我执行此操作时,它将显示弓箭手的统计信息,如果选择的话,则不会显示向导/骑士的统计信息。这是我在控制台中看到的内容:Character name:
napp
Please choose your class: wizard, knight, archer
wizard
{ name: 'napp', characterClass: 'archer', health: 75, damage: 7, heal: 5, dodge: 25 }
请记住,我是新手,随着更多问题的出现,此帖子可能会更改。感谢您的耐心配合,我们欢迎所有提示/建议。如果有更好的方法可以做到这一点,请不要犹豫。
最佳答案
我会选择构造器方法,但是更像这样
var Gandalf = new Character("Gandalf", "wizzard", 50, 15, 8);
function Character(name, characterClass, health, damage, heal){
this.name = name,
this.characterClass = characterClass,
this.health = health,
this.damage = damage,
this.heal = heal,
this.dodge = Math.random() * 100 + 1;
}