Brauche unbedingt schnell Hilfe!!



  • 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

    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[code]");
    }
    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;

    }
    }}



  • Erstmal würde ich Codetags verwenden, dann kann man Deinen Code hier besser lesen. Dann würde ich einen Andere Überschrift wählen. "Dringend Hilfe" brauchen hier so einige. Wie wäre es denn mit "Probleme mit Array"?

    Ansonsten:

    Versuch es doch mit einem zweidimensionalen Array, da kannst Du die Felder als x/y Werte einfacher bestimmen. Zeichen es Dir einfach mal auf, dann kommst Du schon dahinter.



  • ich habe ein mathematisches problem zum einem und zum anderem kann ich das nicht umsetzen ich weis aber nicht wie ich das umsetzen soll.

    folgendes problem:

    es soll ein parkscheinautomaten programm entstehen.
    beim einwerfen eines betrags soll errechnet werden wie lange ich stehen bleiben darf.

    in einer viertel stunde werden 50 cent fällig
    höchst betrag ist 2€

    beispiel: wenn ich 1,85 eingebe wie lange darf ich stehen

    könnt ihr mir bei der umsetzung helfen ich weis net wie das gehen soll.



  • Was soll man dazu sagen?

    Sollen wir Dir jetzt Dein Programm schreiben? Mache ich gerne, schreibe mir ne PN und ich sage Dir, was mein Stundensatz ist- und wunder Dich nicht, Programmiererstunden sind nicht eben billig.

    Ansonsten:

    1. Suche Dir eine sachliche Überschrift, die Dein Problem umreisst (nicht "ich brauche Hilfe")

    2. Dein mathematisches Problem ist simpelster Dreisatz.

    3. Wenn Du Hilfe suchst, dann schreib mal ein bisschen Code, egal wie simpel, den kannste hier posten und dann wird Dir wahrscheinlich auch geholfen.


Anmelden zum Antworten