基本文本战斗游戏JavaScript



我对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 }

请记住,我是新手,随着更多的问题可能会出现,这篇文章可能会发生变化。感谢您的耐心配合和所有提示/建议。如果有更好的方法,请不要犹豫。

我会选择constcuctor方法,但更像是这样

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;
}

您可能需要使用Commander库。

还请参阅此帖子:

  • first node.js命令行应用程序

最新更新