簡體   English   中英

獨立JS游戲幫助:如何將用戶輸入轉換為對象?

[英]Standalone JS Game Help: How do I turn user-input into an object?

我想提一下,我目前還沒有將JS與HTML和CSS配對。 我只是在制作一個獨立的JS控制台游戲,以使其對語法更加熟悉。 我的想法是讓人們通過“提示”插入某些參數並能夠列出它們。 到目前為止,我已經達到了“處理提示”的地步。 我需要幫助弄清楚如何讓用戶給出一個“名稱”字段和一個“年齡”字段並將其推入一個數組,我將使用一個列表函數來搜索和列出他們在其中創建的所有人員會話(我不知道如何將Cookie用於此類操作。)

到目前為止,我已經嘗試在要求輸入名稱和年齡時直接在提示框中輸入name, age和年齡,但是它將名稱和年齡保存為數組中的“名稱”項,而不是對象。

TL; DR-我需要將用戶輸入變成一個對象,並將所述對象推入數組。

//We name the functions.
function Person(name, personAge) {
    this.name = name
    this.personAge = personAge
}

function Animal(animalName, species, breed) {
    this.animalName = animalName
    this.species = species
    this.breed = breed
}

function CreateYourOwn(creativeName, species, power, customAge) {
    this.creativeName = creativeName
    this.species = name
    this.power = power
    this.customAge = customAge
}

//We list the arrays.
var Persons = [


    ]

var Animals = [



    ]

var Customs = [


    ]

//I start the prompt to ask the user which one.
var personPrompt = prompt("Welcome to virtual reality! Put in 'person' for person creator, 'animal' for animal creator, and 'custom' for custom creator!").toLowerCase()


//And this is where I am right now.
switch(personPrompt) {
    case 'person':
        var personCreator = prompt("Put in (name, age) in exactly that form").replace(/['"]/g,'');
        this.name = name
        this.age = age
        personCreator = new Person(name, age)
        break;
}

示例: http//jsfiddle.net/oL9dwbp6/

case 'person':
    var personPromtResult = prompt("Put in (name, age) in exactly that form").replace(/['"]/g,'');
    var personPromtResultArray = personPromtResult.split(',');
    if(personPromtResultArray.length!=2){
        alert('Incorrect input!');
        break;
    }
    var name = personPromtResultArray[0];
    var age = parseInt(personPromtResultArray[1]);
    if(isNaN(age)){
        alert('Incorrect age!');
        break;
    }
    var person = new Person(name, age)
    console.log(person);
    break;

您的交換機中存在一些號碼問題,我用一些評論將其重寫:

switch(personPrompt) {
    case 'person':
        //collecting name
        var name = prompt("Name:").replace(/['"]/g,'');
        //collecting age
        var age = prompt("Age:").replace(/['"]/g,'');
        //creating an instance of person
        var person = new Person(name, age);
        //adding person to Persons array
        Persons.push(person);
        break;
}

//and then you can access person that you just created like Persons[0]

的jsfiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM