SRL Archive - Other Scripts

BlackJack


JuKKa

2007-05-21 13:17:52

Pretty damn proud on this


program StartScript;

Type
Cards = record
Heart: string;
Diamond: String;
Spades: String;
Clubs: String;
end;

var
FirstCard, SecondCard, ThirdCard: String;
FirstCardValue, SecondCardValue,ThirdCardValue, Card: Integer;
CardArray: array of Cards;
ThirdCardUse: Boolean;

Procedure LoadCards;
begin
SetArrayLength(CardArray, 14);
CardArray[1].Heart := 'Heart Ace';
CardArray[2].Heart := 'Heart Two';
CardArray[3].Heart := 'Heart Three';
CardArray[4].Heart := 'Heart Four';
CardArray[5].Heart := 'Heart Five';
CardArray[6].Heart := 'Heart Six';
CardArray[7].Heart := 'Heart Seven';
CardArray[8].Heart := 'Heart Eight';
CardArray[9].Heart := 'Heart Nine';
CardArray[10].Heart := 'Heart Ten';
CardArray[11].Heart := 'Heart Jack';
CardArray[12].Heart := 'Heart Queen';
CardArray[13].Heart := 'Heart King';

CardArray[1].Diamond := 'Diamond Ace';
CardArray[2].Diamond := 'Diamond Two';
CardArray[3].Diamond := 'Diamond Three';
CardArray[4].Diamond := 'Diamond Four';
CardArray[5].Diamond := 'Diamond Five';
CardArray[6].Diamond := 'Diamond Six';
CardArray[7].Diamond := 'Diamond Seven';
CardArray[8].Diamond := 'Diamond Eight';
CardArray[9].Diamond := 'Diamond Nine';
CardArray[10].Diamond := 'Diamond Ten';
CardArray[11].Diamond := 'Diamond Jack';
CardArray[12].Diamond := 'Diamond Queen';
CardArray[13].Diamond := 'Diamond King';

CardArray[1].Spades := 'Spades Ace';
CardArray[2].Spades := 'Spades Two';
CardArray[3].Spades := 'Spades Three';
CardArray[4].Spades := 'Spades Four';
CardArray[5].Spades := 'Spades Five';
CardArray[6].Spades := 'Spades Six';
CardArray[7].Spades := 'Spades Seven';
CardArray[8].Spades := 'Spades Eight';
CardArray[9].Spades := 'Spades Nine';
CardArray[10].Spades := 'Spades Ten';
CardArray[11].Spades := 'Spades Jack';
CardArray[12].Spades := 'Spades Queen';
CardArray[13].Spades := 'Spades King';

CardArray[1].Clubs := 'Clubs Ace';
CardArray[2].Clubs := 'Clubs Two';
CardArray[3].Clubs := 'Clubs Three';
CardArray[4].Clubs := 'Clubs Four';
CardArray[5].Clubs := 'Clubs Five';
CardArray[6].Clubs := 'Clubs Six';
CardArray[7].Clubs := 'Clubs Seven';
CardArray[8].Clubs := 'Clubs Eight';
CardArray[9].Clubs := 'Clubs Nine';
CardArray[10].Clubs := 'Clubs Ten';
CardArray[11].Clubs := 'Clubs Jack';
CardArray[12].Clubs := 'Clubs Queen';
CardArray[13].Clubs := 'Clubs King';
end;

Procedure DealCards;
begin
Card := 1+random(13);
Case 1+Random(4) of
1: FirstCard := CardArray[Card].Clubs;
2: FirstCard := CardArray[Card].Spades;
3: FirstCard := CardArray[Card].Diamond;
4: FirstCard := CardArray[Card].Heart;
End;
if(Card > 11)then Card:= 10;
FirstCardValue:= Card;

Card := 1+random(13);
Case 1+Random(4) of
1: SecondCard := CardArray[Card].Clubs;
2: SecondCard := CardArray[Card].Spades;
3: SecondCard := CardArray[Card].Diamond;
4: SecondCard := CardArray[Card].Heart;
End;
if(Card > 11)then Card:= 10;
SecondCardValue:= Card;

End;

function FullValue: integer;
begin
Result := FirstCardValue + SecondCardValue + ThirdCardValue;
end;
//y
procedure TakeAnOtherCard;
begin
Writeln('');
Writeln('Take Another Card?');
Writeln('Press F5 = Yes');
Writeln('Press F6 = No');
Writeln('');//
repeat
if IsFKeyDown(5)then
Begin
ThirdCardUse := true;
Card := 1+random(13);
Case 1+Random(4) of
1: ThirdCard := CardArray[Card].Clubs;
2: ThirdCard := CardArray[Card].Spades;
3: ThirdCard := CardArray[Card].Diamond;
4: ThirdCard := CardArray[Card].Heart;
End;
if(Card > 10)then Card:= 10;
ThirdCardValue:= Card;
Break;
End;
if IsFKeyDown(6)then
Begin
ThirdCardUse := False;
Break;
end;
until(false);
End;

Function GotBlackJack: Boolean;
begin
if FullValue = 21 then
Begin
Writeln('BlackJack');
Result := true;
End;
end;

begin
ClearDeBug;
LoadCards;
DealCards;
Writeln('You Got: ' + FirstCard + ' And ' + SecondCard);
if GotBlackJack then
begin
Exit;
End Else
Begin
Writeln('You Got: ' + inttostr(FullValue));
TakeAnOtherCard;
if not ThirdCardUse then
begin
Writeln('You Ended With: ' + inttostr(FullValue));
exit;
end;
Writeln('You Got: ' + FirstCard + ', ' + SecondCard + ' And ' + ThirdCard);
if FullValue > 21 then
Begin
Writeln('You had: ' + inttostr(FullValue));
Exit;
End;
if GotBlackJack then
Begin
Exit;
End Else
Begin
Writeln('You have: ' + inttostr(FullValue));
End;
end;
end.

made with scar2.03 should work with divi


SIMPLE:

get the value 21 with cards.
i spent 30 minutes working on it.. 10 minutes for thinking a solution to a error..

USE:

f5: Another Card
f6: no more cards

RATE & Hate

Jason2gs

2007-05-25 12:26:27

Oooh, sweet :p

Now, I challenge you to form it up ;)

Mr.Klean

2007-05-25 17:09:04

Ok, i tried it. It doesn't allow you to hit or stand more than once. So you have to hit start instead of F5, and you can only hit.

Oh and you should add a dealer function so you can play against the dealer, that would be totally cool.

Erik the Red

2007-05-25 22:05:52

A form would be nice and a dealer to play against and maybe even betting would be cool too. As mr.klean said it doesnt let you get more than 1 extra card. But it is a good start at something that could be pretty cool :)

The devil

2007-05-25 22:57:08

I got black jack!