PureGolf mit TicTacToe

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

789

Code: Alles auswählen

Dim T(8)
s.s=" ist dran"
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe")
CreateGadgetList(l)
For a=0 To8
  ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,"")
  SetGadgetFont(a,LoadFont(a,"",24))
Next
ButtonGadget(11,10,220,80,30,"Neues Spiel")
ButtonGadget(10,100,220,80,30,"Spiel Beenden")
TextGadget(9,10,190,170,20,"O"+s,1)
SetGadgetFont(9,LoadFont(9,"",12))
Repeat
  w=WindowEvent()
  If w=13100
    O=EventwParam()
    If O=10
      End
    ElseIf O=11
      For a=0 To9
        T(a)=0
        SetGadgetText(a,"")
        DisableGadget(a,0)
      Next
      P=0
    Else
      If T(O)=0
        T(O)=P+1
        DisableGadget(O,1)
        SetGadgetText(O,Chr(79+P*9))
        SetGadgetText(9,Chr(79+P!1*9)+s)
        j=P+1
        For i=0 To2
          x=i*3
          If T(x)&T(x+1)&T(x+2)=j Or T(i)&T(i+3)&T(i+6)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j
            SetGadgetText(9,Chr(79+P*9)+" gewinnt")
            For a=0 To 8
              DisableGadget(a,1)
            Next
          EndIf
        Next
        P!1
      EndIf
    EndIf
  EndIf
Until w=16

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
HeX0R
Beiträge: 3040
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

788!

Code: Alles auswählen

Dim T(8) 
s.s=" ist dran" 
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe") 
CreateGadgetList(l) 
For a=0 To8 
  ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,"") 
  SetGadgetFont(a,LoadFont(a,"",24)) 
Next 
ButtonGadget(11,10,220,80,30,"Neues Spiel") 
ButtonGadget(10,100,220,80,30,"Spiel Beenden") 
TextGadget(9,10,190,170,20,"O"+s,1) 
SetGadgetFont(9,LoadFont(9,"",12)) 
Repeat 
  w=WindowEvent() 
  If w=13100 
    O=EventwParam() 
    If O=10 
      End 
    ElseIf O=11 
      For a=0 To9 
        T(a)=0 
        SetGadgetText(a,"") 
        DisableGadget(a,0) 
      Next 
      P=0 
    Else 
      If T(O)=0 
        T(O)=P+1 
        DisableGadget(O,1) 
        SetGadgetText(O,Chr(79+P*9)) 
        SetGadgetText(9,Chr(79+P!1*9)+s) 
        j=P+1 
        For i=0 To2 
          x=i*3 
          If T(x)&T(x+1)&T(x+2)=j Or T(i)&T(i+3)&T(i+6)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j 
            SetGadgetText(9,Chr(79+P*9)+" gewinnt") 
            For a=0 To8 
              DisableGadget(a,1) 
            Next 
          EndIf 
        Next 
        P!1 
      EndIf 
    EndIf 
  EndIf 
Until w=16 
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

786!

Code: Alles auswählen

Dim T(8)
s.s=" ist dran"
k=10
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe")
CreateGadgetList(l)
For a=0 To8
  ButtonGadget(a,k+60*a%3,k+60*(a/3),50,50,"")
  SetGadgetFont(a,LoadFont(a,"",24))
Next
ButtonGadget(11,k,220,80,30,"Neues Spiel")
ButtonGadget(k,100,220,80,30,"Spiel Beenden")
TextGadget(9,k,190,170,20,"O"+s,1)
SetGadgetFont(9,LoadFont(9,"",12))
Repeat
  w=WindowEvent()
  If w=13100
    O=EventwParam()
    If O=k
      End
    ElseIf O=11
      For a=0 To9
        T(a)=0
        SetGadgetText(a,"")
        DisableGadget(a,0)
      Next
      P=0
    Else
      If T(O)=0
        T(O)=P+1
        DisableGadget(O,1)
        SetGadgetText(O,Chr(79+P*9))
        SetGadgetText(9,Chr(79+P!1*9)+s)
        j=P+1
        For i=0 To2
          x=i*3
          If T(x)&T(x+1)&T(x+2)=j Or T(i)&T(i+3)&T(i+6)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j
            SetGadgetText(9,Chr(79+P*9)+" gewinnt")
            For a=0 To8
              DisableGadget(a,1)
            Next
          EndIf
        Next
        P!1
      EndIf
    EndIf
  EndIf
Until w=16
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@HeXOR
Ein To übersehen :(
:allright:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von AndyX »

Ihr seid krank :freak:
Benutzeravatar
Sylvia
verheiratet<br>1. PureGolf-Gewinner
Beiträge: 487
Registriert: 29.08.2004 09:42
Wohnort: Old Europe

Beitrag von Sylvia »

Was programmiert ihr hier für ein Kram ? Das funktioniert nicht im entferntesten.
Ich sehe lediglich ein einziges Kästchen zum Anklicken, sonst nichts.
Basic Pur = PureBasic
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

784

Code: Alles auswählen

Dim T(8)
s.s=" ist dran"
k=10
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe")
CreateGadgetList(l)
For a=0 To8
  ButtonGadget(a,k+60*a%3,70*(a/3),50,50,"") 
  SetGadgetFont(a,LoadFont(a,"",24))
Next
ButtonGadget(11,k,220,80,30,"Neues Spiel")
ButtonGadget(k,100,220,80,30,"Spiel Beenden")
TextGadget(9,k,190,170,20,"O"+s,1)
SetGadgetFont(9,LoadFont(9,"",12))
Repeat
  w=WindowEvent()
  If w=13100
    O=EventwParam()
    If O=k
      End
    ElseIf O=11
      For a=0 To9
        T(a)=0
        SetGadgetText(a,"")
        DisableGadget(a,0)
      Next
      P=0
    Else
      If T(O)=0
        T(O)=P+1
        DisableGadget(O,1)
        SetGadgetText(O,Chr(79+P*9))
        SetGadgetText(9,Chr(79+P!1*9)+s)
        j=P+1
        For i=0 To2
          x=i*3
          If T(x)&T(x+1)&T(x+2)=j Or T(i)&T(i+3)&T(i+6)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j
            SetGadgetText(9,Chr(79+P*9)+" gewinnt")
            For a=0 To8
              DisableGadget(a,1)
            Next
          EndIf
        Next
        P!1
      EndIf
    EndIf
  EndIf
Until w=16
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Macros
Beiträge: 1361
Registriert: 23.12.2005 15:00
Wohnort: Olching(bei FFB)
Kontaktdaten:

Beitrag von Macros »

"Neues Spiel" funktioniert nicht
gewinnen geht nicht
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

@ts-soft:
Wenn, dann richtig: 781!

Code: Alles auswählen

Dim T(8)
s.s=" ist dran"
k=10
t=79
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe")
CreateGadgetList(l)
For a=0 To8
  ButtonGadget(a,70*a%3,70*(a/3),50,50,"")
  SetGadgetFont(a,LoadFont(a,"",24))
Next
ButtonGadget(11,k,220,t,30,"Neues Spiel")
ButtonGadget(k,100,220,t,30,"Spiel Beenden")
TextGadget(9,k,190,170,20,"O"+s,1)
SetGadgetFont(9,LoadFont(9,"",12))
Repeat
  w=WindowEvent()
  If w=13100
    O=EventwParam()
    If O=k
      End
    ElseIf O=11
      For a=0 To9
        T(a)=0
        SetGadgetText(a,"")
        DisableGadget(a,0)
      Next
      P=0
    Else
      If T(O)=0
        T(O)=P+1
        DisableGadget(O,1)
        SetGadgetText(O,Chr(t+P*9))
        SetGadgetText(9,Chr(t+P!1*9)+s)
        j=P+1
        For i=0 To2
          x=i*3
          If T(x)&T(x+1)&T(x+2)=j Or T(i)&T(i+3)&T(i+6)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j
            SetGadgetText(9,Chr(t+P*9)+" gewinnt")
            For a=0 To8
              DisableGadget(a,1)
            Next
          EndIf
        Next
        P!1
      EndIf
    EndIf
  EndIf
Until w=16
@Sylvia:
Bei uns scheint es zu funktionieren. Warum es bei dir nicht funktioniert,
weiß ich nicht.

@Macros:
Kann ich auch nicht nachvollziehen. Hier funktioniert noch alles.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

stimmt schon, neues spiel funktioniert nicht. hast du den debugger an?

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Antworten