Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Möchte class Figur{} erstellen mit TShape

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.03.2008, 22:04 Uhr
~Benni_89
Gast


Hallo erstmal ,
ich habe als Aufgabe bekommen ein Spiel zu programieren.
Mensch ärgere dich nicht.

Nun hab ich das gemacht, nur leider mit Seitenlangem Spagetti-Code.

Da ich das Program erklären und vorstellen muss will ich das Programm übersichtlicher machen.
Ich möchte gerne eine Klasse anlegen in einer extra header-Datei.
Die Klasse soll class Figur heißen.

Sie soll ein Shape anlegen, also ein Kreis.
Unter andere soll sie, also die Klasse Figur:
-start Position //Um festzulegen wo sie Starten, wenn sie aus derm Haus kommt.
-aktuelle Position // Damit mann die Figur schlagen kann und sie auch richtig weiter
versetzet
-Partei //4 Spieler, z.B. rot, grün, gelb, schwarz
-Nummer // Jeder Spieler hat 4 Figuren
als Eigenschaften besitzen.

Also bis jetzt bin ich soweit gekommen:

class clFigur: public TComponent
{
private: TShape *newShape;
char partei; //Zugehörigkeit der Figur
int nummer; //Nummer der Figur
int aktuel_pos; //Aktuelle Position der Figur
int start_pos;

(10*)public: Player(Figur = new TShape(this),char part,int nr, int akt_pos, int st_pos)
(11*) {
partei=part;
nummer=nr;
aktuel_pos=akt_pos;
start_pos=st_pos;
***wie ich die figur initialisiere, weis ich leider nicht***
}
};

Am Standard Konstruktor scheiter ich.

Er gibt mit folgende Fehler:
[C++ Fehler] clPlayer.h(11): E2260 Vorgabewerte für nachfolgende Parameter 'Figur' fehlen
[C++ Fehler] clPlayer.h(10): E2297 'this' kann nur für Elementfunktionen verwendet werden
[C++ Warnung] clPlayer.h(17): W8070 Funktion sollte einen Wert zurückgeben

Kann mir einer weiterhelfen? Wäre sehr nett von euch.
Ich bedanke mich schon einmal recht herzlich .

Mit freundlichen Grüßen
Benni
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.03.2008, 09:07 Uhr
stephanw
localhorst


Der Code sieht ziemlich komisch aus.

1.) Deine Klasse heißt "Figur", also nenne sie auch "Figur" und nicht "clFigur", analog dazu Player.

2.) Deine Beschreibung enthält keinen Player, Dein Code offenbar schon.

Also, langsam:


C++:
class Figur
{
public:
  // Ctor (Konstruktor)
  Figur(Shape* pShape, int currPos)
  {
    pShape_ = pShape;
    currPos_ = currPos;
  }
private:
  int currPos_;
  Shape* pShape_;
};

/// Programm
int main()
{
  Shape greenShape;

  Figur figur(& greenShape, 12); // neue Figur anlegen, die greenShape bekommt und die Position 12
}


--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.03.2008, 21:56 Uhr
~Benni_89
Gast


danke, hat mich ein ziemliches Stück weitergebracht.
Bloss verstehe ich nicht was "greenShape" ist.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.03.2008, 14:01 Uhr
öni



Dein Objekt. Du legst ein Objekt an mit den Namen greenShape.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: