Tässä ois ristinolla (10x10).
Todella sekavaa koodia mutta toimii (ainaskin mulla).
Formille pitää laittaa vain seuraavat asiat:
Form1.ScaleMode = 3
Form1.ScaleHeight = 400
Form1.ScaleWidth = 400
ainii, Tässä ei oo tasapeli mahdollisuutta (mutta sen varmaan näkee jos kaikki ruudut on täynnä), eikä tietokone vastustajaa
"Tarkistus" kohdassa mukana foorumilla oli myös hunajavohveli ja sqwiik. Kiitos heille.
'Ristinolla by zigilii
Dim xkohta, ykohta
Dim lukux, lukuo
Dim vuoro As Boolean
Dim merkkio(-1 To 10, -1 To 10)
Dim merkki(-1 To 10, -1 To 10) As String
Dim ohi As Boolean
Private Sub Form_Activate()
alku 'alku tilanne
End Sub
Private Sub Form_Click()
If ohi = True Then Exit Sub 'jos peli on ohi , lopetetaan
For i = 0 To 9
    For a = 0 To 9 'katotaan onko painetussa ruudussa merkkiä
        If merkkio(xkohta, ykohta) = True And merkkio(xkohta, ykohta) = merkkio(a, i) Then Exit Sub
    Next 'jos on lopetetaan
Next
merkkio(xkohta, ykohta) = True 'tallennetaan kohta mihin merkki laitetaan
If vuoro = True Then 'jos on X:n vuoro
    merkki(xkohta, ykohta) = "X" 'laitetaan X
    'piirretään X
    Line (xkohta * 40, ykohta * 40)-(xkohta * 40 + 40, ykohta * 40 + 40)
    Line (xkohta * 40, ykohta * 40 + 40)-(xkohta * 40 + 40, ykohta * 40)
    'O:n vuoro
    vuoro = False
ElseIf vuoro = False Then 'jos O:n vuoro
    merkki(xkohta, ykohta) = "O" 'laitetaan O
    'piirretään O
    Circle (xkohta * 40 + 20, ykohta * 40 + 20), 20
    'X:n vuoro
    vuoro = True
End If
'tarkisetaan onko viiden suoria
tarkistus
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        xkohta = Int(X / 40) 'missä hiiri liikkuu
        ykohta = Int(Y / 40)
End Sub
Sub loppu()
MsgBox "Peli loppui!" & Chr(13) & "Aloitetaan uusi peli!", , "Ristinolla"
alku
End Sub
Sub alku()
ohi = False 'peli ei ole ohi
vuoro = True 'x:n vuoro
For i = 0 To 9
    For a = 0 To 9 'tyhjätään merkit
        merkki(a, i) = " "
    Next
Next
Cls 'pyyhitään pelilauta
For a = 0 To 10
    For i = 0 To 10 'piirretään ruudukko
        Line (0, a * 40)-(400, a * 40), RGB(0, 0, 255) '(sinisellä)
        Line (i * 40, 0)-(i * 40, 400), RGB(0, 0, 255)
    Next
Next
For i = 0 To 9
    For a = 0 To 9
        merkkio(a, i) = False
    Next
Next
End Sub'tarkistus by zigilii & hunajavohveli & sqwiik
Sub tarkistus()
'X
'vaaka
lukux = 0
For i = 0 To 9
    For a = 0 To 9
        If merkki(a, i) = "X" Then 'jos löytyy X
            lukux = lukux + 1 'aletaan laskea
        Else
            lukux = 0 'nolla x:ää peräkkäin
        End If
        If lukux = 5 Then 'jos viiden suora
            MsgBox "Pelaaja X voitti!", , "Ristinolla"
            ohi = True: loppu 'x voitti, peli on ohi
            Exit Sub
        End If
    Next
Next
'pysty
lukux = 0
For a = 0 To 9
    For i = 0 To 9
        If merkki(a, i) = "X" Then 'jos löytyy X
            lukux = lukux + 1 'aletaan laskea
        Else
            lukux = 0 'nolla x:ää peräkkäin
        End If
        If lukux = 5 Then 'jos viiden suora
            MsgBox "Pelaaja X voitti!", , "Ristinolla"
            ohi = True: loppu 'x voitti, peli on ohi
            Exit Sub
        End If
    Next
Next
'vino (luode-kaakko)
lukux = 0
For i = 0 To 9
    For a = 0 To 9
        If merkki(a, i) = "X" Then 'jos löytyy X
            lukux = lukux + 1 'aletaan laskea
            i = i + 1 'ja lisätään y:tä
        Else
            lukux = 0 'nolla x:ää peräkkäin
        End If
        If lukux = 5 Then 'jos viiden suora
            MsgBox "Pelaaja X voitti!", , "Ristinolla"
            ohi = True: loppu 'x voitti, peli on ohi
            Exit Sub
        End If
    Next
Next
'vino(koillinen-lounas)
lukux = 0
For i = 9 To 0 Step -1 'mennään y:tä takaperin
    For a = 0 To 9
        If merkki(a, i) = "X" Then 'jos löytyy X
            lukux = lukux + 1 'aletaan laskea
            i = i - 1 'vähennetään y:tä
        Else
            lukux = 0 'nolla x:ää peräkkäin
        End If
        If lukux = 5 Then 'jos viiden suora
            MsgBox "Pelaaja X voitti!", , "Ristinolla"
            ohi = True: loppu 'x voitti, peli on ohi
            Exit Sub
        End If
    Next
Next
'en jaksa kommentoida koska on samat kommentit paitsi X=O
'O
'vaaka
lukuo = 0
For i = 0 To 9
    For a = 0 To 9
        If merkki(a, i) = "O" Then
            lukuo = lukuo + 1
        Else
            lukuo = 0
        End If
        If lukuo = 5 Then
            MsgBox "Pelaaja O voitti!", , "Ristinolla"
            ohi = True: loppu
            Exit Sub
        End If
    Next
Next
'pysty
lukuo = 0
For a = 0 To 9
    For i = 0 To 9
        If merkki(a, i) = "O" Then
            lukuo = lukuo + 1
        Else
            lukuo = 0
        End If
        If lukuo = 5 Then
            MsgBox "Pelaaja O voitti!", , "Ristinolla"
            ohi = True: loppu
            Exit Sub
        End If
    Next
Next
'vino(kaakko-luode)
lukuo = 0
For i = 0 To 9
    For a = 0 To 9
        If merkki(a, i) = "O" Then
            lukuo = lukuo + 1
            i = i + 1
        Else
            lukuo = 0
        End If
        If lukuo = 5 Then
            MsgBox "Pelaaja O voitti!", , "Ristinolla"
            ohi = True: loppu
            Exit Sub
        End If
    Next
Next
'vino(koillinen-luonas)
lukuo = 0
For i = 9 To 0 Step -1
    For a = 0 To 9 Step 1
        If merkki(a, i) = "O" Then
            lukuo = lukuo + 1
            i = i - 1
        Else
            lukuo = 0
        End If
        If lukuo = 5 Then
            MsgBox "Pelaaja O voitti!", , "Ristinolla"
            ohi = True: loppu
            Exit Sub
        End If
    Next
Next
End SubAihe on jo aika vanha, joten et voi enää vastata siihen.