Anfänger braucht Hilfe

luke1981

Grünschnabel
Habe erst vor wenigen Tagen mit einem Kurs in C# angefangen und muß jetzt ein einfaches Spiel vervollständigen.
Dabei handelt es sich um ein 2D Spiel bei dem man einfach von einem Punkt zum anderen kommen muß. Ich habe bereits den Code um einen Schritt nach vorne zu machen weiß aber nicht wie ich das mit dem zur Seite gehen machen soll da ich keine Ahnung hab wie man fortlaufend seine Position in dem Array bestimmen kann. Bitte helft mir sonst falle ich durch den Kurs!
Danke im Voraus

Hier ist der bisherige Code
C#:
using System; 


namespace textadventure 
{ 

enum Richtung { Osten, Westen, Norden, Süden }; 
class Program 
{ 
static int[,] spielfeld; 
static int ZStandort; //Z= ZEILE 
static int SStandort; // S = SPALTE 
static Richtung Ri; 
static int ZBlick; 
static int SBlick; 
static void Main() 
{ 
Init(); 
Start(); 
} 
static void Start() 
{ 
Console.WriteLine("Sie befinden sich am Start. Bitte drücken sie a für Abbrechen und s um einen Schritt zu gehen"); 
bool weitermachen = true; 
do 
{ 

string action = Console.ReadLine(); 
switch (action) 
{ 
case "a": 
weitermachen = false; 
break; 
case "s": 
Schritt(); 
Console.WriteLine("OK"); 
break; 
default: 
Console.WriteLine("geht nicht gib was anderes ein"); 
break; 
} 
} 
while (weitermachen); 

} 
static void Schritt() 
{ 
if (spielfeld[ZBlick, SBlick] == 0) 
{ 
SStandort = SBlick; 
ZStandort = ZBlick; 
switch (Ri)  //man kann nur nach vorne gucken richtung in die man geht ist gleich dem Blick 
{ 
case Richtung.Osten: 
SBlick++; 
break; 
case Richtung.Westen: 
SBlick--; 
break; 
case Richtung.Süden: 
ZBlick++; 
break; 
case Richtung.Norden: 
ZBlick--; 
break; // BLICK WIRD DER BEWEGUNG ANGEPASST 
} 
} 
else if (spielfeld[ZBlick, SBlick] == 1) 
{ 
Console.WriteLine("Hier gehts nicht lang"); 
} 
else 
{ } 
} 

static void Init() { 
spielfeld = new int [,] 
{{1,1,1,1,1,1}, 
{1,9,1,1,8,1}, 
{1,0,1,0,0,1}, 
{1,0,1,0,1,1}, 
{1,0,0,0,1,1}, 
{1,1,1,1,1,1}}; 
//STARTPOSITION bei der 8; ZIEL DIE 9 
SStandort = 4 ; 
ZStandort = 1; 
SBlick = 4; 
ZBlick=1; 
Ri= Richtung.Osten; 


} 
}}
 
Im C++ Forum wirst du auf eine C# Frage vermutlich wenig antworten bekommen. Daher verschoben.

Du hast quasi eine Matrix in der du dich bewegen musst. Was passiert wenn du nach vorne, oder auf die Seite gehst? Überleg dir das und versuch das im Code nachzuvollziehen. Sollte eigentlich keine schwierige Aufgabe sein.
 

Neue Beiträge

Zurück