2017-08-19 34 views
-2

所以即时编写这个slotmachine代码,以及console.log似乎没有工作即时通讯猜测它有一些事情完全不同,但嘿idno,如果你们可以看看我的代码是在这里 - link to jsfiddleconsole.log不记录 - 一个slotmachine的代码 - javascript

//mappings of lines 
// a1 a2 a3 a4 a5 
// b2 b2 b3 b4 b5 
// c1 c2 c3 c4 c5 
// ------------------ 
// 00 01 02 03 04 
// 10 11 12 13 14 
// 20 21 22 23 24 
// 
// [[false], reels[][], reels[][], reels[][], reels[][], reels[][]] 
// random generated reels 
var reel_1 = [ 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)] 
]; 
var reel_2 = [ 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)] 
]; 
var reel_3 = [ 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)], 
    [Math.floor((Math.random() * 8) + 1)] 
]; 
var reels = [reel_1, reel_2, reel_3]; 
// shorter version 
/*for (i = 0; i < reels.length; i++) { 
    for (y = 0; y < 5; y++) { 
     reels[i].push(Math.floor((Math.random() * 8) + 1); 
    } 
    } 
    */// lines that can get winnings 
    // basic lines 
    var line_1 = [ 
    [false], reels[0][0], reels[0][1], reels[0][2], reels[0][3], reels[0][4] 
    ]; //----- 
    var line_2 = [ 
    [false], reels[1][0], reels[1][1], reels[1][2], reels[1][3], reels[1][4] 
    ]; //----- 
    var line_3 = [ 
    [false], reels[2][0], reels[2][1], reels[2][2], reels[2][3], reels[2][4] 
    ]; //----- 
    // lines starting from first 2 on reel_1 
    var line_4 = [ 
    [false], reels[0][0], reels[0][1], reels[1][2], reels[0][3], reels[0][4] 
    ]; //--v-- 
    var line_5 = [ 
    [false], reels[0][0], reels[0][1], reels[1][2], reels[2][3], reels[2][4] 
    ]; //--\-- 
    // lines starting from first 2 on reel_2 
    var line_6 = [ 
    [false], reels[1][0], reels[1][1], reels[0][2], reels[1][3], reels[1][4] 
    ]; //--A-- 
    var line_7 = [ 
    [false], reels[1][0], reels[1][1], reels[2][2], reels[1][3], reels[1][4] 
    ]; //--v-- 
    // lanes starting from first 2 on reel_2 
    var line_8 = [ 
    [false], reels[2][0], reels[2][1], reels[1][2], reels[0][3], reels[0][4] 
    ]; //--/-- 
    var line_9 = [ 
    [false], reels[2][0], reels[2][1], reels[1][2], reels[2][3], reels[2][4] 
    ]; //--A-- 


    var lines = [line_1, line_2, line_3, line_4, line_5, line_6, line_7, line_8, line_9]; 

    var winning_lines = []; 
    for (var i = 0; i < lines.length; i++) { 
    for (var y = 0; y < lines[i].length; y++) { 
     winning_lines.push = [0]; 
     if (lines[i][0] == false) { 
     while (lines[i][y] == lines[i][y + 1]) { 
      counter = y++; 
      if (counter > 2) { 
      winning_lines[i] = counter; 
      } 

     } 

     } 
    } 
    } 
    //show winnings 

    for (i = 0; i < winning_lines.length; i++) { 
    if (winning_lines[i] > 2) { 
     console.log("on " + (lines[i].toString) + (lines[i][1].toString) + "X" + (winning_lines[i].toString)); 
    } else { 
     console.log("no win"); 
    } 
    } 

林不知道,这个问题似乎什么是莫比任何人都知道这里? 我也有这个错误说我的问题主要是代码,我需要添加一些细节以及如果我可以创建一个老虎机的代码似乎并不是很多它铺设在互联网上

+0

一个的console.log在你的代码工作的开始。结尾的另一个for循环内部没有。注销'winning_lines.length'产生0,所以问题出在你的代码体内,并不是console.log –

回答

0

问题在线路79:

winning_lines.push = [0]; 

推的是一个方法,所以它应该是

winning.lines.push([0]) 
+0

固有的感谢:)我编辑过,但在此期间,我改变了我的代码,使它更好地缩短并且它不工作,你在编辑之后是否尝试过代码? –

+0

@BrynjarHelgiGuðmundsson您的代码修改似乎并不在jsfiddle网址中的原始文章中。如果你谈论我的修改,是的,我已经测试了它,并且控制台消息被正确触发。 – Frankusky