BlackJack >. HELP ME I SUCK AT PROGRAMMING
Author |
Message |
putz33
|
Posted: 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
Description: |
|
Download |
Filename: |
Copy of Black Jack.rar |
Filesize: |
196.04 KB |
Downloaded: |
231 Time(s) |
|
|
|
|
|
|
Sponsor Sponsor
|
|
|
Dan
|
Posted: 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
|
Posted: 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
|
Posted: 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
|
Posted: 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...
|
|
|
|
|
|
|
|