vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Wabenförmiges Spielfeld 
Autor: spike24
Datum: 29.01.06 19:53

also ich habe absolut keinen tau wie man ein 6-eck macht
allerdings kann ich Dir ne bauanleitung für ein Viereckiges spielfeld geben, bei dem jede zweite zeile verschoben ist, was genau gesehen ja das gleiche ist, nur das es keine 6-eckigen felder hat

zuerst brauchst Du ein Feld
ich würde ein eigenes Usercontrol nehmen
dieses Usercontrol hat die eigenschaft Size,
jetzt braucht es noch eine eigenschaft Reihe, wenn der wert der in diese eigenschaft übergeben, gerade ist, ist es die verschobene zeile, dann noch eine eigenschaft für Spalte um zu bestimmen wie weit nach rechts das feld verschoben werden muss

und dann hast Du einfach nur ein mehrdimensionales Array in dem Du die Controls speicherst und die controls berechnen die position selbst

so würds ich machen

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles MyBase.Load
        Dim arField(9, 9) As MyGameField
        For y As Integer = 0 To 9
            For x As Integer = 0 To 9
                arField(x, y) = New MyGameField(x, y)
                Me.Controls.Add(arField(x, y))
            Next
        Next
 
    End Sub
 
 
    Public Class MyGameField
        Inherits Panel
 
        Public Sub New()
            MyBase.New()
 
            Me.Size = New Size(50, 50)
            m_Row = 0
            m_Column = 0
            Me.BackColor = System.Drawing.Color.Green
            Me.BorderStyle = BorderStyle.Fixed3D
        End Sub
 
        Public Sub New(ByVal Column As Integer, ByVal Row As Integer)
            Me.New()
 
            m_Row = Row
            m_Column = Column
 
            SetLocation()
        End Sub
 
        Private m_Row As Integer
        Public ReadOnly Property Row() As Integer
            Get
                Return m_Row
            End Get
        End Property
 
        Private m_Column As Integer
        Public ReadOnly Property Column() As Integer
            Get
                Return m_Column
            End Get
        End Property
 
        Private Sub SetLocation()
            Me.Location = New Point(m_Column * 50 + IIf(m_Row Mod 2, 25, 0), _
              m_Row * 50)
        End Sub
 
    End Class
einfach nur mal in ne form reinkopieren und dann brauchst Du den ganzen dreck nur mehr 6-eckig bringen
ich hab ein panel genommen damit mans besser sieht weil ein panel einen borderstyle hat
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wabenförmiges Spielfeld1.160DarkWolf28.01.06 22:37
Re: Wabenförmiges Spielfeld834OldMan28.01.06 22:43
Re: Wabenförmiges Spielfeld605DarkWolf28.01.06 23:07
Re: Wabenförmiges Spielfeld752spike2428.01.06 23:34
Re: Wabenförmiges Spielfeld617DarkWolf28.01.06 23:42
Re: Wabenförmiges Spielfeld683spike2429.01.06 19:53
Re: Wabenförmiges Spielfeld1.005OldMan28.01.06 23:51

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel