Nymphalis
Mitglied
Hallo!
Ich gehe jetzt in die letzte Klasse Gymnasium und hab das 3te Jahr Informatik
wegem Lehrerwechsel und erst kürzlichem Umpolen zu Visual C# hab ich keine Ahnung wie überhaupt alles geht.
Jetzt in der 3. Informatikstunde haben wir den Auftrag bekommen, das Spiel "Snake" zu programmieren
Für die, die es nicht so gut kennen: da ist eine Schlange auf einem kleinen Feld, die das Futter fressen muss um länger zu werden.
Sie stirbt, wenn sie sich selbst frisst oder die Wand berührt.
Der Lehrer hat uns ins kalte Wasser geworfen und jetzt bewegt sich meine Schlange nur in eine Richtung, die Pfeiltasten sollten zwar funktionieren, tun es aber nicht.
bitte helft mir mit der Steuerung!
hier meine bisherige Missleistung:
(ich weiß leider nicht, ob das mit dem Anhängen geklappt hat, deshalb kopier ich es auch ins Fenster)
vielen Dank für jeden Versuch mir zu helfen
ich hab gehört, die Steuerung ist das schwierigste
Ich gehe jetzt in die letzte Klasse Gymnasium und hab das 3te Jahr Informatik
wegem Lehrerwechsel und erst kürzlichem Umpolen zu Visual C# hab ich keine Ahnung wie überhaupt alles geht.
Jetzt in der 3. Informatikstunde haben wir den Auftrag bekommen, das Spiel "Snake" zu programmieren
Für die, die es nicht so gut kennen: da ist eine Schlange auf einem kleinen Feld, die das Futter fressen muss um länger zu werden.
Sie stirbt, wenn sie sich selbst frisst oder die Wand berührt.
Der Lehrer hat uns ins kalte Wasser geworfen und jetzt bewegt sich meine Schlange nur in eine Richtung, die Pfeiltasten sollten zwar funktionieren, tun es aber nicht.
bitte helft mir mit der Steuerung!
hier meine bisherige Missleistung:
(ich weiß leider nicht, ob das mit dem Anhängen geklappt hat, deshalb kopier ich es auch ins Fenster)
Code:
using System.Collections;
namespace snake
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
ArrayList s = new ArrayList(); //Schlange, aus Segmenten (Pictureboxen)
int l = 5;
int ri = 1; //1:W, 2:N, 3:O, 4:S
private void timer1_Tick(object sender, EventArgs e)
{
for (int i = l - 1; i > 0; i--)
{
((PictureBox)s[i]).Left = ((PictureBox)s[i - 1]).Left;
((PictureBox)s[i]).Top = ((PictureBox)s[i - 1]).Top;
}
switch (ri) //fallunterscheidung ohne if
{
case 1: //links
((PictureBox)s[0]).Left = ((PictureBox)s[1]).Left - 10; //Kopf immer an stelle 0 jetzt an Stelle ? 1-10
break;
case 2: //oben
((PictureBox)s[0]).Top = ((PictureBox)s[1]).Top + 10;
break;
case 3: //rechts
((PictureBox)s[0]).Left = ((PictureBox)s[1]).Left +10;
break;
case 4: //unten
((PictureBox)s[0]).Top = ((PictureBox)s[1]).Top - 10;
break;
}
}
private void Form1_Load(object sender, EventArgs e)
{
int x = 100;
//---- Arraylist mit Pictureboxen füllen ----
for (int i = 0; i < 5; i++)
{
PictureBox p = new PictureBox(); //neue Pictb
p.Image = Image.FromFile("segment.png"); //Bild zuweisen
p.SizeMode = PictureBoxSizeMode.AutoSize; //Größe einstellen
p.Left = x + 10 * i; //nach rechts, Kopf ist links
p.Top = 100;
panel1.Controls.Add(p); //Anzeige auf Panel
s.Add(p); //zur Arraylist dazu
}
}
private void button1_KeyDown(object sender, KeyEventArgs e) //e=taste die er drückt
{
switch (e.KeyCode)
{
case Keys.Left: ri = 1;
break; //wenn man links klickt geht er nach Westen, siehe Timer
case Keys.Up: ri = 2;
break;
case Keys.Right: ri = 3;
break;
case Keys.Down: ri=4;
break;
}
}
}
}
vielen Dank für jeden Versuch mir zu helfen
ich hab gehört, die Steuerung ist das schwierigste
Anhänge
Zuletzt bearbeitet von einem Moderator: