Ristinolla

oyt

Tein ristinollan command-painikkeista joita kun klikkaa tulee X ja O. Miten saan että x ja o tulevat vuoronperään command-painikkeiden captioniin?

6

745

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Eno

      Vaihtoehtoja varmaan on satoja mutta tässä ekana mieleen tullut.

      Private Sub CommandButton1_Click()
      vaihda
      End Sub

      Function vaihda()
      If CommandButton1.Caption = "X" Then
      CommandButton1.Caption = "O"
      Else: CommandButton1.Caption = "X"
      End If
      End Function

    • -jk-

      Tee tyhjään formiin ensin command-button ja kopioi sitä sitten riittävä määrä control-arrayksi, niin tämä koodi tekee homman ja saat koulusta kympin.

      Dim Xy As Boolean
      Private Sub Form_Load()
      Xy = False
      End Sub

      Private Sub Command1_Click(Index As Integer)

      Dim Merkki As String
      If Trim(Command1(Index).Caption) "" Then
      MsgBox "Siinä on jo merkki", vbCritical, "Virhe"
      Exit Sub
      End If
      If Xy = False Then
      Merkki = "X"
      Else
      Merkki = "O"
      End If
      Command1(Index).Caption = Merkki
      Xy = Not Xy

      End Sub

    • Oyt

      Mitenkäs sen saa ilmoittamaan voitosta kun on 3 0 tai x peräkkäin?

      • periaatteessa...

        Siinä pitää vaan vertailla... Ja se tarkoittaa melkoista määrää ehtolauseita....

        Mielestäni yksi hyvä tapa voisi olla tehdä taulukko-muuttuja... Siihen tallennettaisiin kaikkien ruutujen tilanne.

        Ja sitten kun sen taulukon kohdat määrittelee tyyliin Taulu(X,Y), niin homma on periaatteessa yksinkertainen, jokainen koordinaatti käydään vain läpi kaksinkertaisella silmukalla... Vaikka näin:

        Do Until X = xx
        X = 1
        Do Until Y = yy
        Y = 1
        If Taulu(X,Y) = "X" Then
        If Taulu((X - 1), Y) = "X" And Taulu((X 1), Y)
        ....
        End If
        Loop
        Loop

        Tuohon tulee sitten melkoinen määrä eri variaatioita tuosta samasta ehtolauseesta... Tai suurinpiirtein noin minä ainakin lähtisin tuota ongelmaa purkamaan...

        JK. tuli tässä vaan mieleeni, että ehkäpä on helpointa etsiä rivejä keskikohdan mukaan, sillä jokainen ruutu käydään kuitenkin läpi, eikä siksi ole mitään mieltä tehdä suuria määriä ehtolauseita vain siksi että voisi tunnistaa rivin sen eri kohdista...


      • ehdotus

        Ai se olikin ihan alkutekijöissään tämä peli - tämä poikii aina kaikenlaista melenkiintoista.

        Mites jos napin merkinta X:llä tallentaa esimerkikis laskentataulukkoon tai muuttujaan arvon 1 ja O-merkintä tallentaa vastaavasti arvon 0.

        Sitten summataan pelialustan rivit kukin omaan muuttujaan, jonka jälkeen testataan noiden 8 muuttujan arvoa kutakin yksitellen, ja jos summa on...

        Eikös tämä ristinolla ole perinteinen kansanurheilulaji - että kuka lyhimmällä koodilla sen kasaa?


      • homma

        ...kuin heinänteko.

        Laitat vaan ne painallukset merkin mukaisesti taulukkoon kuten noissa aikaisemmissa viesteissä on mainittu.

        Sitten teet pikku proceduurin jossa on laskuri ja joka lukee viimeksi painetusta napista "pääilmansuuntiin" arvoja niin pitkälle kuin ne on samoja kuin viimeinen painallus. Jos laskuri kasvaa kahteen niin hommahan on siinä. Jos ei löydy kuin yksi samanlainen merkki vierestä niin sitten lasketaan vastakkaisten suuntien summa ja päätellään sen perusteella tuliko määrä täyteen.

        Kuten huomaat niin tämä toimii myös ristinollan johdannaisessa jossa pelialue on laajempi ja pitää saada viisi omaa merkkiä peräkkäin.

        Tein tuollaisen joskus vuonna "miekka ja kypärä" omatoimisena ohjelmoinnin harjoituksena ja voin vakuuttaa että hyvin pelitti.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      43
      3017
    2. Ensi kesänä

      Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta
      Ikävä
      61
      2961
    3. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      42
      2367
    4. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      31
      1863
    5. Okei, myönnetään,

      Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘
      Ikävä
      25
      1719
    6. Anne Kukkohovin karmeat velat ovat Suomessa.

      Lähtikö se siksi pois Suomesta ? Et on noin kar? mean suuret velat naisella olemassa
      Kotimaiset julkkisjuorut
      72
      1684
    7. Onko kaivatullasi

      himmeä kuuppa?
      Ikävä
      48
      1586
    8. Mihin hävisi

      Mihin hävisi asiallinen keskustelu tositapahtumista, vai pitikö jonkin Hannulle kateellisen näyttää typeryytensä
      Iisalmi
      77
      1275
    9. On jo heinäkuun viimeinen päivä.

      En taida nähdä sinua koskaan.
      Rakkaus ja rakastaminen
      38
      1252
    10. Lähtikö korvat

      puhtaaksi vaikusta?
      Tuusniemi
      79
      1080
    Aihe