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.