Spiel a la Slide a Lama von icq
Übersicht

![]() |
mas93Betreff: Spiel a la Slide a Lama von icq |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, ich habe mich vor einiger ezit mal daran gemacht ein spiel wie das slide a lama von icq zu proggen.
Jetzt wollte ich wieder weitermachen habe aber bemerlt das enige funktionen total verbugt sind und nicht so funktionieren wie sie sollteen. ICh wollte hier jetzt einfach mal den code reinstellen und euch um Hilfe beten. Code: [AUSKLAPPEN] AppTitle "Slide a lama" Graphics 1024,768,16,2 SetBuffer BackBuffer() SeedRnd MilliSecs() ;Variablen Global mausklick Global zahl Global feldpics=LoadAnimImage("felder.png",40,40,0,5) Global auswahl ;Welche Zeile oder Spalte ausgewählt ist.(1-5=Zeile, 5-10=Spalte) Global pointer=LoadImage("maus.png") MaskImage pointer,0,0,255 Global item=3 ;Dim-Felder Dim feld(4,4) For y = 0 To 4 For x = 0 To 4 feld(x,y)=Rnd(1,4) Next Next ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ;::::::::::::::::::::::::::::::-------|||HAUPTSCHLEIFE|||--------::::::::::::::::::::::::::::::::::::: ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Repeat Cls mausklick=MouseHit(1) checkfeld() rutschen() fallen() ;Die map zeichnen For y = 0 To 4 For x = 0 To 4 DrawImage feldpics,x*40+50,y*40+50,feld(x,y) Next Next Text 700,40,"Nächster Stein: " Text 300,300,"Auswahl: " +auswahl DrawImage pointer,MouseX(),MouseY() DrawImage feldpics,850,40,item maus() Flip Until KeyHit(1) End ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ;:::::::::::::::::::::::::::-------|||HAUPTSCHLEIFE ENDE|||--------::::::::::::::::::::::::::::::::::: ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Function fallen() For y = 1 To 4 For x = 0 To 4 If feld(x,y)=0 Then feld(x,y)=feld(x,y-1) Next Next End Function Function checkfeld() For Y=0 To 4 ; waagerecht For a=1 To 2 If feld(a-1,Y) = feld(a,Y)Then If Not feld(a-1,Y)=0 Or feld(a,Y)=0 Then If feld(a,Y) = feld(a+1,Y)Then feld(a-1,Y)=0 : feld(a,Y)=0 : feld(a+1,Y)=0 End If End If Next Next For X=0 To 4 ; senkrecht For a=1 To 2 If feld(X,a-1) = feld(X,a)Then If Not feld(X,a-1)=0 Or feld(X,a)=0 Then If feld(X,a) = feld(X,a+1)Then feld(X,a-1)=0 : feld(X,a)=0 : feld(X,a+1)=0 End If End If Next Next End Function ;---------------------------------------------------------------------------------------------------- Function maus() ;Zeilenauswahl If MouseY()<90 And MouseY()>50 Then auswahl=1 :Rect 50,50,200,40,0 If MouseY()>90 And MouseY()<130 Then auswahl=2 :Rect 50,90,200,40,0 If MouseY()>130 And MouseY()<170 Then auswahl=3 :Rect 50,130,200,40,0 If MouseY()>170 And MouseY()<210 Then auswahl=4 :Rect 50,170,200,40,0 If MouseY()>210 Then auswahl=5 ;Spaltenauswahl If MouseX()<90 And MouseY()<39 Then auswahl=6 :Rect 50,50,40,200,0 If MouseX()>90 And MouseY()<39 And MouseX()<130 Then auswahl=7 :Rect 90,50,40,200,0 If MouseX()>130 And MouseY()<39 And MouseX()<170 Then auswahl=8 :Rect 130,50,40,200,0 If MouseX()>170 And MouseY()<39 And MouseX()<210 Then auswahl=9 :Rect 170,50,40,200,0 If MouseX()>210 And MouseY()<39 Then auswahl=10 :Rect 210,50,40,200,0 End Function Function rutschen() If auswahl=6 And mausklick=1 And feld(0,0)<>0 feld(0,4)=feld(0,3) feld(0,3)=feld(0,2) feld(0,2)=feld(0,1) feld(0,1)=feld(0,0) feld(0,0)=item item=Rnd(1,4) Else feld(0,0)=item EndIf If auswahl=7 And mausklick=1 Then If Not feld(1,0)=0 feld(1,4)=feld(1,3) feld(1,3)=feld(1,2) feld(1,2)=feld(1,1) feld(1,1)=feld(1,0) feld(1,0)=item item=Rnd(1,4) EndIf If auswahl=8 And mausklick=1 Then If Not feld(2,0)=0 feld(2,4)=feld(2,3) feld(2,3)=feld(2,2) feld(2,2)=feld(2,1) feld(2,1)=feld(2,0) feld(2,0)=item item=Rnd(1,4) EndIf If auswahl=9 And mausklick=1 Then If Not feld(3,0)=0 feld(3,4)=feld(3,3) feld(3,3)=feld(3,2) feld(3,2)=feld(3,1) feld(3,1)=feld(3,0) feld(3,0)=item item=Rnd(1,4) EndIf If auswahl=10 And mausklick=1 Then If Not feld(4,0)=0 feld(4,4)=feld(4,3) feld(4,3)=feld(4,2) feld(4,2)=feld(4,1) feld(4,1)=feld(4,0) feld(4,0)=item item=Rnd(1,4) EndIf ;------------------------ If auswahl=1 And mausklick=1 Then If Not feld(0,0)=0 feld(4,0)=feld(3,0) feld(3,0)=feld(2,0) feld(2,0)=feld(1,0) feld(1,0)=feld(0,0) feld(0,0)=item item=Rnd(1,4) EndIf If auswahl=2 And mausklick=1 Then If Not feld(0,1)=0 feld(4,1)=feld(3,1) feld(3,1)=feld(2,1) feld(2,1)=feld(1,1) feld(1,1)=feld(0,1) feld(0,1)=item item=Rnd(1,4) EndIf If auswahl=3 And mausklick=1 Then If Not feld(0,2)=0 feld(4,2)=feld(3,2) feld(3,2)=feld(2,2) feld(2,2)=feld(1,2) feld(1,2)=feld(0,2) feld(0,2)=item item=Rnd(1,4) EndIf If auswahl=4 And mausklick=1 Then If Not feld(0,3)=0 feld(4,3)=feld(3,3) feld(3,3)=feld(2,3) feld(2,3)=feld(1,3) feld(1,3)=feld(0,3) feld(0,3)=item item=Rnd(1,4) EndIf If auswahl=5 And mausklick=1 Then If Not feld(0,4)=0 feld(4,4)=feld(3,4) feld(3,4)=feld(2,4) feld(2,4)=feld(1,4) feld(1,4)=feld(0,4) feld(0,4)=item item=Rnd(1,4) EndIf ;Das hier falls das feld leer ist: End Function Waäre nett wenn ihr mir hlfen könntet mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Als erstes fällt mir folgendes auf Graphics 1024,768,16,2. Ich kann nur empfehlen, wenn man ein Fensterprogramm erstellt, dass man die Farbtiefe automatisch von Blitz setzen lässt. Das wäre dann Graphics 1024,768,0,2
Als zweites fiel mir auf, dass Flip benutzt wurde. Ich habe festgestellt, dass Flip 1 (also das warten auf VSync) sehr viel Recourcen benötigt (>40 % Rechenpower auf meinem Rechner). Flip 0 mit timer=CreateTimer(120) bereits mehr 0 % als 1 % Rechenpower verschwendet wird, obwohl mehr Frames berechnet werden. Dem Rest gegenüber würde es uns viel weiter helfen, welche Funktion nun verbugt sein soll. So müssten wir uns dein kompletten Code im Kopf zusammenarbeiten und den Fehler finden. Ein paar Zeilen Fremdcode kann man ja noch im Kopf zusammentragen, aber so ist es schon ein bisschen nervig.^^ |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok danke.
Es geht ,denke ich, vor allem um die funktionen fallen und rutschen. mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group