Das dürfte so doch goa ned funktionieren, oder ?
PureGolf mit TicTacToe
- HeX0R
 - Beiträge: 3055
 - 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:
 
Wo is denn das O=EventGadgetID() hin ?
Das dürfte so doch goa ned funktionieren, oder ?
			
			
									
									Das dürfte so doch goa ned funktionieren, oder ?
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
						- 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
 
Noch 2 Zeichen gespart  
 
			
			
									
									Code: Alles auswählen
Dim T(8)
If OpenWindow(0,216,0,190,260,$CC0000,"Tic Tac Toe") And CreateGadgetList(WindowID())
  f=LoadFont(1,"Arial",24)
  For a=0 To 8
    ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,"")
    SetGadgetFont(a,f)
  Next
  ButtonGadget(9,10,220,80,30,"Neues Spiel")
  ButtonGadget(10,100,220,80,30,"Spiel Beenden")
  g=LoadFont(2,"Arial",12)
  TextGadget(11,10,190,170,20,"O ist dran",1)
  SetGadgetFont(11,g)
  Repeat
    Select WaitWindowEvent()
      Case 16
        Break
      Case $332C
         O=EventwParam()
        If O=10
          Break
        ElseIf O=9
          For a=0 To 8
            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(11,Chr(79+P!1*9)+" ist dran")
            j=P+1
            If T(0)&T(1)&T(2)=j Or T(3)&T(4)&T(5)=j Or T(6)&T(7)&T(8)=j Or T(0)&T(3)&T(6)=j Or T(1)&T(4)&T(7)=j Or T(2)&T(5)&T(8)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j
              SetGadgetText(11,Chr(79+P*9)+" gewinnt")
              For a=0 To 8
                DisableGadget(a,1)
              Next
            EndIf
            P!1
          EndIf
        EndIf
    EndSelect
  ForEver
EndIf 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.

						Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- HeX0R
 - Beiträge: 3055
 - 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:
 
904  
 
			
			
									
									Code: Alles auswählen
Dim T(8)
l=OpenWindow(0,216,0,190,260,$CC0000,"Tic Tac Toe")
If l And CreateGadgetList(l)
  f=LoadFont(1,"Arial",24)
  For a=0 To 8
    ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,"")
    SetGadgetFont(a,f)
  Next
  ButtonGadget(9,10,220,80,30,"Neues Spiel")
  ButtonGadget(10,100,220,80,30,"Spiel Beenden")
  g=LoadFont(2,"Arial",12)
  TextGadget(11,10,190,170,20,"O ist dran",1)
  SetGadgetFont(11,g)
  Repeat
    Select WaitWindowEvent()
      Case 16
        Break
      Case $332C
      	O=EventwParam()
        If O=10
          Break
        ElseIf O=9
          For a=0 To 8
            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(11,Chr(79+P!1*9)+" ist dran")
            j=P+1
            If T(0)&T(1)&T(2)=j Or T(3)&T(4)&T(5)=j Or T(6)&T(7)&T(8)=j Or T(0)&T(3)&T(6)=j Or T(1)&T(4)&T(7)=j Or T(2)&T(5)&T(8)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j
              SetGadgetText(11,Chr(79+P*9)+" gewinnt")
              For a=0 To 8
                DisableGadget(a,1)
              Next
            EndIf
            P!1
          EndIf
        EndIf
    EndSelect
  ForEver
EndIf
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
						@ts-soft
175 zeichen weniger. 
 
oder ganz krass:
413 zeichen gespart. 
 
edit: also inkl. leerzeichen, ist auch mehr als scherz gemeint.
 
edit2: hey das mit l=OpenWindow() ist eine gute idee, an Select kannst du auch noch einiges sparen, wie in meinem code.
c ya,
nco2k
			
			
									
									Code: Alles auswählen
Dim T(8)
If OpenWindow(0,216,0,190,260,$CC0000,"Tic Tac Toe") And CreateGadgetList(WindowID())
  f=LoadFont(1,"Arial",24)
  For a=0 To 8:ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,""):SetGadgetFont(a,f):Next
  ButtonGadget(9,10,220,80,30,"Neues Spiel")
  ButtonGadget(10,100,220,80,30,"Spiel Beenden")
  g=LoadFont(2,"Arial",12)
  TextGadget(11,10,190,170,20,"O ist dran",1)
  SetGadgetFont(11,g)
  Repeat
    e=WaitWindowEvent()
    If e=$332C
      O=EventwParam()
      If O=10
        End
      ElseIf O=9
        For a=0 To 8: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(11,Chr(79+P!1*9)+" ist dran")
          j=P+1
          If T(0)&T(1)&T(2)=j Or T(3)&T(4)&T(5)=j Or T(6)&T(7)&T(8)=j Or T(0)&T(3)&T(6)=j Or T(1)&T(4)&T(7)=j Or T(2)&T(5)&T(8)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j
            SetGadgetText(11,Chr(79+P*9)+" gewinnt")
            For a=0 To 8:DisableGadget(a,1):Next
          EndIf
          P!1
        EndIf
      EndIf
    EndIf
  Until e=16
EndIfoder ganz krass:
Code: Alles auswählen
Dim T(8):If OpenWindow(0,216,0,190,260,$CC0000,"Tic Tac Toe") And CreateGadgetList(WindowID()):f=LoadFont(1,"Arial",24):For a=0 To 8:ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,""):SetGadgetFont(a,f):Next:ButtonGadget(9,10,220,80,30,"Neues Spiel"):ButtonGadget(10,100,220,80,30,"Spiel Beenden"):g=LoadFont(2,"Arial",12):TextGadget(11,10,190,170,20,"O ist dran",1):SetGadgetFont(11,g):Repeat:e=WaitWindowEvent():If e=$332C:O=EventwParam():If O=10:End:ElseIf O=9:For a=0 To 8: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(11,Chr(79+P!1*9)+" ist dran"):j=P+1:If T(0)&T(1)&T(2)=j Or T(3)&T(4)&T(5)=j Or T(6)&T(7)&T(8)=j Or T(0)&T(3)&T(6)=j Or T(1)&T(4)&T(7)=j Or T(2)&T(5)&T(8)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j:SetGadgetText(11,Chr(79+P*9)+" gewinnt"):For a=0 To 8:DisableGadget(a,1):Next:EndIf:P!1:EndIf:EndIf:EndIf:Until e=16:EndIfedit: also inkl. leerzeichen, ist auch mehr als scherz gemeint.
edit2: hey das mit l=OpenWindow() ist eine gute idee, an Select kannst du auch noch einiges sparen, wie in meinem code.
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
						..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
- HeX0R
 - Beiträge: 3055
 - 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:
 
@nco2k:
Du solltest dich vielleicht tatsächlich bemühen den Counter zu benutzen.
Dann würdest du sehn, dass dein letzten Beispiel immernoch 932 Zeichen hat.
Also wesentlich mehr als mein bisher bestes...
			
			
									
									Du solltest dich vielleicht tatsächlich bemühen den Counter zu benutzen.
Dann würdest du sehn, dass dein letzten Beispiel immernoch 932 Zeichen hat.
Also wesentlich mehr als mein bisher bestes...
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
						- HeX0R
 - Beiträge: 3055
 - 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:
 
897!
(Dein Tipp war ned schlecht nco2k, hab aber noch ein Zeichen gut gemacht mit dem s$ 
 )
			
			
									
									Code: Alles auswählen
s$=" ist dran"
Dim T(8)
l=OpenWindow(0,216,0,190,260,$CC0000,"Tic Tac Toe")
If l And CreateGadgetList(l)
  f=LoadFont(1,"Arial",24)
  For a=0 To 8
    ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,"")
    SetGadgetFont(a,f)
  Next
  ButtonGadget(9,10,220,80,30,"Neues Spiel")
  ButtonGadget(10,100,220,80,30,"Spiel Beenden")
  g=LoadFont(2,"Arial",12)
  TextGadget(11,10,190,170,20,"O"+s$,1)
  SetGadgetFont(11,g)
  Repeat
    w=WaitWindowEvent()
    If w=16
      Break
    ElseIf w=$332C
      O=EventwParam()
      If O=10
        Break
      ElseIf O=9
        For a=0 To 8
          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(11,Chr(79+P!1*9)+s$)
          j=P+1
          If T(0)&T(1)&T(2)=j Or T(3)&T(4)&T(5)=j Or T(6)&T(7)&T(8)=j Or T(0)&T(3)&T(6)=j Or T(1)&T(4)&T(7)=j Or T(2)&T(5)&T(8)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j
            SetGadgetText(11,Chr(79+P*9)+" gewinnt")
            For a=0 To 8
              DisableGadget(a,1)
            Next
          EndIf
          P!1
        EndIf
      EndIf
    EndIf
  ForEver
EndIf
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
						- HeX0R
 - Beiträge: 3055
 - 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:
 
884!
			
			
									
									Code: Alles auswählen
s$=" ist dran"
Dim T(8)
l=OpenWindow(0,216,0,190,260,$CC0000,"Tic Tac Toe")
If l And CreateGadgetList(l)
  f=LoadFont(1,"Arial",24)
  For a=0 To 8
    ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,"")
    SetGadgetFont(a,f)
  Next
  ButtonGadget(9,10,220,80,30,"Neues Spiel")
  ButtonGadget(10,100,220,80,30,"Spiel Beenden")
  g=LoadFont(2,"Arial",12)
  TextGadget(11,10,190,170,20,"O"+s$,1)
  SetGadgetFont(11,g)
  Repeat
    w=WaitWindowEvent()
    If w=$332C
      O=EventwParam()
      If O=10
        Break
      ElseIf O=9
        For a=0 To 8
          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(11,Chr(79+P!1*9)+s$)
          j=P+1
          If T(0)&T(1)&T(2)=j Or T(3)&T(4)&T(5)=j Or T(6)&T(7)&T(8)=j Or T(0)&T(3)&T(6)=j Or T(1)&T(4)&T(7)=j Or T(2)&T(5)&T(8)=j Or T(0)&T(4)&T(8)=j Or T(2)&T(4)&T(6)=j
            SetGadgetText(11,Chr(79+P*9)+" gewinnt")
            For a=0 To 8
              DisableGadget(a,1)
            Next
          EndIf
          P!1
        EndIf
      EndIf
    EndIf
  Until w=16
EndIf
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
						- 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
 
@nco2k
Durch die Doppelpunkte wirds nur mehr
 
@HeX0R
Das Fensterhandle hab ich übersehen
 
Jetzt wirds aber eng
			
			
									
									Durch die Doppelpunkte wirds nur mehr
@HeX0R
Das Fensterhandle hab ich übersehen
Jetzt wirds aber eng
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.

						Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- NicTheQuick
 - Ein Admin
 - Beiträge: 8816
 - 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
 
850 Zeichen!
Ich mache mal einen neuen Thread dafür auf, sonst fühlt sich Badboy 
noch belästigt.
			
			
									
									
						Code: Alles auswählen
Dim T(8) 
If OpenWindow(0,216,0,190,260,$CC<<16,"Tic Tac Toe") And CreateGadgetList(WindowID()) 
  For a=0 To 8 
    ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,"") 
    SetGadgetFont(a,LoadFont(a,"Arial",24)) 
  Next 
  ButtonGadget(9,10,220,80,30,"Neues Spiel") 
  ButtonGadget(10,100,220,80,30,"Spiel Beenden") 
  TextGadget(11,10,190,170,20,"O ist dran",1) 
  SetGadgetFont(11,LoadFont(9,"Arial",12))
  Repeat 
    Select WindowEvent() 
      Case 16 
        Break 
      Case 13100 
        O=EventGadgetID() 
        If O=10 
          Break 
        ElseIf O=9 
          For a=0 To 8 
            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(11,Chr(79+P!1*9)+" ist dran") 
            j=P+1 
            For i=0 To 2 
              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(11,Chr(79+P*9)+" gewinnt") 
                For a=0 To 8 
                  DisableGadget(a,1) 
                Next 
              EndIf 
            Next 
            P!1 
          EndIf 
        EndIf 
    EndSelect 
  ForEver 
EndIf noch belästigt.