I love it!!! I'm a big fan of ANSI pictures and stuff. I love how you made your digits... good job. Here is my fast re-edit of your little script, helping condense the code into a more manageable size. I'm sure a lot more redundancies could be removed but here's what I came up with:
Code:
program Slots;
type
// Creating a type will allow you to pass it to/from procedures
TLineOfDigit = array[1..9] of string;
var
stop:integer;
DigitData: array[1..3] of TLineOfDigit;
NumbersSelected: String;
RanNumber: Integer;
i: Integer; //standard variable for loops
stoptime1:integer;
const
Stoptime = 100; /// times it will switch numbers... ( 100 is good )
procedure PrepDigit(Number: Integer; Var LineOfText: TLineOfDigit);
begin
case Number of
1 : begin
LineOfText[1]:= ' '
LineOfText[2]:= ' /| '
LineOfText[3]:= ' | '
LineOfText[4]:= ' | '
LineOfText[5]:= ' | '
LineOfText[6]:= ' | '
LineOfText[7]:= ' | '
LineOfText[8]:= ' | '
LineOfText[9]:= ' ____'
end;
2 : begin
LineOfText[1]:= ' ___ '
LineOfText[2]:= ' / \ '
LineOfText[3]:= ' | | '
LineOfText[4]:= ' \ | '
LineOfText[5]:= ' / '
LineOfText[6]:= ' / '
LineOfText[7]:= ' -----'
LineOfText[8]:= ' '
LineOfText[9]:= ' '
end;
3 : begin
LineOfText[1]:= ' ___ '
LineOfText[2]:= ' / \ '
LineOfText[3]:= ' | '
LineOfText[4]:= ' ___/ '
LineOfText[5]:= ' \ '
LineOfText[6]:= ' | '
LineOfText[7]:= ' ___/ '
LineOfText[8]:= ' '
LineOfText[9]:= ' '
end;
4 : begin
LineOfText[1]:= ' | | '
LineOfText[2]:= ' | | '
LineOfText[3]:= ' | | '
LineOfText[4]:= ' |____| '
LineOfText[5]:= ' | '
LineOfText[6]:= ' | '
LineOfText[7]:= ' | '
LineOfText[8]:= ' | '
LineOfText[9]:= ' '
end;
5 : begin
LineOfText[1]:= ' ____ '
LineOfText[2]:= ' / '
LineOfText[3]:= ' |__ '
LineOfText[4]:= ' \ '
LineOfText[5]:= ' | '
LineOfText[6]:= '___/ '
LineOfText[7]:= ' '
LineOfText[8]:= ' '
LineOfText[9]:= ' '
end;
6 : begin
LineOfText[1]:= ' / '
LineOfText[2]:= ' / '
LineOfText[3]:= ' / '
LineOfText[4]:= ' / '
LineOfText[5]:= ' | _ '
LineOfText[6]:= ' | / \ '
LineOfText[7]:= ' | | '
LineOfText[8]:= ' \___/ '
LineOfText[9]:= ' '
end;
7 : begin
LineOfText[1]:= ' ____ '
LineOfText[2]:= ' / '
LineOfText[3]:= ' / '
LineOfText[4]:= ' / '
LineOfText[5]:= ' / '
LineOfText[6]:= '/ '
LineOfText[7]:= ' '
LineOfText[8]:= ' '
LineOfText[9]:= ' '
end;
8 : begin
LineOfText[1]:= ' _____ '
LineOfText[2]:= '/ \ '
LineOfText[3]:= '| | '
LineOfText[4]:= ' \___/ '
LineOfText[5]:= ' / \ '
LineOfText[6]:= '| | '
LineOfText[7]:= ' \___/ '
LineOfText[8]:= ' '
LineOfText[9]:= ' '
end;
9 : begin
LineOfText[1]:= ' ____ '
LineOfText[2]:= '/ \ '
LineOfText[3]:= '\_____| '
LineOfText[4]:= ' / '
LineOfText[5]:= ' / '
LineOfText[6]:= ' / '
LineOfText[7]:= ' / '
LineOfText[8]:= ' / '
LineOfText[9]:= '/ '
end;
end;
end;
begin
cleardebug;
WriteLn('Lets see what you will get...')
Stoptime1:= stoptime
wait(1000)
repeat
wait(100)
cleardebug;
NumbersSelected := '';
//loop through all digits to fill in
for i := 1 to 3 do
begin
// lets pick the number
RanNumber := Random(9) + 1;
NumbersSelected := (NumbersSelected + inttostr(RanNumber));
// lets fill in the lines for each digit
PrepDigit(RanNumber, DigitData[i]);
end; //for i := 1 to 3 do
// write groovie ansi digits to screen
WriteLn('////////// ////////// //////////')
writeLn('/'+DigitData[1][1]+'/ /'+DigitData[2][1]+'/ /'+DigitData[3][1]+'/')
writeLn('/'+DigitData[1][2]+'/ /'+DigitData[2][2]+'/ /'+DigitData[3][2]+'/')
writeLn('/'+DigitData[1][3]+'/ /'+DigitData[2][3]+'/ /'+DigitData[3][3]+'/')
writeLn('/'+DigitData[1][4]+'/ /'+DigitData[2][4]+'/ /'+DigitData[3][4]+'/')
writeLn('/'+DigitData[1][5]+'/ /'+DigitData[2][5]+'/ /'+DigitData[3][5]+'/')
writeLn('/'+DigitData[1][6]+'/ /'+DigitData[2][6]+'/ /'+DigitData[3][6]+'/')
writeLn('/'+DigitData[1][7]+'/ /'+DigitData[2][7]+'/ /'+DigitData[3][7]+'/')
writeLn('/'+DigitData[1][8]+'/ /'+DigitData[2][8]+'/ /'+DigitData[3][8]+'/')
writeLn('/'+DigitData[1][9]+'/ /'+DigitData[2][9]+'/ /'+DigitData[3][9]+'/')
WriteLn('////////// ////////// //////////')
stop:= stop + 1
stoptime1:= stoptime1 - 1
Status(inttostr(stoptime1)+' more times');
until(stop>= Stoptime)
WriteLn(' You got ' + NumbersSelected + '!')
WriteLn(' ARE YOU T3H MAST3R??? Answer... Nope, Flyboy is T3H MAST3R!!!')
end.
I would suggest using meaningful labels to your variables... It can get very confusing if you use the same word with just different spellings.
You did a great job using arrays... Well done!!!
All in all I would give this an 8 for creativity (yes I do love ANSI)
Keep those scripts coming!!!!!!