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.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Weniger:

Code: Alles auswählen

Procedure S(k,s.s)
  SetGadgetText(k,s)
EndProcedure
Dim T($F)
t=65
q=t*3
CreateGadgetList(OpenWindow(0,0,0,q,220,1,"AB"))
For a=0 To9
  ButtonGadget(a,t*a%3,a/3*t,t,t,z.s)
  If a>8
    TextGadget(a,t,q,t,20,"=> A")
  EndIf
  SetGadgetFont(a,LoadFont(a,z,24-a*4/3)) 
Next
While O<>9
  x=WindowEvent()
  O=EventwParam()&$F
  If x-T(O)=13100
    T(O)=P+1
    z=Chr(t+P)
    P!1
    x=S(O,z)
    For i=S(9,"=> "+Chr(t+P))To2
      If(T(x)&T(x+1)&T(x+2))|(T(i)&T(i+3)&T(i+6))|(T(i)&T(4)&T(8-i))
        For a=0 To9
          T(a)=S(a,"")
        Next
        P=S(9,z+" won")
      EndIf
      x+3
    Next
  EndIf
Wend
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Weniger:

soweit ich gesehen hab ergibt deine Änderung + 1 Zeichen :wink:

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Stefan
Beiträge: 125
Registriert: 29.08.2004 10:51
Kontaktdaten:

Beitrag von Stefan »

PMV hat geschrieben:
Weniger:

soweit ich gesehen hab ergibt deine Änderung + 1 Zeichen :wink:
Und bei dir sind die Buchstaben nicht gleich groß. :wink:
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

PMV hat geschrieben:
Weniger:

soweit ich gesehen hab ergibt deine Änderung + 1 Zeichen :wink:

MFG PMV
NicTheQuick sollte sein tool hier mal reinstellen, habs leider verloren.
[EDIT]
Stimmt. Naja sorry.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Das Tool wäre wirklich hilfreich ... zum selberproggen is man ja schließlich
zu faul :lol:

Hast recht Stefan, aber wenn nicht so, dann halt so:
482

Code: Alles auswählen

Procedure S(k,s.s) 
  SetGadgetText(k,s) 
EndProcedure 
Dim T($F) 
t=65
y=24
CreateGadgetList(OpenWindow(0,0,0,t*3,220,1,"AB")) 
For a=0 To9 
  ButtonGadget(a,t*a%3,a/3*t,t,t,z.s) 
  If a>8 
    TextGadget(a,t,t*3,t,20,"=> A")
    y/2
  EndIf 
  SetGadgetFont(a,LoadFont(a,z,y))  
Next 

While O<>9 
  x=WindowEvent() 
  O=EventwParam()&$F 
  If x-T(O)=13100 
    T(O)=P+1 
    z=Chr(t+P) 
    P!1 
    x=S(O,z) 
    For i=S(9,"=> "+Chr(t+P))To2 
      If(T(x)&T(x+1)&T(x+2))|(T(i)&T(i+3)&T(i+6))|(T(i)&T(4)&T(8-i)) 
        For a=0 To9 
          T(a)=S(a,"") 
        Next 
        P=S(9,z+" won") 
      EndIf 
      x+3 
    Next 
  EndIf 
Wend
MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
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 »

481

Code: Alles auswählen

Procedure S(k,s.s)
  SetGadgetText(k,s)
EndProcedure
y=24
Dim T(y)
t=65
CreateGadgetList(OpenWindow(0,0,0,t*3,220,1,"AB"))
For a=0 To9
  ButtonGadget(a,t*a%3,a/3*t,t,t,z.s)
  If a>8
    TextGadget(a,t,t*3,t,20,"=> A")
    y/2
  EndIf
  SetGadgetFont(a,LoadFont(a,z,y)) 
Next

While O<>9
  x=WindowEvent()
  O=EventwParam()&$F
  If x-T(O)=13100
    T(O)=P+1
    z=Chr(t+P)
    P!1
    x=S(O,z)
    For i=S(9,"=> "+Chr(t+P))To2
      If(T(x)&T(x+1)&T(x+2))|(T(i)&T(i+3)&T(i+6))|(T(i)&T(4)&T(8-i))
        For a=0 To9
          T(a)=S(a,"")
        Next
        P=S(9,z+" won")
      EndIf
      x+3
    Next
  EndIf
Wend
Stefan
Beiträge: 125
Registriert: 29.08.2004 10:51
Kontaktdaten:

Beitrag von Stefan »

480

Code: Alles auswählen

Procedure S(k,s.s) 
  SetGadgetText(k,s) 
EndProcedure 
y=24
Dim T(y) 
t=65 
CreateGadgetList(OpenWindow(0,0,0,t*3,220,1,"AB")) 
For a=0 To9 
  ButtonGadget(a,t*a%3,a/3*t,t,t,z.s) 
  If a>8 
    TextGadget(a,t,t*3,t,y,"=> A") 
    y/2 
  EndIf 
  SetGadgetFont(a,LoadFont(a,z,y)) 
Next 

While O<>9 
  x=WindowEvent() 
  O=EventwParam()&$F 
  If x-T(O)=13100 
    T(O)=P+1 
    z=Chr(t+P) 
    P!1 
    x=S(O,z) 
    For i=S(9,"=> "+Chr(t+P))To2 
      If(T(x)&T(x+1)&T(x+2))|(T(i)&T(i+3)&T(i+6))|(T(i)&T(4)&T(8-i)) 
        For a=0 To9 
          T(a)=S(a,"") 
        Next 
        P=S(9,z+" won") 
      EndIf 
      x+3 
    Next 
  EndIf 
Wend
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 »

Ich fass es einfach nicht.... :? :mrgreen:

WEITER SO!! :allright:
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 »

[Edit]
Leider stimmte das ned so ganz :roll:
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 »

479

Code: Alles auswählen

Procedure S(k,s.s)
  SetGadgetText(k,s)
EndProcedure
y=24
t=65
Dim T(CreateGadgetList(OpenWindow(0,0,0,t*3,220,1,"AB")))
For a=0 To9
  ButtonGadget(a,t*a%3,a/3*t,t,t,z.s)
  If a>8
    TextGadget(a,t,t*3,t,y,"=> A")
    y/2
  EndIf
  SetGadgetFont(a,LoadFont(a,z,y))
Next

While O<>9
  x=WindowEvent()
  O=EventwParam()&$F
  If x-T(O)=13100
    T(O)=P+1
    z=Chr(t+P)
    P!1
    x=S(O,z)
    For i=S(9,"=> "+Chr(t+P))To2
      If(T(x)&T(x+1)&T(x+2))|(T(i)&T(i+3)&T(i+6))|(T(i)&T(4)&T(8-i))
        For a=0 To9
          T(a)=S(a,"")
        Next
        P=S(9,z+" won")
      EndIf
      x+3
    Next
  EndIf
Wend
[Edit]
Wieso sagt denn keiner was ?
Bin ich der einzige, der meine eigene Konstruktion etwas gewagt findet ?
Kann CreateGadgetList() auch wirklich keine negativen Werte zurückgeben ?
Antworten