Memoriefrage

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Pingu_Killer

Betreff: Memoriefrage

BeitragSa, Mai 12, 2007 10:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi leute,

ich soll für den prof meiner mutter eine art eigenes memorie proggen. nur leider habe ich aufgrund des ganzen schulstresses und anderen dingen eine größere programmiererpause eingelegt und muss ersteinmal wieder reinkommen.

So ich habe die grunndrisse schon mal geproggt.
wenn ich ich auf eine karte klicke, soll sie aufgedeckt werde. also es wird nicht mehr bild 1 (rückseite) sondern bild 2 gemalt. wenn ich ein weiteres mal klicke, soll die karte wieder umgedreht werden.

Nun ist es aber so, das ich wenn ich klicke nur das erste bild (oben links) einwandfrei sich aufdeckt und alle anderen muss ich ganz oft und anklicken und wie es aussieht an verschieden stellen.
ich habe keine ahnung woran das liegt. könnt ihr mir helfen?

hier ist der Code: [AUSKLAPPEN]

Function draw_spielfeld()
For y= 0 To 2
   For x= 0 To 4
      If spielfeld(x,y) = 1 Then                    ;wenn die variable 1 ist
            DrawImage backside, x*190+35, y*240+35;wird die kartenrückseite gezeichnet
      EndIf
      If spielfeld(x,y) = 2 Then                ;wenn die variable 2 ist
            DrawImage karte, x*190+35, y*240+35;wird die zufallskarte gezeichnet
      EndIf
      
      If ImagesOverlap (courser, MouseX(), MouseY(), backside, x*190+35, y*240+35) And MouseHit(1) And spielfeld(x,y) = 1 Then; wenn der courser mit dem bild kollidiert die varible 1 ist und man klickt
         spielfeld(x,y) = 2
      ElseIf ImagesOverlap (courser, MouseX(), MouseY(), backside, x*190+35, y*240+35) And MouseHit(1) And spielfeld(x,y) = 2 Then
         spielfeld(x,y) = 1
      EndIf
   Next
Next

End Function
;-----------------------------------
.feld
Data 1,1,1,1,1
Data 1,1,1,1,1
Data 1,1,1,1,1
Data 1,1,1,1,1
------------------------------------------------------

Gründer und einziges Mitglied von
"NoobTec Games"

Silver_Knee

BeitragSa, Mai 12, 2007 11:17
Antworten mit Zitat
Benutzer-Profile anzeigen
das liegt daran dass mousehit(1) nur 1 mal true ist und danach wieder false bis du nochmal klickst... und du klickst halt sooo schnell dass es zwei mal in der schleife true wird....
Lösun wäre den mousehit vor den schleifen in einer variable (die sich ja nicht von sich aus verändern kann) zu speicherndas sähe dann so aus Code: [AUSKLAPPEN]

mh=MouseHit(1)
For y= 0 To 2
   For x= 0 To 4
      If spielfeld(x,y) = 1 Then                    ;wenn die variable 1 ist
            DrawImage backside, x*190+35, y*240+35;wird die kartenrückseite gezeichnet
      EndIf
      If spielfeld(x,y) = 2 Then                ;wenn die variable 2 ist
            DrawImage karte, x*190+35, y*240+35;wird die zufallskarte gezeichnet
      EndIf
     
      If ImagesOverlap (courser, MouseX(), MouseY(), backside, x*190+35, y*240+35) And mh  And spielfeld(x,y) = 1 Then; wenn der courser mit dem bild kollidiert die varible 1 ist und man klickt
         spielfeld(x,y) = 2
      ElseIf ImagesOverlap (courser, MouseX(), MouseY(), backside, x*190+35, y*240+35) And mh And spielfeld(x,y) = 2 Then
         spielfeld(x,y) = 1
      EndIf
   Next
Next

Pingu_Killer

BeitragSa, Mai 12, 2007 11:32
Antworten mit Zitat
Benutzer-Profile anzeigen
hey, klar vielen dank.... Very Happy

dank dir kanns weiter gehn... super
auf zum, nächsten problem ^^
naja bis dann... ach
ja, nich closen, da ich, wenn ich noch weitere fragen habe, sie hier stellen werde...
------------------------------------------------------

Gründer und einziges Mitglied von
"NoobTec Games"

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group