我对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命令行应用程序