dubbel aantal rijen/kolommen geeft helft zoveel knoppen

  • Onderwerp starter Onderwerp starter imax
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

imax

Gebruiker
Lid geworden
6 apr 2009
Berichten
136
Hallo,
Ik zit mij al even rot te zoeken op het probleem en ik vind het niet. ik ben bezig met een spelletje te maken (reversie) en daarbij moet ik een veld van 8 op 8 knoppen hebben. Dit realiseer ik als volgt:
Code:
Public Class Game
    'Declaratie van systeem variabelen
    Dim AANTAL_KOLOMMEN As Integer = 8
    Dim kolom_huidig As Integer = 0
    Dim rij_huidig As Integer = 0
    Dim yco As Integer = 1
    Dim xco As Integer = 1
    Dim counter As Integer = 1
    Dim Speelveld(17, 17) As Button



    'MAIN

    Private Sub Game_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim kolom_huidig As Integer = 1
        Dim rij_huidig As Integer = 1
        For kolom_huidig = 0 To 15           'steeds x2 WHY??
            For rij_huidig = 0 To 15        'steeds x2   WHY??
                yco = (kolom_huidig * 25) + 50
                xco = (rij_huidig * 25) + 50
                Speelveld(rij_huidig, kolom_huidig) = zetNieuw(rij_huidig, kolom_huidig)
                counter = counter + 1
                rij_huidig = rij_huidig + 1
            Next
            kolom_huidig = kolom_huidig + 1
        Next



    End Sub

    'functies

    Public Function zetNieuw(rij As Integer, kolom As Integer) As Button

        ' Maak een nieuwe instantie van de klasse Button aan
        Dim nieuweKnop As New Button()
        ' Teken de knop op het huidige formulier
        Me.Controls.Add(nieuweKnop)
        ' Ken enkele eigenschappen toe aan de knop
        nieuweKnop.Left = xco
        nieuweKnop.Top = yco
        nieuweKnop.Width = 50
        nieuweKnop.Height = 50
        nieuweKnop.Text = CStr(counter)

        ' De Tag-eigenschap kan gebruikt worden om een
        ' verborgen eigenschap bij te houden, in dit
        ' geval een unieke index.
        nieuweKnop.Tag = (kolom + (rij * AANTAL_KOLOMMEN))

        ' Bind dynamisch een functie die de
        ' ’Click’-gebeurtenis afhandelt aan deze knop
        AddHandler nieuweKnop.MouseDown, AddressOf Klik
        Return nieuweKnop
    End Function

    Private Sub Klik(sender As Object, e As MouseEventArgs)
        Throw New NotImplementedException
    End Sub
End Class

Zoals in de code aangegeven moet ik bij de dubbele for-lus steeds het dubbel aantal iteraties opgeven dan ik wil. Hierboven doe ik het volgende :

Code:
        For kolom_huidig = 0 To 15           'steeds x2 WHY??
            For rij_huidig = 0 To 15        'steeds x2   WHY??

terwijl ik dan maar 8 rijen en kolommen krijg... kan iemand dit oplossen?
alvast bedankt!
Axel
 
Hoi,

In VB.NET gaat een for-loop automatisch door naar het volgende getal (tenzij anders aangegeven met "step .."). De volgende twee lijntjes moeten er dus uit:
[CPP]rij_huidig = rij_huidig + 1
''\\en
kolom_huidig = kolom_huidig + 1[/CPP]

MartinJM
 
U, mijnheer, bent nu officieel mijn held :shocked:
 
Hoi,

Geen dank, ik vind het gewoon leuk om mensen te helpen :)

MartinJM
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan