Pikachuun

surotsu.js

Jun 4th, 2015
349
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //The only real option:
  2. var moneys = 100;
  3. //Change this to whatever you feel is a good starting amount [default: 100]
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. //Don't modify the below without my permission .3.
  13. var console = require('better-console');
  14. var prompt = require('prompt');
  15. var colors = require('colors');
  16. var colorsa = require('colors/safe');
  17.  
  18. //Function Initialization
  19. var rng = function (num) {
  20.     return Math.floor(Math.random()*num);
  21. };
  22. var intv = function (num, min, max, float, float2) {
  23.     if (float && float2) return (min < num && max > num);
  24.     if (float) return (min < num && max >= num);
  25.     if (float2) return (min <= num && max > num);
  26.     return (min <= num && max >= num);
  27. };
  28. var onErr = function (err) {
  29.     console.log(err);
  30.     return 1;
  31. };
  32. var betFunc = function () {
  33.     if (moneys < 1) {
  34.         console.log('u has no moar moneys rip in peepees ;_;'.blue);
  35.         process.exit();
  36.     }
  37.     prompt.start();
  38.     var plural = (moneys !== 1) ? 's' : '';
  39.     var betting = {
  40.         name: 'betting',
  41.         message: 'pls us 1, 2, or 3:'.black/*,
  42.         validator: /\b(1|2|3)\b/,
  43.         warning: '1 2 3?????'*/
  44.     }
  45.     console.log('Hao mach u bet? (You has ' + moneys + ' uselesscredit' + plural + ')');
  46.     prompt.get(betting, function (err, result) {
  47.         var bet = result.betting;
  48.         /*for (var i in betting) {
  49.             console.log(i);
  50.         }*/
  51.         if (bet === '') {
  52.             console.log('erawr: '.red + 'ay culdnt hre u??????');
  53.             betFunc();
  54.         } else {
  55.             var betSpl = bet.split(' ');
  56.             bet = Number(betSpl[0]);
  57.             if (isNaN(bet)) {
  58.                 console.log('erawr: '.red + 'u w0t m8');
  59.                 betFunc();
  60.             } else if (bet > moneys) {
  61.                 console.log('erawr: '.red + 'But u does not have funds????????');
  62.                 betFunc();
  63.             } else if (bet < 1 || bet > 3 || bet%1) {
  64.                 console.log('erawr: '.red + '1 2 3?????');
  65.                 betFunc();
  66.             } else {
  67.                 machine(bet);
  68.             }
  69.         }
  70.     });
  71. };
  72. var code = function () {
  73.     betFunc();
  74. };
  75. var toId = function (text) {
  76.     var str = (typeof text === 'string' || typeof text === 'number') ? '' + text : '';
  77.     return str.toLowerCase().replace(/[^a-z0-9]+/g, '');
  78. };
  79.  
  80. //Startup
  81. console.clear();
  82.  
  83. //Variable Initialization
  84. var strMat = [' ', '▭', '▬', '▣', '7', '8', '➈', '(´・ω・`)'];
  85. //' ' represents the blank spot on most 1-line slot machines.
  86. //▭ represents a single bar. [Red]
  87. //▬ represents a double bar. [White]
  88. //▣ represents a triple bar. [Blue]
  89. //7 represents 7. [Blue]
  90. //8 represents 7. [White]
  91. //➈ represents 7. [Red]
  92. //(´・ω・`) represents a wild card.
  93.  
  94. for (var i in strMat) {
  95.     if (strMat[i].length === 1) strMat[i] = '   ' + strMat[i] + '   ';
  96.     if (strMat[i].length === 3) strMat[i] = '  ' + strMat[i] + '  ';
  97.     if (strMat[i].length === 5) strMat[i] = ' ' + strMat[i] + ' ';
  98. }
  99. var reel = [0, 2, 0, 4, 0, 1, 0, 5, 0, 3, 0, 7, 0, 6];
  100. var reel1 = reel;
  101. var reel2 = reel;
  102. var reel3 = reel;
  103. var attempts = 0;
  104. var stdin = process.stdin;
  105. var stdout = process.stdout;
  106. prompt.message = '';
  107. prompt.delimiter = '';
  108.  
  109. //Slot machine function
  110. var machine = function (bet) {
  111.     //Moneys subtraction
  112.     moneys -= bet;
  113.     //Position Tracking
  114.     var sel = [rng(reel.length), rng(reel.length), rng(reel.length)];
  115.     var pos = [reel[sel[0]], reel[sel[1]], reel[sel[2]]];
  116.     /*var pos1 = [-1, -1, rng(reel1.length)];
  117.     if (pos1[2] === 1) {
  118.         pos1[0] = reel1.length - 1;
  119.         pos1[1] = 0;
  120.     } else if (pos1[2] < 1) {
  121.         pos1[0] = reel1.length - 2;
  122.         pos1[1] = reel1.length - 1;
  123.     } else {
  124.         pos1[1] = pos1[2] - 1;
  125.         pos1[0] = pos1[1] - 1;
  126.     }
  127.     var pos2 = [-1, -1, rng(reel2.length)];
  128.     if (pos2[2] === 1) {
  129.         pos2[0] = reel2.length - 1;
  130.         pos2[1] = 0;
  131.     } else if (pos2[2] < 1) {
  132.         pos2[0] = reel2.length - 2;
  133.         pos2[1] = reel2.length - 1;
  134.     } else {
  135.         pos2[1] = pos2[2] - 1;
  136.         pos2[0] = pos2[1] - 1;
  137.     }
  138.     var pos3 = [-1, -1, rng(reel3.length)];
  139.     if (pos3[2] === 1) {
  140.         pos3[0] = reel3.length - 1;
  141.         pos3[1] = 0;
  142.     } else if (pos3[2] < 1) {
  143.         pos3[0] = reel3.length - 2;
  144.         pos3[1] = reel3.length - 1;
  145.     } else {
  146.         pos3[1] = pos3[2] - 1;
  147.         pos3[0] = pos3[1] - 1;
  148.     }*/
  149.  
  150.     //Slot Machine "Interface" Creation
  151.     //console.log('-------------------------');
  152.     //console.log('|       |       |       |');
  153.     //console.log('-------------------------');
  154.     //console.log('|       |       |       |');
  155.     //console.log('-------------------------');
  156.     //console.log('|       |       |       |');
  157.     //console.log('-------------------------');
  158.     console.log('-------------------------');
  159.     console.log('|' + strMat[pos[0]] + '|' + strMat[pos[1]] + '|' + strMat[pos[2]] + '|');
  160.     console.log('-------------------------');
  161.     /*console.log('|   ' + reel1[pos1[1]] + '   |   ' + reel2[pos2[1]] + '   |   ' + reel3[pos3[1]] + '   |');
  162.     console.log('-------------------------');
  163.     console.log('|   ' + reel1[pos1[2]] + '   |   ' + reel2[pos2[2]] + '   |   ' + reel3[pos3[2]] + '   |');
  164.     console.log('-------------------------');*/
  165.  
  166.     //Winnings Determination
  167.     var earnings = 0;
  168.     //var bet = 1; //Placeholder until betting support is added
  169.     var premium = false;
  170.     if (pos[0] === 7 && pos[1] === 7 && pos[2] === 7) {
  171.         earnings = [4000, 8000, 20000][bet - 1];
  172.         premium = true;
  173.         console.log('Conglatuariens! You am the Winrar PREMIUM LEVEL! Earnings: ' + earnings + 'uselesscredits');
  174.     } else if ((pos[0] === 6 || pos[0] === 7) && (pos[1] === 5 || pos[1] === 7) && (pos[2] === 4 || pos[2] === 7)) {
  175.         earnings = 400*bet;
  176.     } else if ((pos[0] === 6 || pos[0] === 7) && (pos[1] === 6 || pos[1] === 7) && (pos[2] === 6 || pos[2] === 7)) {
  177.         earnings = 300*bet;
  178.     } else if ((pos[0] === 5 || pos[0] === 7) && (pos[1] === 5 || pos[1] === 7) && (pos[2] === 5 || pos[2] === 7)) {
  179.         earnings = 200*bet;
  180.     } else if ((pos[0] === 4 || pos[0] === 7) && (pos[1] === 4 || pos[1] === 7) && (pos[2] === 4 || pos[2] === 7)) {
  181.         earnings = 100*bet;
  182.     } else if ((intv(pos[0], 4, 6) || pos[0] === 7) && (intv(pos[1], 4, 6) || pos[1] === 7) && (intv(pos[2], 4, 6) === 6 || pos[2] === 7)) {
  183.         earnings = 50*bet;
  184.     } else if ((pos[0] === 3 || pos[0] === 7) && (pos[1] === 2 || pos[1] === 7) && (pos[2] === 1 || pos[2] === 7)) {
  185.         earnings = 50*bet;
  186.     } else if ((pos[0] === 3 || pos[0] === 7) && (pos[1] === 3 || pos[1] === 7) && (pos[2] === 3 || pos[2] === 7)) {
  187.         earnings = 40*bet;
  188.     } else if ((pos[0] === 2 || pos[0] === 7) && (pos[1] === 2 || pos[1] === 7) && (pos[2] === 2 || pos[2] === 7)) {
  189.         earnings = 20*bet;
  190.     } else if ((pos[0] === 1 || pos[0] === 6 || pos[0] === 7) && (pos[1] === 2 || pos[1] === 5 || pos[1] === 7) && (pos[2] === 3 || pos[2] === 4 || pos[2] === 7)) {
  191.         earnings = 20*bet;
  192.     } else if ((pos[0] === 1 || pos[0] === 7) && (pos[1] === 1 || pos[1] === 7) && (pos[2] === 1 || pos[2] === 7)) {
  193.         earnings = 10*bet;
  194.     } else if ((intv(pos[0], 1, 3) || pos[0] === 7) && (intv(pos[1], 1, 3) || pos[1] === 7) && (intv(pos[2], 1, 3) === 6 || pos[2] === 7)) {
  195.         earnings = 5*bet;
  196.     } else if (((pos[0] === 7) + (pos[1] === 7) + (pos[2] === 7)) === 2) {
  197.         earnings = 5*bet;
  198.     } else if ((pos[0] === 1 || pos[0] === 6 || pos[0] === 7) && (pos[1] === 1 || pos[1] === 6 || pos[1] === 7) && (pos[2] === 1 || pos[2] === 6 || pos[2] === 7)) {
  199.         earnings = 2*bet;
  200.     } else if ((pos[0] === 2 || pos[0] === 5 || pos[0] === 7) && (pos[1] === 2 || pos[1] === 5 || pos[1] === 7) && (pos[2] === 2 || pos[2] === 5 || pos[2] === 7)) {
  201.         earnings = 2*bet;
  202.     } else if ((pos[0] === 3 || pos[0] === 4 || pos[0] === 7) && (pos[1] === 3 || pos[1] === 4 || pos[1] === 7) && (pos[2] === 3 || pos[2] === 4 || pos[2] === 7)) {
  203.         earnings = 2*bet;
  204.     } else if (((pos[0] === 7) + (pos[1] === 7) + (pos[2] === 7)) === 1) {
  205.         earnings = 2*bet;
  206.     } else if (pos[0] === 0 && pos[1] === 0 && pos[2] === 0) {
  207.         earnings = bet;
  208.     }
  209.  
  210.     //Winnings Finalization
  211.     if (earnings) {
  212.         if (!premium) {
  213.             var darnPlurals = (earnings === 1) ? '' : 's';
  214.             console.log('Conglatuariens! You am the Winrar! Earnings: ' + earnings + ' uselesscredit' + darnPlurals);
  215.         }
  216.         moneys += earnings;
  217.     } else if (!earnings) {
  218.         console.log('Sorry nothing');
  219.     }
  220.     stdin.resume();
  221.     attempts++;
  222.    
  223.     question();
  224. }
  225.  
  226. //Continue?
  227. var question = function () {
  228.     if (moneys < 1) {
  229.         console.log('u has no moar moneys rip in peepees ;_;'.blue);
  230.         process.exit();
  231.     }
  232.     prompt.start();
  233.     var plural = (moneys !== 1) ? 's' : '';
  234.     var answer = {
  235.         name: 'answer',
  236.         message: 'is yes not question.'.black,/*
  237.         validator: /y[es]*|n[o]?/,
  238.         warning: 'Is yes not question??'*/
  239.     }
  240.     console.log('Wud pray agaig? (You has ' + moneys + ' uselesscredit' + plural + ')');
  241.     prompt.get(answer, function (err, result) {
  242.         var yesno = toId(result.answer);
  243.         if (yesno === '') {
  244.             console.log('erawr: '.red + 'ay culdnt hre u??????');
  245.             question();
  246.         } else if (yesno === 'no' || yesno === 'n' || yesno === 'nah') {
  247.             console.log('okay'.blue);
  248.             process.exit();
  249.         } else if (attempts > 1336 && yesno !== 'no' && yesno !== 'n' && yesno !== 'nah') {
  250.             console.log('I think had enough mang'.red);
  251.             process.exit();
  252.         } else if (yesno === 'yes' || yesno === 'y' || yesno === 'kay' || yesno === 'k' || yesno === 'okay' || yesno === 'ok') {
  253.             console.clear();
  254.             betFunc();
  255.         } else {
  256.             console.log('erawr: '.red + 'u w0t m8');
  257.             question();
  258.         }
  259.     });
  260. }
  261.  
  262. console.log('Code initialized! (.3.)/')
  263. code();
Advertisement
Add Comment
Please, Sign In to add comment