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

786

    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. Valtion alijäämä = yritystukien määrä = 10 mrd. euroa

      Mutta persut eivät vaan suostu tasapainottamaan valtion budjettia, vaikka yritystuet on tiedetty haitallisiksi. Miksi p
      Maailman menoa
      95
      7277
    2. Suomi käyttää sosiaalietuuksiin suhteessa eniten rahaa koko maailmassa

      Suomi käyttää sosiaaliturvaetuuksiin enemmän rahaa suhteessa bruttokansantuotteeseen kuin mikään muu maa maailmassa. Su
      Maailman menoa
      357
      6348
    3. Grahn-Laasonen: "Kansalainen joutuu pettymään, jos demareita äänestää"

      Ministeri viittaa tuoreeseen Helsingin Sanomien juttuun, jossa demarijohtajan keinoja Suomen suunnan muuttamiseksi esite
      Maailman menoa
      58
      3693
    4. Vähän fiksumpi Nimi kisa ? :=)

      Kirjoita teidän etunimet allekkain. Jos nimissä on joku kirjain sama, poista se. Tee sama tarkistus kaikille kirjaimill
      Ikävä
      29
      3429
    5. Mikä on suurin luonne- eroavuus sinussa

      Ja kaivatussasi? Vaikuttaako se huonoon vai hyvään suuntaan siinä, että teistä voisi tulla jotain?
      Ikävä
      192
      1931
    6. Kenen haluaisit voittavan Amazing Racen: Tuomas ja Esko, Millu ja Karoliina vai Maria ja Vilma?

      Amazing Race Suomi huipentuu lauantaina finaaliin. Jäljellä on kolme paria ja tiedossa on tehtäviä, jotka järkyttävät os
      Tv-sarjat
      17
      1628
    7. Mitä haluaisit sanoa tänään hänelle?

      Rakastamallesi ihmiselle.
      Ikävä
      60
      1363
    8. Gallup: Katsotko Salkkareita tai oletko katsonut?

      Salatut elämät on suomalaisten suosikkisarja vuosikymmenestä toiseen. Salkkareiden parissa viettää aikaa sukupolvet laps
      Tv-sarjat
      18
      1356
    9. Elämäni biisi starttaa uudessa muodossa - Voi olla pettymys faneille!

      Elämäni biisi ja juontaja Katja Ståhl ovat suomalaisten suosikkeja. Lauantai-iltaisin ohjelma on vetänyt tv-katsojat arv
      Tv-sarjat
      1
      1260
    10. Amazing Race Tomas rehellisenä Esko-appiukon, 63, tilasta: "Sairastelut ja..."

      Tomas Grekov ja Esko Rotola-Pukkila ovat mukana Amazing Race Suomi -kisassa. Ja nyt vuorossa on finaali. Hankaluuksia m
      Tv-sarjat
      1
      1237
    Aihe