vector in Klasse?


  • Mod

    FaxXer schrieb:

    Ich will nur zur Übung die Informationen aus einer ausführbaren Datei lesen. Hmm ja hab mir gedacht wenn ichs so mach ist der Lernanteil wesentlich höher. Deswegen verzicht ich erstmal auf den schnelleren weg.
    Gruß

    Ganz grob so:

    class ship
    {
      // Länge, Typ, wie oft getroffen. Was man eben so braucht
    };
    
    // ...
    
    vector<vector<ship*> > spielfeld(10, vector<ship*>(10, 0)); // 10x10 Feld mit 0 initialisiert
    vector<ship> schiffe(5); // Konkrete Schiffsobjekte, es ist sicherlich später mal nützlich diese direkt zugreifbar zu haben.
    

    Jetzt setzt du bei deinem spielfeld entsprechend die Zeiger auf die Objekte in schiffe , eben an den Stellen wo ein gewisses Schiff liegt. Und wenn auf ein Feld geschossen wird, rufst du die entsprechende Funktion von dem Objekt auf, auf das da gezeigt wird.

    Man könnte sich noch überlegen anstatt der Nullzeiger noch eine Klasse wasser zu erstellen und ship und wasser beide von einer gemeinsamen Basisklasse beschiessbares_objekt abzueleiten, aber ich denke mal, Polymophie ist für diese Aufgabenstellung unnötig kompliziert.



  • Vielen Dank erstmal. Ich muss natürlich sagen, das ich gegen den Computer spielen will. Ein Spiel Spieler vs Spieler über Netzwerk etc ist mir doch einiges zu hoch.

    Wie gesagt, mit Klassen habe ich mich erst seit gestern beschäftigt, da fehlt mir einfach die Routine und das Wissen, das ich sie einsetzen kann ohne konkrete Beispiele. Aber es geht ja auch ohne, ich dachte nur, das wäre ne gute Möglichkeit sich mal damit zu beschäftigen.

    Aber trotzdem danke für die bisherigen Beispiele, ich schau mal, wie ich sie umsetzen kann 😉


Anmelden zum Antworten