Hallo, hab erst vor kurzer Zeit mit dem Programmieren angefangen, von daher bitte ich schonmal um entschuldigen, sollte ich mich dämlich bzw. undeutlich ausdrücken.
Ich würde ganz gerne ein 2 dimensionales Array (?) erzeugen, wovon aber nur ein Teil in der Console ausgegeben werden soll.
Public Class Level
Public grid(9, 16) As Char
Public Sub Level1()
For y As Integer = 0 To grid.GetLength(0) - 1 Step 1
For x As Integer = 0 To grid.GetLength(1) - 1 Step 1
grid(y, x) = "#"
Next
Next
End Sub
End Class Damit weise ich schonmal jedem Element den Char "#" zu ,richtig?
Wenn ich nun im Modul schreibe, ersoll in einem Bereich die Elemente abfragen (und ausgeben), gibt es keine Probleme. Beispiel:
Module Module1
Sub Main()
Dim printgrid As New Level
Dim proof(3, 3) As Integer
printgrid.Level1()
For y = 0 To proof.GetLength(0) - 1 Step 1
For x = 0 To proof.GetLength(1) - 1 Step 1
Console.Write(printgrid.grid(y, x))
Next
Console.WriteLine()
Next
Console.WriteLine(" y=7 , x=7 : " & printgrid.grid(7, 7))
Console.ReadLine()
End Sub
End Module In der Console wird mir nun ein 4x4 Feld voller Rauten gezeichnet, so wie es der Plan war
Mit console.writeline(printgrid.grid(7, 7)) seh ich ,dass das Element (7,7) belegt ist, obwohl es nicht ausgegeben wurde, klappt also auch.
Möchte ich das ganze aber nun in eine andere Klasse auslagern , funktioniert es nicht:
Public Class View
Public layout(3, 3) As Char
Public proof As Level = New Level()
Public Sub Representation()
For y As Integer = 0 To layout.GetLength(0) - 1 Step 1
For x As Integer = 0 To layout.GetLength(1) - 1 Step 1
Console.Write(proof.grid(y, x))
Next
Console.WriteLine()
Next
Console.WriteLine(proof.grid(7, 7) & " hier ")
End Sub
End Class dann im Modul halt:
Dim printgrid As New Level
Dim visual As New View
printgrid.Level1()
visual.Representation()
Console.WriteLine(" y=7 , x=7 : " & printgrid.grid(7, 7))
Console.ReadLine() Wieso bekomm ich hier nicht die gleiche Ausgabe, wie ohne Auslagerung?
Für Hilfe/Erklärungungen/Tipps wäre ich sehr dankbar.
Beitrag wurde zuletzt am 27.09.14 um 09:14:49 editiert. |