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
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;
}
}}