2013-11-11 3 views
0

Я работаю над очень простой формой рулетки в JavaScript, объектно-ориентированной. Я установил доску из 8 (красный 1, белый 2, красный 3, белый 4 ... белый 8), и я выбираю случайную позицию, где мяч будет падать с помощью Math.random.Сравнение последнего значения двух многомерных массивов

this.randomPick = function() { 
     var randomPos = Math.floor(Math.random() * (8 - 1) + 1); 
     var selectedPos = this.board[randomPos]; 
     console.log(selectedPos); 
}; 

Я также прошу пользователя заполнить цвет и число (красный или белый, 1 - 8).

Но тогда я застрял, как я могу сравнить, если вход пользователя равен месту, где упал мяч?

this.board = [["rood", 1], ["wit", 2], ["rood", 3], ["wit", 4], ["rood", 5], ["wit", 6], ["rood", 7], ["wit", 8]]; 

this.userInput = function(){ 
    var inzet = E("inzet").value; 
    var kleur = E("kleur").value; 
    var nummer = E("nummer").value; 

    this.userIn.push(kleur, nummer); 
}; 
+0

Как вы храните номер пользователя и как вы храните номер, на который наносится мяч? Вам просто нужно сравнить их два: 'if (ballNumber == userNumber)' – musefan

+0

Я боюсь, что это сложнее, так как мне нужно сравнить userNumber с ballNumber и userColour с ballColour. И у меня есть многомерный массив this.board, и я храню значения пользователя в this.userIn. –

+0

У вас есть координаты массива, где мяч упал? – tymeJV

ответ

1

Двухэтапное решение. 1.Вставьте цвет и значение ввода пользователя в новый массив ar. 2. сравните этот массив со всеми элементами вашего двух тусклых массивов.

ar = new Array(); 
ar.push(user_chosen_color); 
ar.push(user_chosen_value); 

for(i=0;i<two_dim_array.length;i++) 
{ 
    if(ar==two_dim_array[i]) 
    { 
     // Do what you want to do 
    } 
} 

Обновление

ar = new Array(); 
ar.push(user_chosen_color); 
ar.push(user_chosen_value); 


function caompare(ar , two_dim_array) 
{   
    var res = "Nothing"; 
    for(i=0;i<two_dim_array.length;i++) 
    { 
     if(ar[0]==two_dim_array[i][0]) 
     { 
      res = "Color"; 
      if(ar[1]==two_dim_array[i][1])     
       res = "Both";     
     } 
     else 
     { 
       if(ar[1]==two_dim_array[i][1])     
       res = "Value"; 
     } 
    } 
    return res; 
} 
var res = compare(ar, two_dim_array); 
// Now you have result in res 
+0

Можно ли также дать два вида результатов? Пользователь фиктивно платит, чтобы играть, если только цвет правильный, он выигрывает 0,2 раза от того, что он заплатил. Если число правильное, он получает 5,0 раз от того, что он заплатил. –

+0

есть. конечно. ты можешь. позвольте мне уточнить ответ – Sami

+0

Четыре случая, я считаю, да. Цвет правильный, значение правильное, оба правильные, оба ложные. –

0
8 reds + 8 blacks = 16 total possibly choices. 

//red 
array[1] = 1; 
... 
array[8] = 8; 
//black 
array[9] = 1; 
array[10] = 2; 
.... 
array[16] = 8; 

var user_number = 1; //0 even 1 odd 
var user_color = 0; //0 black 1 red 
var tempa = 0; 

for (var loopa = 1; loopa <= 8; loopa++){ 
    if(user_color == 0){ tempa = loopa + 8; } else { tempa = loopa;} //black or red 
    if (user_number == array[tempa]){ //checks number 
    //do something 
    } 
    } 
} 

================ для каждого типа выигрыша для rolute был бы другой для /, если statments.

получить «Google Chrome» браузер нагрузки на веб-страницу ... в правом верхнем углу нажмите на 3 бара значок Гото вниз к ИНСТРУМЕНТОВ затем нажмите JAVASCRIPT CONSLE

вы можете ввести сказать ... массив , а затем нажмите стрелки, чтобы просмотреть список переменных массива или посмотреть информацию о том, что сказать ... user_number , чтобы посмотреть, что он в настоящее время удерживает.

может помочь визуализировать вещи

Смежные вопросы