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
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 »

437

Code: Alles auswählen

Procedure S(k,s.s)
  SetGadgetText(k,s)
EndProcedure
t=65
z.s="=> A"
1:
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,"")
  TextGadget(9,t,t*3,t,t,z)
  SetGadgetFont(a,LoadFont(a,z,24-a/9*12))
Next
While O-9
  x=WindowEvent()-'3,'
  O=EventwParam()&$F
  If x=T(O)
    T(O)=P+1
    z=Chr(t+P)
    P!1
    S(O,z)
    For i=S(9,"=> "+Chr(t+P))To2
      If T(x)&T(x+1)&T(x+2)+(T(i+3)&T(i+6))|(T(4)&T(8-i))&T(i)
        z+" won"
        Goto 1
      EndIf
      x+3
    Next
  EndIf
Wend 
Stefan
Beiträge: 125
Registriert: 29.08.2004 10:51
Kontaktdaten:

Beitrag von Stefan »

436

Code: Alles auswählen

Procedure S(k,s.s) 
  SetGadgetText(k,s) 
EndProcedure 
t=65 
z.s="=> A" 
!Q: 
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,"") 
  TextGadget(9,t,t*3,t,t,z) 
  SetGadgetFont(a,LoadFont(a,z,24-a/9*12)) 
Next 
While O-9 
  x=WindowEvent()-'3,' 
  O=EventwParam()&$F 
  If x=T(O) 
    T(O)=P+1 
    z=Chr(t+P) 
    P!1 
    S(O,z) 
    For i=S(9,"=> "+Chr(t+P))To2 
      If T(x)&T(x+1)&T(x+2)+(T(i+3)&T(i+6))|(T(4)&T(8-i))&T(i) 
        z+" won" 
        JZ Q
      EndIf 
      x+3 
    Next 
  EndIf 
Wend
; IDE Options = PureBasic v3.94 (Windows - x86) (Demo)
; CursorPosition = 23
; FirstLine = 7
; Folding = -
; EnableAsm
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Beitrag von MLK »

soweit ich mich erinnere ist asm nicht erlaubt
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 »

Laut Regeln schon :allright:
Stefan
Beiträge: 125
Registriert: 29.08.2004 10:51
Kontaktdaten:

Beitrag von Stefan »

doch:
Programmiert wird in PureBasic 3.8. Erlaubt sind nur PureBasic-Befehle, Inline-Assembler und die WinAPI, keine Extra-Libraries, keine DLLs.
Stefan
Beiträge: 125
Registriert: 29.08.2004 10:51
Kontaktdaten:

Beitrag von Stefan »

Hat keiner mehr Lust mitzumachen ? :cry:
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 »

Ich habs aufgegeben :mrgreen:
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 »

Mit Macros muß es doch kleiner werden :mrgreen:
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
Stefan
Beiträge: 125
Registriert: 29.08.2004 10:51
Kontaktdaten:

Beitrag von Stefan »

435

Code: Alles auswählen

Procedure S(k,s.s) 
  SetGadgetText(k,s) 
EndProcedure 
t=65 
z.s="=> A" 
!Q: 
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,"") 
  TextGadget(9,t,t*3,t,t,z) 
  SetGadgetFont(a,LoadFont(a,z,24-a/9*12)) 
Next 
While O-9 
  x=WindowEvent()-'3,' 
  O=EventwParam()%t
  If x=T(O) 
    T(O)=P+1 
    z=Chr(t+P) 
    P!1 
    S(O,z) 
    For i=S(9,"=> "+Chr(t+P))To2 
      If T(x)&T(x+1)&T(x+2)+(T(i+3)&T(i+6))|(T(4)&T(8-i))&T(i) 
        z+" won" 
        JZ Q 
      EndIf 
      x+3 
    Next 
  EndIf 
Wend 
; IDE Options = PureBasic v3.94 (Windows - x86) (Demo) 
; CursorPosition = 23 
; FirstLine = 7 
; Folding = - 
; EnableAsm
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Ich kenne die Regeln nicht aber ohne die Procedure s[...] sind es 412.
Hat das jetzt nen Grund warum die keiner heraus nimmt ?
Antworten