Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //The only real option:
- var moneys = 100;
- //Change this to whatever you feel is a good starting amount [default: 100]
- //Don't modify the below without my permission .3.
- var console = require('better-console');
- var prompt = require('prompt');
- var colors = require('colors');
- var colorsa = require('colors/safe');
- //Function Initialization
- var rng = function (num) {
- return Math.floor(Math.random()*num);
- };
- var intv = function (num, min, max, float, float2) {
- if (float && float2) return (min < num && max > num);
- if (float) return (min < num && max >= num);
- if (float2) return (min <= num && max > num);
- return (min <= num && max >= num);
- };
- var onErr = function (err) {
- console.log(err);
- return 1;
- };
- var betFunc = function () {
- if (moneys < 1) {
- console.log('u has no moar moneys rip in peepees ;_;'.blue);
- process.exit();
- }
- prompt.start();
- var plural = (moneys !== 1) ? 's' : '';
- var betting = {
- name: 'betting',
- message: 'pls us 1, 2, or 3:'.black/*,
- validator: /\b(1|2|3)\b/,
- warning: '1 2 3?????'*/
- }
- console.log('Hao mach u bet? (You has ' + moneys + ' uselesscredit' + plural + ')');
- prompt.get(betting, function (err, result) {
- var bet = result.betting;
- /*for (var i in betting) {
- console.log(i);
- }*/
- if (bet === '') {
- console.log('erawr: '.red + 'ay culdnt hre u??????');
- betFunc();
- } else {
- var betSpl = bet.split(' ');
- bet = Number(betSpl[0]);
- if (isNaN(bet)) {
- console.log('erawr: '.red + 'u w0t m8');
- betFunc();
- } else if (bet > moneys) {
- console.log('erawr: '.red + 'But u does not have funds????????');
- betFunc();
- } else if (bet < 1 || bet > 3 || bet%1) {
- console.log('erawr: '.red + '1 2 3?????');
- betFunc();
- } else {
- machine(bet);
- }
- }
- });
- };
- var code = function () {
- betFunc();
- };
- var toId = function (text) {
- var str = (typeof text === 'string' || typeof text === 'number') ? '' + text : '';
- return str.toLowerCase().replace(/[^a-z0-9]+/g, '');
- };
- //Startup
- console.clear();
- //Variable Initialization
- var strMat = [' ', '▭', '▬', '▣', '7', '8', '➈', '(´・ω・`)'];
- //' ' represents the blank spot on most 1-line slot machines.
- //▭ represents a single bar. [Red]
- //▬ represents a double bar. [White]
- //▣ represents a triple bar. [Blue]
- //7 represents 7. [Blue]
- //8 represents 7. [White]
- //➈ represents 7. [Red]
- //(´・ω・`) represents a wild card.
- for (var i in strMat) {
- if (strMat[i].length === 1) strMat[i] = ' ' + strMat[i] + ' ';
- if (strMat[i].length === 3) strMat[i] = ' ' + strMat[i] + ' ';
- if (strMat[i].length === 5) strMat[i] = ' ' + strMat[i] + ' ';
- }
- var reel = [0, 2, 0, 4, 0, 1, 0, 5, 0, 3, 0, 7, 0, 6];
- var reel1 = reel;
- var reel2 = reel;
- var reel3 = reel;
- var attempts = 0;
- var stdin = process.stdin;
- var stdout = process.stdout;
- prompt.message = '';
- prompt.delimiter = '';
- //Slot machine function
- var machine = function (bet) {
- //Moneys subtraction
- moneys -= bet;
- //Position Tracking
- var sel = [rng(reel.length), rng(reel.length), rng(reel.length)];
- var pos = [reel[sel[0]], reel[sel[1]], reel[sel[2]]];
- /*var pos1 = [-1, -1, rng(reel1.length)];
- if (pos1[2] === 1) {
- pos1[0] = reel1.length - 1;
- pos1[1] = 0;
- } else if (pos1[2] < 1) {
- pos1[0] = reel1.length - 2;
- pos1[1] = reel1.length - 1;
- } else {
- pos1[1] = pos1[2] - 1;
- pos1[0] = pos1[1] - 1;
- }
- var pos2 = [-1, -1, rng(reel2.length)];
- if (pos2[2] === 1) {
- pos2[0] = reel2.length - 1;
- pos2[1] = 0;
- } else if (pos2[2] < 1) {
- pos2[0] = reel2.length - 2;
- pos2[1] = reel2.length - 1;
- } else {
- pos2[1] = pos2[2] - 1;
- pos2[0] = pos2[1] - 1;
- }
- var pos3 = [-1, -1, rng(reel3.length)];
- if (pos3[2] === 1) {
- pos3[0] = reel3.length - 1;
- pos3[1] = 0;
- } else if (pos3[2] < 1) {
- pos3[0] = reel3.length - 2;
- pos3[1] = reel3.length - 1;
- } else {
- pos3[1] = pos3[2] - 1;
- pos3[0] = pos3[1] - 1;
- }*/
- //Slot Machine "Interface" Creation
- //console.log('-------------------------');
- //console.log('| | | |');
- //console.log('-------------------------');
- //console.log('| | | |');
- //console.log('-------------------------');
- //console.log('| | | |');
- //console.log('-------------------------');
- console.log('-------------------------');
- console.log('|' + strMat[pos[0]] + '|' + strMat[pos[1]] + '|' + strMat[pos[2]] + '|');
- console.log('-------------------------');
- /*console.log('| ' + reel1[pos1[1]] + ' | ' + reel2[pos2[1]] + ' | ' + reel3[pos3[1]] + ' |');
- console.log('-------------------------');
- console.log('| ' + reel1[pos1[2]] + ' | ' + reel2[pos2[2]] + ' | ' + reel3[pos3[2]] + ' |');
- console.log('-------------------------');*/
- //Winnings Determination
- var earnings = 0;
- //var bet = 1; //Placeholder until betting support is added
- var premium = false;
- if (pos[0] === 7 && pos[1] === 7 && pos[2] === 7) {
- earnings = [4000, 8000, 20000][bet - 1];
- premium = true;
- console.log('Conglatuariens! You am the Winrar PREMIUM LEVEL! Earnings: ' + earnings + 'uselesscredits');
- } else if ((pos[0] === 6 || pos[0] === 7) && (pos[1] === 5 || pos[1] === 7) && (pos[2] === 4 || pos[2] === 7)) {
- earnings = 400*bet;
- } else if ((pos[0] === 6 || pos[0] === 7) && (pos[1] === 6 || pos[1] === 7) && (pos[2] === 6 || pos[2] === 7)) {
- earnings = 300*bet;
- } else if ((pos[0] === 5 || pos[0] === 7) && (pos[1] === 5 || pos[1] === 7) && (pos[2] === 5 || pos[2] === 7)) {
- earnings = 200*bet;
- } else if ((pos[0] === 4 || pos[0] === 7) && (pos[1] === 4 || pos[1] === 7) && (pos[2] === 4 || pos[2] === 7)) {
- earnings = 100*bet;
- } 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)) {
- earnings = 50*bet;
- } else if ((pos[0] === 3 || pos[0] === 7) && (pos[1] === 2 || pos[1] === 7) && (pos[2] === 1 || pos[2] === 7)) {
- earnings = 50*bet;
- } else if ((pos[0] === 3 || pos[0] === 7) && (pos[1] === 3 || pos[1] === 7) && (pos[2] === 3 || pos[2] === 7)) {
- earnings = 40*bet;
- } else if ((pos[0] === 2 || pos[0] === 7) && (pos[1] === 2 || pos[1] === 7) && (pos[2] === 2 || pos[2] === 7)) {
- earnings = 20*bet;
- } 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)) {
- earnings = 20*bet;
- } else if ((pos[0] === 1 || pos[0] === 7) && (pos[1] === 1 || pos[1] === 7) && (pos[2] === 1 || pos[2] === 7)) {
- earnings = 10*bet;
- } 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)) {
- earnings = 5*bet;
- } else if (((pos[0] === 7) + (pos[1] === 7) + (pos[2] === 7)) === 2) {
- earnings = 5*bet;
- } 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)) {
- earnings = 2*bet;
- } 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)) {
- earnings = 2*bet;
- } 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)) {
- earnings = 2*bet;
- } else if (((pos[0] === 7) + (pos[1] === 7) + (pos[2] === 7)) === 1) {
- earnings = 2*bet;
- } else if (pos[0] === 0 && pos[1] === 0 && pos[2] === 0) {
- earnings = bet;
- }
- //Winnings Finalization
- if (earnings) {
- if (!premium) {
- var darnPlurals = (earnings === 1) ? '' : 's';
- console.log('Conglatuariens! You am the Winrar! Earnings: ' + earnings + ' uselesscredit' + darnPlurals);
- }
- moneys += earnings;
- } else if (!earnings) {
- console.log('Sorry nothing');
- }
- stdin.resume();
- attempts++;
- question();
- }
- //Continue?
- var question = function () {
- if (moneys < 1) {
- console.log('u has no moar moneys rip in peepees ;_;'.blue);
- process.exit();
- }
- prompt.start();
- var plural = (moneys !== 1) ? 's' : '';
- var answer = {
- name: 'answer',
- message: 'is yes not question.'.black,/*
- validator: /y[es]*|n[o]?/,
- warning: 'Is yes not question??'*/
- }
- console.log('Wud pray agaig? (You has ' + moneys + ' uselesscredit' + plural + ')');
- prompt.get(answer, function (err, result) {
- var yesno = toId(result.answer);
- if (yesno === '') {
- console.log('erawr: '.red + 'ay culdnt hre u??????');
- question();
- } else if (yesno === 'no' || yesno === 'n' || yesno === 'nah') {
- console.log('okay'.blue);
- process.exit();
- } else if (attempts > 1336 && yesno !== 'no' && yesno !== 'n' && yesno !== 'nah') {
- console.log('I think had enough mang'.red);
- process.exit();
- } else if (yesno === 'yes' || yesno === 'y' || yesno === 'kay' || yesno === 'k' || yesno === 'okay' || yesno === 'ok') {
- console.clear();
- betFunc();
- } else {
- console.log('erawr: '.red + 'u w0t m8');
- question();
- }
- });
- }
- console.log('Code initialized! (.3.)/')
- code();
Advertisement
Add Comment
Please, Sign In to add comment