Autor Beitrag
karozocker
Hält's aus hier
Beiträge: 14

Win 3.0 - Win7 aktuell Vista
Basic (VS 2003) C# (VS 2008)
BeitragVerfasst: Mi 02.12.09 21:42 
Hallo an die community,
ich versuche gerade, das kleine Spiel Snake zu Programmieren.
Bis jetzt funktioniert alles bis auf folgendes Problem:
Ich kann zwar die Schlange länger machen, sie aber nicht um die Ecke laufen lassen( Snake ist und bleibt bei mir ein Strich -.-)
Um die zu Ändern müsste ich mir (nach meinem jetzigen Wissensstand :D) für jede vorherige Position die Bewegungsrichtung der Schlange merken...

Da wir gerade in Informatik (java) eine Schlange als Datenstruktur(Queue) programmiert haben, habe ich mir gedacht, ich könnte es bei dieser Snake genauso machen.
D.h.: Ich möchte etwa so etwas:
ausblenden C#-Quelltext
1:
PictureBox1.Location = PictureBox1.Next.Location					


oder Ähnlich (hauptsache Verlinkung zwischen den PictureBoxes)

Dafür müsste ich aber die vordefinierte Klasse PictureBox ändern/erweitern.
Ist das möglich?


MfG Karozocker

Moderiert von user profile iconChristian S.: Highlight- durch C#-Tags ersetzt
Xcalibur
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 37



BeitragVerfasst: Do 21.01.10 14:27 
Hallo Karozocker,

Die vordefinierte Klasse kann man meines Wissens nicht ändern.
Du kannst dir aber deine eigene Klasse erstellen, alles von der PictureBox-Klasse vererben, und hinzufügen was du brauchst.

ausblenden C#-Quelltext
1:
2:
3:
4:
public class MyPictureBox : PictureBox
{
    public PictureBox Next;
}


Im Programm dann einfach nur noch MyPictureBox anstatt PictureBox verwenden.

z.B.

ausblenden C#-Quelltext
1:
2:
MyPictureBox Schlangenkopf = new MyPictureBox();
Schlangenkopf.Next = new MyPictureBox();


lg Gernot

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
karozocker Threadstarter
Hält's aus hier
Beiträge: 14

Win 3.0 - Win7 aktuell Vista
Basic (VS 2003) C# (VS 2008)
BeitragVerfasst: Sa 24.04.10 08:10 
THX
funktioniert perfekt nach meinen Wünschen

LG