Cursor bewegen und "X" drucken! (Game of Life)



  • Du merkst dir die aktuelle Cursor-Position und dann hast du deine Funktion bool setCursor( int zeile, int spalte); , die zumindest so aussieht als ob sie das gewünschte erledigt 😉



  • Ich hab das jetzt so:

    void cursorOn();
    setCursor(0,0);

    ist aber total falssch... Ich find irgendwie keinen ansatz wie ichda jetzt weiter vor gehen soll



  • Nach der Anweisungsfolge sollte der Cursor eigentlich in der linken oberen Bildschirmecke blinken - wenn du jetzt etwas ausgibst, wird es auch genau dorthin geschrieben. Für deine Anwendung solltest du dir die aktuelle Position in zwei Variablen packen und dann in einer großen Schleife auf Tastendrücke reagieren:

    while(...)
    {
      switch(getch()
      {
        case 'a': --x; break;
        case 'w': --y; break;
        ...
        case '\n': putc('X',stdout);
      }
      setCursor(x,y);
    }
    


  • CStoll schrieb:

    Nach der Anweisungsfolge sollte der Cursor eigentlich in der linken oberen Bildschirmecke blinken - wenn du jetzt etwas ausgibst, wird es auch genau dorthin geschrieben. Für deine Anwendung solltest du dir die aktuelle Position in zwei Variablen packen und dann in einer großen Schleife auf Tastendrücke reagieren:

    while(...)
    {
      switch(getch()
      {
        case 'a': --x; break;
        case 'w': --y; break;
        ...
        case '\n': putc('X',stdout);
      }
      setCursor(x,y);
    }
    

    Ich kann ja prima blöd dastehen, deshalb frage ich mal:

    getch() fragt Tastendrücke ab, ohne auf eine Bestätigung mit CR oder NL zu warten?
    Oder ist cursorOn und cursorOff dafür gedacht, die entsprechenden Systembefehle abzusetzen bevor und nachdem ein Tastendruck erfolgt?



  • ausprobieren? oder bist du eher der c-theoretiker 🤡



  • Ich hab meine eigenen extra zusammengestöpselten "Ich-nehme-mir-nur-eine-Taste"-Funktionen (und natürlich meine "Ich-bremse-auch-für-Key-Sequenzen-um-Sondertasten-zu-erkennen"-Gebilde) 🙂

    War mehr eine Frage à la "ich dachte immer, das wäre so und so..." 🙂



  • So aNd12121,

    ich würde vorschlagen, dass du direkt jemanden aus unserem Kurs fragst.

    Bist ja sicherlich an der HAW Hamburg im ersten Semester im Kurs PR1 und musst Aufgabe 4 für das 4. Praktikum erledigen.

    Damit verabschiede ich mich auch schon.

    sayonara 🙂



  • Big Brother is watching you 🤡



  • PrettyP schrieb:

    getch() fragt Tastendrücke ab, ohne auf eine Bestätigung mit CR oder NL zu warten?

    Zumindest das getch(), das ich in Erinnerung habe 😉

    Oder ist cursorOn und cursorOff dafür gedacht, die entsprechenden Systembefehle abzusetzen bevor und nachdem ein Tastendruck erfolgt?

    Keine Ahnung, da mußt du schon aNd fragen, was die Funktionen machen (wenn ich raten müsste, würde ich vermuten, daß sie den blinkenden Cursor ein- bzw. ausschalten).



  • CStoll schrieb:

    Zumindest das getch(), das ich in Erinnerung habe 😉

    Aber nur unter Win mit conio.h oder?


Anmelden zum Antworten