Buchempfehlung
MySQL kurz & gut
MySQL kurz & gut
Das preiswerte Taschen- buch stellt MySQL-rele- vante Inhalte systematisch und knapp dar, sodass es sich optimal zum Nach- schlagen beim Pro- grammieren eignet. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Muhbbles

Uploader:MitgliedThe_Muh
Datum/Zeit:15.09.2007 17:11:46

dim as integer spielerY(1 to 9999)
dim as integer spielerX(1 to 9999)
dim as integer zeichnen, position, pruefen,pruefen2
dim as integer speed = 100, punkte,Laenge = 1
dim as integer objektx, objekty,bonusX, bonusY
dim as string key, newkey,cheat
screenres 400,400,32

'grafiken initialisieren:
dim futter as any ptr
futter = imagecreate(8,8)
bload "Futter.bmp",futter
dim grafik as any ptr
grafik= IMAGECREATE(8,8)
bload "Schlange.bmp",grafik

'Bevor das spiel anfängt:
spielerY(1) = 200
spielerX(1) = 200
put (spielerX(1),spielerY(1)),grafik

randomize timer
objektx = int((rnd*48)+1)*8+8
objekty = int((rnd*48)+1)*8+8
put (objektx,objekty),futter

windowtitle punkte &" Punkte    Laenge = "& laenge
'auf tastendruck warten:
do : sleep 1 : key = inkey : loop until key <> ""
'nach dem ersten tastendruck:
do
    'prüfen ob crash
    for pruefen = 2 to laenge
    if spielerX(1) = SpielerX(pruefen+1) and spielerY(1) = spielerY(pruefen+1) then exit do
    next pruefen

    'futter:
    if ((spielerX(1)-objektx)*(spielerX(1)-objektx) + (spielerY(1)-objekty)*(spielerY(1)-objekty)) < 60 then
        laenge +=1
        Punkte += 10 * (laenge) / 2
        if speed < 15 then
            speed = 15
        else
            speed -= 1
        end if

        windowtitle punkte &" Punkte    Laenge = "& laenge

        objektx = int((rnd*48)+1)*8+8
        objekty = int((rnd*48)+1)*8+8
        for pruefen2 = 1 to laenge+1
            if objektX = spielerX(pruefen2) and objektY = spielerY(pruefen2) then
                objektx = int((rnd*48)+1)*8+8
                objekty = int((rnd*48)+1)*8+8
                bonusX = int((rnd*48)+1)*8+8
                bonusY = int((rnd*48)+1)*8+8
            end if
        next pruefen2
    end if
    'bonus:
    if ((spielerX(1)-bonusx)*(spielerX(1)-bonusx) + (spielerY(1)-bonusy)*(spielerY(1)-bonusy)) < 60 then
        speed += 5
        punkte += 200*(laenge) /2
        bonusy = 0
        bonusx = 0
        windowtitle punkte &" Punkte    Laenge = "& laenge
    end if
    if bonusy > 0 and bonusx > 0 then put (bonusx,bonusy),futter,pset
    put (objektx,objekty),futter,pset

    sleep 1

    newkey = inkey
    select case newkey
    case "c"
        locate 1,1 : Input "", cheat
        select case cheat
        case "ultimate" : laenge = 200
        case "smaller" : laenge = 1
        case "nerd" : speed -= 10
        case "kid": laenge = 1
        case "slow" : speed += 20
        end select
    case chr(255,107) : end
    case chr(255,72) : if key = chr(255,80) then key = key : else:key = newkey
    case chr(255,80) : if key = chr(255,72) then key = key : else:key = newkey
    case chr(255,77) : if key = chr(255,75) then key = key : else:key = newkey
    case chr(255,75) : if key = chr(255,77) then key = key : else:key = newkey
    case chr(27) : exit do
    case chr(13) : sleep : continue do
    end select

    'verarbeitung:
    select case key
    case CHR(255,72)                'oben
            spielery(1) -= 8
            if spielery(1) < 0 then exit do

    case chr(255,80)                'unten
            spielery(1) += 8
            if spielery(1) > 399 then exit do

    case chr(255,77)                'rechts
            spielerx(1) += 8
            if spielerx(1) > 399 then exit do

    case chr(255,75)                'links
            spielerx(1) -= 8
            if spielerx(1) < 0 then exit do
    end select
    'durchrutschen:
    select case Key
    case CHR(255,72)  'oben
        for position = laenge to 1 step -1
            spielerX(position+1) = spielerX(position)
            spielerY(position+1) = spielerY(position)
        next
    case chr(255,80)  'unten
        for position = laenge to 1 step -1
            spielerX(position+1) = spielerX(position)
            spielerY(position+1) = spielerY(position)
        next
    case chr(255,77)  'rechts
        for position = laenge to 1 step -1
            spielerX(position+1) = spielerX(position)
            spielerY(position+1) = spielerY(position)
        next
    case chr(255,75)  'links
        for position = laenge to 1 step -1
            spielerX(position+1) = spielerX(position)
            spielerY(position+1) = spielerY(position)
        next
    end select
    cls
    for zeichnen = 1 to laenge+1
        put (spielerX(zeichnen),spielerY(zeichnen)),grafik,pset
    next zeichnen
loop
locate 25,20 : print "Game Over!" :
Locate 26,20 : print punkte & " Punkte!"
sleep