Advertisement
Guest User

Untitled

a guest
Jan 19th, 2020
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // метод для случайного броска кубика
  2. const dice = {
  3.   roll:function rollDice() {
  4.     return Math.floor(Math.random() * 6) + 1
  5.   }
  6. }
  7.  
  8.  
  9. function game() {
  10.   let board = [
  11.     [[], [], [], [], [], [], [], [], [], [], []],
  12.     [[], [], [], [], [], [], [], [], [], [], []]
  13.   ];
  14.   let charA = 'A';
  15.   let charB = 'B';
  16.  
  17.   race(board, charA, charB);
  18. }
  19.  
  20. function whoWon(finishCar) {
  21.   const winCar = finishCar;
  22.   console.log(`Win Win Win! Car ${finishCar} finished!`);
  23. }
  24.  
  25. function race(board, charA, charB) {
  26.   board[0][0] = charA;
  27.   board[1][0] = charB;
  28.   let positionA = board[0].indexOf(charA);
  29.   let positionB = board[1].indexOf(charB);
  30.   const distance = board[0].length;
  31.   const trackA = 0;
  32.   const trackB = 1;
  33.  
  34.   printBoard(board);
  35.   setTimeout(start, 1000, board, charA, charB, positionA, positionB, distance, trackA, trackB);
  36. //   while (positionA < distance && positionB < distance) {
  37. //     let movingB = dice.roll();
  38. //     let movingA = dice.roll();
  39.  
  40. //     board = movingA > movingB ? changePosition(board, trackA, charA)
  41. //                               : changePosition(board, trackB, charB);
  42. //     positionA = board[trackA].indexOf(charA);
  43. //     positionB = board[trackB].indexOf(charB);
  44.    
  45. //     if (positionA == distance) {
  46. //       whoWon(charA);
  47. //       break;
  48. //     }
  49. //     if (positionB == distance) {
  50. //       whoWon(charB);
  51. //       break;
  52. //     }
  53. //     console.clear();
  54. //     // setTimeout(printBoard, 1000, board);
  55. //     printBoard(board);
  56. //   }
  57. }
  58.  
  59. function changePosition(board, track, figure) {
  60.   position = board[track].indexOf(figure);
  61.   board[track][position] = [];
  62.   board[track][position + 1] = figure;
  63.  
  64.   return board;
  65. }
  66.  
  67. function start(board, charA, charB, positionA, positionB, distance, trackA, trackB) {
  68.   while (positionA < distance && positionB < distance) {
  69.     let movingB = dice.roll();
  70.     let movingA = dice.roll();
  71.  
  72.     board = movingA > movingB ? changePosition(board, trackA, charA)
  73.                               : changePosition(board, trackB, charB);
  74.     positionA = board[trackA].indexOf(charA);
  75.     positionB = board[trackB].indexOf(charB);
  76.    
  77.     if (positionA == distance) {
  78.       whoWon(charA);
  79.       break;
  80.     }
  81.     if (positionB == distance) {
  82.       whoWon(charB);
  83.       break;
  84.     }
  85.     console.clear();
  86.     console.table(board);
  87.   }
  88. }
  89.  
  90. function printBoard(board) {
  91.   console.table(board);
  92. }
  93.  
  94. // вызывает игру
  95. game();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement