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
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

@HeX0R
schreib End statt Break, sind immerhin zwei zeichen weniger. :wink:

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
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 »

834 Zeichen!

Code: Alles auswählen

Dim T(8)
s.s=" ist dran"
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe") 
If l And CreateGadgetList(l) 
  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"+s,1) 
  SetGadgetFont(11,LoadFont(9,"Arial",12))
  Repeat 
    w=WindowEvent()
    If w=16
      End
    EndIf
    If w=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)+s) 
          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 
    EndIf
  ForEver 
EndIf 
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

820

Code: Alles auswählen

Dim T(8)
s.s=" ist dran"
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe")
If l And CreateGadgetList(l)
  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"+s,1)
  SetGadgetFont(11,LoadFont(9,"Arial",12))
  Repeat
    w=WindowEvent()
    If w=13100
      O=EventGadgetID()
      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)+s)
          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
    EndIf
  Until w=16
EndIf
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
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 »

815 Zeichen!

Code: Alles auswählen

Dim T(8)
s.s=" ist dran"
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe")
If l And CreateGadgetList(l)
  For a=0 To8
    ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,"")
    SetGadgetFont(a,LoadFont(a,"Arial",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,"Arial",12))
  Repeat
    w=WindowEvent()
    If w=13100
      O=EventGadgetID()
      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
EndIf
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 »

818 :mrgreen:

Code: Alles auswählen

Dim T(8)
s.s=" ist dran"
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe")
If l And CreateGadgetList(l)
  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"+s,1)
  SetGadgetFont(11,LoadFont(9,"Arial",12))
  Repeat
    w=WindowEvent()
    If w=13100
      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)+s)
          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
    EndIf
  Until w=16
EndIf
Schon wieder dieselben 2 Zeichen gespart :wink:

// Nachtrag:
Zu langsam, aber Nick Du kannst die 2 Zeichen auch noch kürzen.
Zuletzt geändert von ts-soft am 31.01.2006 15:07, insgesamt 1-mal geändert.
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 »

816 (Sorry)!

Ja leck mich.. er zeigt doch 813 :freak:

Code: Alles auswählen

Dim T(8) 
s.s=" ist dran" 
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe") 
If l And CreateGadgetList(l) 
  For a=0 To8 
    ButtonGadget(a,10+60*a%3,10+60*(a/3),50,50,"") 
    SetGadgetFont(a,LoadFont(a,"Arial",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,"Arial",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 
EndIf
Zuletzt geändert von HeX0R am 31.01.2006 15:08, insgesamt 1-mal geändert.
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

@ts-soft
ach verdammt. :lol:

c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
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 »

812! :mrgreen:

Code: Alles auswählen

Dim T(8) 
k=10
s.s=" ist dran" 
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe") 
If l And CreateGadgetList(l) 
  For a=0 To8 
    ButtonGadget(a,k+60*a%3,k+60*(a/3),50,50,"") 
    SetGadgetFont(a,LoadFont(a,"Arial",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,"Arial",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 
EndIf
Eigentlich sollte ich mal wieder was arbeiten :freak:
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 »

801 Zeichen!

Code: Alles auswählen

Dim T(8)
s.s=" ist dran"
k=10
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe")
If l And 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 To 8
                DisableGadget(a,1)
              Next
            EndIf
          Next
          P!1
        EndIf
      EndIf
    EndIf
  Until w=16
EndIf
Benutzeravatar
nco2k
Beiträge: 892
Registriert: 08.09.2004 23:13

Beitrag von nco2k »

800

du hast ein zeichen bei To 8 übersehen. :D

Code: Alles auswählen

Dim T(8) 
s.s=" ist dran" 
k=10 
l=OpenWindow(0,216,0,190,260,$CC<<16,"TicTacToe") 
If l And 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 
EndIf
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
Antworten