Tik Tak Toe

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Dicker Hobbit

Betreff: Tik Tak Toe

BeitragSo, Apr 17, 2011 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute

Ich bin gerade dabei ein TikTakToe-Spiel zu programmieren...
Ich hab das Problem das wenn ich das spiel starte die maus und das feld super angezeigt werden ... bloß wird nix gemalt wenn ich auf eines der Felder klicke...ist bestimmt ein ziemlicher anföngerfehler Surprised aber ich find ihn einfach nicht
Im nachfolgenden mein Code ...


BlitzBasic: [AUSKLAPPEN]
Graphics 640, 480, 16, 0
AppTitle "Tik tak toe "

SetBuffer BackBuffer()

SeedRnd MilliSecs()
ClsColor 255, 0, 255
HidePointer



;variabeln
Global hintergrund=LoadImage("hintergrund.bmp")
Global kreis=LoadImage("kreis.bmp")
Global kreuz=LoadImage("kreuz.bmp")
Global zeiger=LoadImage("maus.bmp")



;maskieren
MaskImage hintergrund, 255, 0, 255
MaskImage kreis, 255, 0 ,225
MaskImage kreuz, 255, 0, 255
MaskImage zeiger, 255, 0, 255

;koordinaten
Global lox=0
Global loy=0

Global mox=215
Global moy=0

Global rox=430
Global roy=0

Global lmx=0
Global lmy=165

Global mmx=217
Global mmy=163

Global rmx=430
Global rmy=162

Global lux=0
Global luy=322

Global mux=217
Global muy=322

Global rux=429
Global ruy=322










;textaussehen
font=LoadFont ("arial", 16, True, True)
SetFont font

;abblauf
Global zug=1







;hauptschleife
While Not KeyDown(1)
Cls

abfrage()
malescreen()
maus()



Flip
Wend
End








;funktionen

Function malescreen()

DrawImage hintergrund, hx, hy

If zug=1
;malen der einzelnen bilder spieler 1
; abfrage ist ob überhaupt gefragt wird und linksoben 0 bedeutet das leer ;1bedeutet selbes und 2 andres blockiert
;mox =mitteoben x

If linksoben = 0 And abfrage=True Then DrawImage kreis, lox, loy And linksoben=1

If mitteoben = 0 And abfrage=True Then DrawImage kreis, mox, moy And mitteoben=1

If rechtsoben = 0 And abfrage=True Then DrawImage kreis, rox, roy And rechtsoben=1

If linksmitte = 0 And abfrage=True Then DrawImage kreis, lmx, lmy And linksmitte=1

If mittemitte = 0 And abfrage=True Then DrawImage kreis, mmx, mmy And mittemitte=1

If rechtsmitte = 0 And abfrage=True Then DrawImage kreis, rmx, rmy And rechtsmitte=1

If limksunten = 0 And abfrage=True Then DrawImage kreis, lux, luy And linksunten=1

If mitteunten = 0 And abfrage=True Then DrawImage kreis, mux, muy And mitteunten=1

If rechtsunten = 0 And abfrage=True Then DrawImage kreis, rux, ruy And rechtsunten=1

EndIf

If zug=2
;malen der einzelnen bilder spieler 2

If linksoben = 0 And abfragelo =True Then DrawImage kreuz, lox, loy And linksoben=2

If mitteoben = 0 And abfragemo =True Then DrawImage kreuz, mox, moy And mitteoben=2

If rechtsoben = 0 And abfragero =True Then DrawImage kreuz, rox, roy And rechtsoben=2

If linksmitte = 0 And abfragelm =True Then DrawImage kreuz, lmx, lmy And linksmitte=2

If mittemitte = 0 And abfragemm =True Then DrawImage kreuz, mmx, mmy And mittemitte=2

If rechtsmitte = 0 And abfragerm =True Then DrawImage kreuz, rmx, rmy And rechtsmitte=2

If limksunten = 0 And abfragelu =True Then DrawImage kreuz, lux, luy And linksunten=2

If mitteunten = 0 And abfragemu =True Then DrawImage kreuz, mux, muy And mitteunten=2

If rechtsunten = 0 And abfrageru =True Then DrawImage kreuz, rux, ruy And rechtsunten=2

EndIf


End Function


Function maus()

DrawImage zeiger, MouseX(), MouseY()

End Function


Function abfrage()


If MouseDown(1) And ImageRectCollide(zeiger, MouseX(), MouseY(), 0, 0, 0, 213, 160) Then abfregelo=True

If MouseDown(1) And ImageRectCollide(zeiger, MouseX(), MouseY(), 0, 215, 0, 213, 160) Then abfregemo=True

If MouseDown(1) And ImageRectCollide(zeiger, MouseX(), MouseY(), 0, 430, 0, 213, 160) Then abfregero=True

If MouseDown(1) And ImageRectCollide(zeiger, MouseX(), MouseY(), 0, 0, 165, 213, 160) Then abfregelm=True

If MouseDown(1) And ImageRectCollide(zeiger, MouseX(), MouseY(), 0, 217, 163, 213, 160) Then abfregemm=True

If MouseDown(1) And ImageRectCollide(zeiger, MouseX(), MouseY(), 0, 430, 162, 213, 160) Then abfregerm=True

If MouseDown(1) And ImageRectCollide(zeiger, MouseX(), MouseY(), 0, 0, 322, 213, 160) Then abfregelu=True

If MouseDown(1) And ImageRectCollide(zeiger, MouseX(), MouseY(), 0, 217, 322, 213, 160) Then abfregemu=True

If MouseDown(1) And ImageRectCollide(zeiger, MouseX(), MouseY(), 0, 429, 322, 213, 160) Then abfregeru=True



End Function

ZaP

BeitragSo, Apr 17, 2011 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Das liegt daran, dass Du Kreuze und Kreise nur zeichnen lässt, wenn geklickt wurde. Am besten legst Du dir ein Dim/Array für die neun Felder, sowie ein Dim/Array für die zwei Bilder an, und setzt bei einem Klick darauf den Wert von der Variable zug an die entsprechende Stelle im Array (Da wo jetzt DrawImage steht). Dann zeichnest das ganze Spielfeld bequem in einer For-Schleife.
Starfare: Worklog, Website (download)

Dicker Hobbit

BeitragSo, Apr 17, 2011 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke ich werde es sofort umsetzten Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group