2015-05-04 57 views
4

我敢新的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 } 

请记住,我是新的,这篇帖子可能改变,更多的问题可能出现。感谢您的耐心等待,并欢迎所有提示/建议。如果有更好的方式做这个请不要犹豫,以这种方式。

+0

哎,我只是回答了一个问题“读取文件进入Ruby程序“,而你删除它,不是很好 – peter

回答

2

我会选择consctructor的方法,但更喜欢这个

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