Roulette
by Ayotunde: Y9 Age ~14
Introduction
We chose program Roulette for Ayotunde's interesting dialogue and for the range of options provided at each stage. You have £50 money in the bank at the start in addition to £100 to spend immediately. The console program compiles and runs using Lazarus on the Raspberry Pi. See the next page for an Oxygene for Java version.
The Program
program Roulette; { Copyright (c) 2012 Ayotunde Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License, as described at http://www.apache.org/licenses/ and http://www.pp4s.co.uk/licenses/ } {$APPTYPE CONSOLE} uses SysUtils, Math; var endgame, number, redblack, bet, wheelroll, decide, bank, deposit, take, redblackchoose : integer; total, wager1, wager2, maxbet, minbet: real; procedure betS; begin sleep(500); writeln('You can bet up to three quarters of your current total.'); sleep(500); writeln('How much money do you want to bet, in pounds?'); readln(wager1); maxbet := total * 0.75; minbet := 6; if wager1 >= (maxbet + 1) then begin writeln('That is too much. You want to be able to buy food, no?'); end else if wager1 <= (minbet - 1) then begin writeln('That is too little. This is for-profit business, you know.'); end; end; procedure betR; begin writeln('You can bet up to half of your current total.'); sleep(500); writeln('How much you want to bet?'); readln(wager2); maxbet := total * 0.5; minbet := 6; if wager2 >= (maxbet + 1) then begin writeln('That is too much. You want to be able to buy food, no?'); end else if wager2 <= (minbet - 1) then begin writeln('That is too little. This is for-profit business, you know.'); end; end; begin wager1 := 999; bank := 50; endgame := 5667; total := 100; writeln('Velcome. You vant to lose some cash?'); sleep(500); repeat randomize; writeln('You can place bet on either number or a colour, red or black.'); sleep(500); writeln('You have ' + floattostr(total) + ' pounds. Try not to lose it too fast!'); sleep(500); writeln('1= Bet on a number.'); writeln('2= Bet on red or black.'); writeln('3= Vithdraw some cash.'); readln(bet); if bet = 1 then begin repeat betS; until (wager1 < (maxbet + 1)) and (wager1 > (minbet - 1)); if (wager1 < (maxbet + 1)) and (wager1 > (minbet - 1)) then begin writeln('Bet on a number. It can be anything from 1 to 37.'); wheelroll := random(37) + 1; readln(number); if number = wheelroll then begin writeln('Hey, you hit the jackpot! You guessed right!'); total := total + 30 * wager1; end else begin writeln('Sorry, that is incorrect....hehehe...'); total := total - wager1; end; end; //if wager1 end; //bet = 1 if bet = 2 then begin repeat betR; until (wager2 < (maxbet + 1)) and (wager2 > (minbet - 1)); if (wager2 < (maxbet + 1)) and (wager2 > (minbet - 1)) then begin writeln('Bet on 1 (Red) or 2 (Black).'); redblack := random(2) + 1; //Redblack can either be 2 or 1. readln(redblackchoose); if (redblack = 1) and (redblackchoose = 1) then begin writeln('It came out red. You got lucky this time.'); total := total + wager2; end else if (redblack = 2) and (redblackchoose = 2) then begin writeln('It seems to be black. Fortune has smiled on you.'); total := total + wager2; end else begin writeln('Unlucky, you were wrong.'); total := total - wager2; end; end; end //bet = 2 else if bet = 3 then begin repeat writeln('Your current balance is ', bank, ' pounds.'); sleep(100); writeln('How much you want to vithdraw?'); readln(take); if take > bank then writeln('Hehehe, nice try, kiddo.'); until take <= bank; bank := bank - take; total := total + take; writeln('Your balance is now ', bank, ' pounds.'); end; //bet = 3 writeln('Come on, play Roulette.'); writeln('1= Play the game.'); writeln('2= Quit the game.'); writeln('3= Continue and bank some cash.'); readln(decide); if decide = 2 then begin writeln('........'); endgame := 1789; end else if decide = 3 then begin writeln('How much cash you vant to bank?'); readln(deposit); total := total - deposit; bank := bank + deposit; writeln('Your current balance is ', bank, ' pounds.'); sleep(100); end; if decide = 1 then begin sleep(100); end; until (total < minbet * 2) or (total > 3000) or (endgame = 1789); if total < minbet * 2 then begin writeln('You have ', floattostr(total), ' pounds remaining.'); writeln('You have not got enough money to keep playing. Get out!'); sleep(2000); end; if endgame = 1789 then begin writeln('You have ', floattostr(total), ' pounds remaining.'); if (total + bank) < 150 then begin writeln('Thank you for vasting money. Please show yourself out.'); end; sleep(2000); end; end.