Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 BlackJack >. HELP ME I SUCK AT PROGRAMMING
Index -> Programming, Turing -> Turing Submissions
View previous topic Printable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
putz33




PostPosted: Tue Dec 11, 2007 11:41 am   Post subject: BlackJack >. HELP ME I SUCK AT PROGRAMMING

%Mark Wallis
%October 22nd 2007
%Black Jack
import GUI in "%oot/lib/GUI"
setscreen ("graphics:600;384")

var drandCard, drandCard2, drandCard3, drandCard4, randCard, randCard2,
randCard3 : int
:= 0
var dealerscore : int
var score : int
var z : int := 250
var name : string
var hscore : int := 0

procedure Intro
drawfillbox (0, 0, 600, 600, white)
Pic.ScreenLoad ("blackjacktext.bmp", 200, 80, picCopy)
Pic.ScreenLoad ("1clubs.bmp", 0, 0, picCopy)
Pic.ScreenLoad ("2clubs.bmp", 14, 0, picCopy)
Pic.ScreenLoad ("3clubs.bmp", 28, 0, picCopy)
Pic.ScreenLoad ("4clubs.bmp", 42, 0, picCopy)
Pic.ScreenLoad ("5clubs.bmp", 56, 0, picCopy)
Pic.ScreenLoad ("6clubs.bmp", 70, 0, picCopy)
Pic.ScreenLoad ("7clubs.bmp", 84, 0, picCopy)
Pic.ScreenLoad ("8clubs.bmp", 98, 0, picCopy)
Pic.ScreenLoad ("9clubs.bmp", 112, 0, picCopy)
Pic.ScreenLoad ("10clubs.bmp", 126, 0, picCopy)
Pic.ScreenLoad ("11clubs.bmp", 140, 0, picCopy)
Pic.ScreenLoad ("12clubs.bmp", 154, 0, picCopy)
Pic.ScreenLoad ("0clubs.bmp", 168, 0, picCopy)

delay (300)

Pic.ScreenLoad ("1spade.bmp", 0, 96, picCopy)
Pic.ScreenLoad ("2spade.bmp", 14, 96, picCopy)
Pic.ScreenLoad ("3spade.bmp", 28, 96, picCopy)
Pic.ScreenLoad ("4spade.bmp", 42, 96, picCopy)
Pic.ScreenLoad ("5spade.bmp", 56, 96, picCopy)
Pic.ScreenLoad ("6spade.bmp", 70, 96, picCopy)
Pic.ScreenLoad ("7spade.bmp", 84, 96, picCopy)
Pic.ScreenLoad ("8spade.bmp", 98, 96, picCopy)
Pic.ScreenLoad ("9spade.bmp", 112, 96, picCopy)
Pic.ScreenLoad ("10spade.bmp", 126, 96, picCopy)
Pic.ScreenLoad ("11spade.bmp", 140, 96, picCopy)
Pic.ScreenLoad ("12spade.bmp", 154, 96, picCopy)
Pic.ScreenLoad ("0spade.bmp", 168, 96, picCopy)

delay (300)

Pic.ScreenLoad ("1Diamond.bmp", 0, 192, picCopy)
Pic.ScreenLoad ("2Diamond.bmp", 14, 192, picCopy)
Pic.ScreenLoad ("3Diamond.bmp", 28, 192, picCopy)
Pic.ScreenLoad ("4Diamond.bmp", 42, 192, picCopy)
Pic.ScreenLoad ("5Diamond.bmp", 56, 192, picCopy)
Pic.ScreenLoad ("6Diamond.bmp", 70, 192, picCopy)
Pic.ScreenLoad ("7Diamond.bmp", 84, 192, picCopy)
Pic.ScreenLoad ("8Diamond.bmp", 98, 192, picCopy)
Pic.ScreenLoad ("9Diamond.bmp", 112, 192, picCopy)
Pic.ScreenLoad ("10Diamond.bmp", 126, 192, picCopy)
Pic.ScreenLoad ("11Diamond.bmp", 140, 192, picCopy)
Pic.ScreenLoad ("12Diamond.bmp", 154, 192, picCopy)
Pic.ScreenLoad ("0Diamond.bmp", 168, 192, picCopy)

delay (300)

Pic.ScreenLoad ("1heart.bmp", 0, 288, picCopy)
Pic.ScreenLoad ("2heart.bmp", 14, 288, picCopy)
Pic.ScreenLoad ("3heart.bmp", 28, 288, picCopy)
Pic.ScreenLoad ("4heart.bmp", 42, 288, picCopy)
Pic.ScreenLoad ("5heart.bmp", 56, 288, picCopy)
Pic.ScreenLoad ("6heart.bmp", 70, 288, picCopy)
Pic.ScreenLoad ("7heart.bmp", 84, 288, picCopy)
Pic.ScreenLoad ("8heart.bmp", 98, 288, picCopy)
Pic.ScreenLoad ("9heart.bmp", 112, 288, picCopy)
Pic.ScreenLoad ("10heart.bmp", 126, 288, picCopy)
Pic.ScreenLoad ("11heart.bmp", 140, 288, picCopy)
Pic.ScreenLoad ("12heart.bmp", 154, 288, picCopy)
Pic.ScreenLoad ("0heart.bmp", 168, 288, picCopy)


delay (3000)
cls
drawfillbox (0, 0, 600, 600, 0)
end Intro

%- Intro
drawfillbox (0, 0, 800, 500, green)
locate (16, 19)
put "Enter your name: " ..
get name
setscreen ("graphics:800;500")
drawfillbox (0, 0, 800, 500, green)

type cardType :
record
suit : string
value : int
dealt : boolean
pic : string
end record

var cards : array 1 .. 52 of cardType


for x : 1 .. 52
cards (x).dealt := false

if x >= 1 and x <= 13 then
cards (x).suit := "clubs"
cards (x).pic := intstr (x mod 13) + "clubs.bmp"
if x >= 2 and x <= 10 then
cards (x).value := x
elsif x = 1 then
cards (x).value := 11
elsif x >= 11 and x <= 13 then
cards (x).value := 10
end if
end if
if x >= 14 and x <= 26 then
cards (x).suit := "spades"
cards (x).pic := intstr (x mod 13) + "spade.bmp"
if x >= 15 and x <= 23 then
cards (x).value := x mod 13
elsif x = 14 then
cards (x).value := 11
elsif x >= 24 and x <= 26 then
cards (x).value := 10

end if
end if
if x >= 27 and x <= 39 then
cards (x).suit := "diamonds"
cards (x).pic := intstr (x mod 13) + "Diamond.bmp"
if x >= 28 and x <= 36 then
cards (x).value := x mod 13
elsif x = 27 then
cards (x).value := 11
elsif x >= 37 and x <= 39 then
cards (x).value := 10

end if
end if
if x >= 40 and x <= 52 then
cards (x).suit := "hearts"
cards (x).pic := intstr (x mod 13) + "heart.bmp"
if x >= 41 and x <= 49 then
cards (x).value := x mod 13
elsif x = 40 then
cards (x).value := 11
elsif x >= 49 and x <= 52 then
cards (x).value := 10
end if
end if
end for


%- procedure DealerRandomCard
loop
randint (drandCard, 1, 52)
if cards (drandCard).dealt = false then
Pic.ScreenLoad ("guy.bmp", 100, 400, picCopy)
cards (drandCard).dealt := true
exit
end if
end loop
loop
randint (drandCard2, 1, 52)
if cards (drandCard2).dealt = false then
Pic.ScreenLoad (cards (drandCard2).pic, 200, 400, picCopy)
cards (drandCard2).dealt := true
exit
end if
end loop


dealerscore := cards (drandCard2).value

locate (10, 1)
put "Dealerscore : ", dealerscore

%- end DealerRandomCard
%-
%- DealerRandomCard


%- procedure RandomCard

loop
randint (randCard, 1, 52)
if cards (randCard).dealt = false then
Pic.ScreenLoad (cards (randCard).pic, 100, 100, picCopy)
cards (randCard).dealt := true
exit
end if
end loop

loop
randint (randCard2, 1, 52)
if cards (randCard2).dealt = false then
Pic.ScreenLoad (cards (randCard2).pic, 200, 100, picCopy)
cards (randCard2).dealt := true
exit
end if
end loop


%- end RandomCard
%- RandomCard

score := cards (randCard).value + cards (randCard2).value

locate (40, 1)

put "Score : ", score

if score = 21 then
locate (15, 5)
put "Black Jack! You Win"
hscore := hscore + 1
end if

procedure Hitme
randCard := 0

var y : int := 0

z := z + 50

randint (randCard, 1, 52)

Pic.ScreenLoad (cards (randCard).pic, z, 100, picCopy)

score := score + cards (randCard).value

if score > 21 then
locate (15, 5)
put "You Bust!!"
Pic.ScreenLoad (cards (drandCard).pic, 100, 400, picCopy)

elsif score = 21 then
locate (17, 10)
put "Blackjack, you win!"
hscore := hscore + 1
end if

locate (40, 1)
put "Score : ", score

end Hitme

procedure Stay

Pic.ScreenLoad (cards (drandCard).pic, 100, 400, picCopy)

dealerscore := dealerscore + cards (drandCard).value
locate (10, 1)
put "Dealer Score : ", dealerscore
if dealerscore <= 15 then
loop
randint (drandCard3, 1, 52)
if cards (drandCard3).dealt = false then
Pic.ScreenLoad (cards (drandCard3).pic, 300, 400, picCopy)
cards (drandCard3).dealt := true
exit
end if
end loop

dealerscore := dealerscore + cards (drandCard3).value
end if

if dealerscore <= 15 then
loop
randint (drandCard4, 1, 52)
if cards (drandCard4).dealt = false then
Pic.ScreenLoad (cards (drandCard4).pic, 400, 400, picCopy)
cards (drandCard4).dealt := true
exit
end if
end loop

dealerscore := dealerscore + cards (drandCard4).value
end if

if dealerscore > 21 then
locate (17, 10)
put "Dealer BUST!!"
hscore:=hscore+1
elsif dealerscore = 21 then
locate (11, 1)
put "Black Jack!! Dealer wins"
locate (15, 5)
put "Dealer's Score : ", dealerscore
else
locate (10, 1)
put "Dealer's Score : ", dealerscore
end if

if score = dealerscore then
locate (17, 10)
put "Tie"
end if

if dealerscore > score and dealerscore < 21 then
locate (15, 5)
put "Dealer Wins!"
end if

if score > dealerscore and score < 21 then
locate (15, 5)
put "You Win!"
hscore := hscore + 1
end if



end Stay

procedure AceValueOne
if cards (randCard).value = 11 then
cards (randCard).value := 1
cards (randCard2).value := 1
score := score - 11 + cards (randCard).value
locate (40, 1)
drawfillbox (0, 0, 200, 40, green)
put "Score : ", score
end if

if cards (randCard2).value = 11 then
cards (randCard2).value := 1
score := score - 11 + cards (randCard2).value
locate (40, 1)
drawfillbox (0, 0, 200, 40, green)
put "Score : ", score
end if
end AceValueOne

procedure AceValueEleven
if cards (randCard).value = 1 then
cards (randCard).value := 10
score := score + cards (randCard).value
locate (40, 1)
drawfillbox (0, 0, 200, 40, green)
put "Score : ", score
end if

if cards (randCard2).value = 1 then
cards (randCard2).value := 10
score := score + cards (randCard2).value
locate (40, 1)
drawfillbox (0, 0, 200, 40, green)
put "Score : ", score
end if
end AceValueEleven

procedure highScore
drawfillbox (0, 0, 800, 800, green)
Pic.ScreenLoad ("HighScore.bmp", 200, 400, picMerge)
locate (10, 20)
put "|Player| |Score|"
put " "
put " "
locate (15, 20)
put name," ",hscore
end highScore




var b : int := GUI.CreateButton (10, 100, 0, "Hit me", Hitme)

var c : int := GUI.CreateButton (10, 50, 0, "Stay", Stay)

var d : int := GUI.CreateButton (100, 50, 0, "Ace value 1", AceValueOne)

var e : int := GUI.CreateButton (200, 50, 0, "Ace value 11",
AceValueEleven)
var f : int := GUI.CreateButton (300, 50, 0, "HighScore", highScore)



loop
exit when GUI.ProcessEvent
end loop



Copy of Black Jack.rar
 Description:

Download
 Filename:  Copy of Black Jack.rar
 Filesize:  196.04 KB
 Downloaded:  231 Time(s)

Sponsor
Sponsor
Sponsor
sponsor
Dan




PostPosted: Tue Dec 11, 2007 11:54 am   Post subject: RE:BlackJack >. HELP ME I SUCK AT PROGRAMMING

You did not say what your program is at all. Also you should use code or syntax tags when posting code.
Computer Science Canada Help with programming in C, C++, Java, PHP, Ruby, Turing, VB and more!
shakin cookie




PostPosted: Wed Jan 09, 2008 5:09 pm   Post subject: RE:BlackJack >. HELP ME I SUCK AT PROGRAMMING

there is a post at the very top of this forum that asks very nicely for people not to post "I need help" titles. I suggest that this post be moved to the help forum, or the name changed to something more appropriate.
Zampano




PostPosted: Wed Jan 09, 2008 5:56 pm   Post subject: Re: BlackJack >. HELP ME I SUCK AT PROGRAMMING

As it happens, the problem is pretty simple. You used the locate procedure to locate to a row greater than maxrow. After changing two locate procedure arguments, the program worked.
It might have helped if you specified the problem to get a response sooner.

Oh, shakin cookie, I think there is also a rule (or tacit reminder) to use the edit function when possible and appropriate. :D
shakin cookie




PostPosted: Wed Jan 09, 2008 7:59 pm   Post subject: RE:BlackJack >. HELP ME I SUCK AT PROGRAMMING

oh, ok... i thought that that was only for the initial submitter...
Display posts from previous:   
   Index -> Programming, Turing -> Turing Submissions
View previous topic Tell A FriendPrintable versionDownload TopicRate TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 5 Posts ]
Jump to:   


Style:  
Search: