
-----------------------------------
putz33
Tue Dec 11, 2007 11:41 am

BlackJack &gt;. 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 = 2 and x = 11 and x = 14 and x = 15 and x = 24 and x = 27 and x = 28 and x = 37 and x = 40 and x = 41 and x = 49 and x  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  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

-----------------------------------
Dan
Tue Dec 11, 2007 11:54 am

RE:BlackJack &gt;. 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.

-----------------------------------
shakin cookie
Wed Jan 09, 2008 5:09 pm

RE:BlackJack &gt;. 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
Wed Jan 09, 2008 5:56 pm

Re: BlackJack &gt;. 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
Wed Jan 09, 2008 7:59 pm

RE:BlackJack &gt;. HELP ME I SUCK AT PROGRAMMING
-----------------------------------
oh, ok... i thought that that was only for the initial submitter...
