Spartan Game



  • Xenotack schrieb:

    Ich bin Anfänger

    Erklär mir wie ich es machen soll 😕



  • Egal 😉
    Was du eher hinzufügen könntest ist ne charakter auswahl.
    Ich geb dir mal ein bisschen code aus nem angefangenen , nicht fertige gestellten Projekt

    void choose_class(void);
    void choose_rass(void);
    void createDataBase_Player(void);
    void accept_char_choose(void);
    void set_CharAttributes(void);
    string char_rass;
    string char_class;
    
    char ue = 129;
    
    // Skill
    int Attack;
    int Life;
    int Mana;
    int Longsword;
    int Shortsword;
    int HeavyArmour;
    int LightArmour;
    
    int Ar;
    int Lpr;
    int Mr;
    int Lsr;
    int Sr;
    int Hr;
    int Lr; 
    
    int att_points = 12;
    int atr = 12;
    void choose_class()
    {
    
    	system("cls");
    
    	cout << "Neuen Char erstellen"<< endl;
    	cout << "\n\n\n";
    	cout << "Wähle eine Klasse :" << endl << "  - Magier" << endl<< "  - Krieger" << endl << "  - Bogensch"<<ue<<"tze" << endl;
    	string chara;
    	cin >> chara;
    
    	if(chara == "Magier"){  char_class="Magic";}
    	else if(chara == "Krieger"){char_class="Warrior";}
    	else if(chara == "Bogenschuetze"){char_class="Archer";}
    	else{cout << "Diese Klasse existiert nicht"<< endl; choose_class();}
    
    	choose_rass();
    }
    
    void choose_rass()
    {
    
    	system("cls");
    	cout << "Wähle eine Rasse :" << endl << "  - Mensch" << endl<< "  - Oger" << endl << "  - Elbe" << endl;
    	string chara;
    	cin >> chara;
    
    	if(chara == "Mensch"){   char_rass="Human";}
    	else if(chara == "Oger"){  char_rass="Oger";}
    	else if(chara == "Elbe"){  char_rass="Elb";}
    	else{cout << "Diese Rasse existiert nicht"<< endl; choose_rass();}
    
    	createDataBase_Player();
    
    }
    
    void createDataBase_Player()
    {
    
        fstream Player_db("Player_db(static).db", ios::out);
    
    	Player_db << "[Player_Config]" << endl;
    	Player_db << "Class= " <<char_class << endl;
    	Player_db << "Rass= " <<char_rass << endl;
    
    	Player_db.close();
    	accept_char_choose();
    }
    
    void accept_char_choose()
    {
    	system("cls");
    	cout << "Deine Charakter Informationen :" << endl;
    	cout << "Class= " << char_class << endl;
    	cout << "Rass= " << char_rass << endl;
    
    	cout << "\n" << "Ist das richtig ? <y/n>" << endl;
    
    	string input;
    
    	input = _getch();
    	if(input == "n"){choose_rass();}
    	else if(input == "y"){ set_CharAttributes(); }
    }
    
    void set_CharAttributes()
    {
    	system("cls");
    
    	cout << "Du hast "<< atr << " Skillpunkte "<< ue <<"brig" << "\n\n"<< endl; 
    
    	cout << "(1)Angriff " << Ar << endl;
    	cout << "(2)Lebenspunkte " << Lpr << endl;
    	cout << "(3)Mana " << Mr << endl;
    	cout << "(4)Langschwerter " << Lsr << endl;
    	cout << "(5)Kurzschwerter " << Sr << endl;
    	cout << "(6)Schwere R"<< ue << "stung " << Hr << endl;
    	cout << "(7)Leichte R"<< ue << "stung " << Lr << endl;
    
    	string input;
    	int cc;
    
    	cin >> input;
    
    	if(input == "1"){cin >> cc; Ar =Attack  +  cc;	atr = att_points - cc;	 set_CharAttributes();}
    	if(input == "2"){cin >> cc;Lpr =Life    +	cc;	atr =atr - cc;	 set_CharAttributes();}
    	if(input == "3"){cin >> cc;Mr =Mana    +	cc;	atr =atr - cc;	 set_CharAttributes();}
    	if(input == "4"){cin >> cc;Lsr =Longsword   +	cc;	atr =atr - cc;	 set_CharAttributes();}
    	if(input == "5"){cin >> cc;Sr =Shortsword	 +	cc;	atr =atr - cc;	 set_CharAttributes();}
    	if(input == "6"){cin >> cc;Hr =HeavyArmour +	cc;	atr =atr - cc;	 set_CharAttributes();}
    	if(input == "7"){cin >> cc;Lr =LightArmour +	cc;	atr =atr - cc;	 set_CharAttributes();}
    	//if(input == "1337"){}
    	if( atr == 0){ system("cls"); cout << "alle punkte ausgegeben" << endl; Sleep(10000);}
    
    }
    

    Sind ein paar nicht sehr schöne sachen drin , kannst du ja verbessern...

    Viel Spaß

    Edit: Hab gesehen das beim attribut vergeben was nicht ganz geht, musst du dann halt wie dus brauchst verbessern/ändern



  • Wo soll ich das den einfügen? xD



  • .... 😮

    Ähmmmm ja.

    #
    //das ist deine main loop
    int main(){....}
    
    //alles ab void choose_class(){... fügst du unter deiner main schleife ein / oder //in einem neuen dokument
    
    //alles was über void choose_class(){... ist fügst du bei dieser Raute ein #
    


  • Xenotack schrieb:

    Letzteres Versteh ich nicht so ganz

    Statt

    do { ... } while (lifebar > 0);
    

    würde ich

    while (lifebar > 0) { ... }
    

    schreiben.



  • Ich denke das du das auch nicht weißt :

    int main()
    { 
    .......dein code hier
    
    cout << "(N)Neues Spiel" << endl;
    	char x;
    
    	x = _getch();
    
    	if (x = 'n')
    	{
    	choose_class();
    	}
    }
    //oder irgendwie so was
    


  • Wie gesagt Anfänger ^^



  • Das hat nichts damit zu tun.Als Anfänger darfst du nicht erwarten das du so ein Spiel schreiben kannst.



  • es sollte ein zeitvertreib sein <.<



  • Anstatt deine Zeit ohne aussicht zu vertreiben , lies doch dein c++ buch.
    Ich hab nichts dagegen was du machst , ich finds echt toll und ich mach so was auch , aber wenn du nichts amchst , dan bleibst dein Spiel halt so.... 😋



  • Ich wollt mir ja das Buch
    'C++ für Spieleprogramierer' Kaufen aber als ich den Preis sah ... 😮 😮 😮



  • Das ist halt so.
    "3D-Spiele Programmierung Mit DirectX 9 und C++" von David Scherfgen hab ich mir für 40€ gekauft...
    Außerdem gibts noch andere C++ Bücher



  • Hab gehört das soll gut sein ok das kostet 30€ ^^



  • Dsa Buch was du erwähn hast kenn ich nicht , also weiß ich nicht , ob es den Preis wert ist.Das 3D Programmier buch hat um die 850 seiten und ist ziehmlich kompakt geschrieben , echt gut.Es ist den Preis schon wert...



  • Google das buch doch mal du wirst es für 30€ Bei Amazon finden ^^



  • 7xCore schrieb:

    Ich denke das du das auch nicht weißt :

    int main()
    { 
    .......dein code hier
    
    cout << "(N)Neues Spiel" << endl;
    	char x;
    
    	x = _getch();
    
    	if (x = 'n')
    	{
    	choose_class();
    	}
    }
    //oder irgendwie so was
    

    Genau, irgendwie.

    int main(){ 
    
    //.......dein code hier
    
    cout << "[N] Neues Spiel" << endl;
    
    	if (getche() == 'n')// Muss == und nicht =, getche() (oder getch())finde   ich hier praktischer        
    	    choose_class();
    }
    

    edit: Man könnte im Menü auch eine switch/case Abfrage starten, ist sehr viel Praktischer



  • Ehm wenn ich ein string mache also so

    string monster;
    monster = Gargol
    

    So wollte ich es erst machen bekam aber dann den Fehler das Gargol nicht deklariert ist
    dann viel mir das ein

    string monster = Gargol;
    

    Und bekomm den gleichen Fehler 😕



  • Xenotack schrieb:

    Ehm wenn ich ein string mache also so

    string monster;
    monster = Gargol
    

    So wollte ich es erst machen bekam aber dann den Fehler das Gargol nicht deklariert ist
    dann viel mir das ein

    string monster = Gargol;
    

    Und bekomm den gleichen Fehler 😕

    Hast weil du gargol nicht deklariert hast ! (Nehm ich mal an ? )

    Willst du stattdessen monster den String "Gargol" enthalten lassen, musst du das so schreiben:

    std::string monster("Gargol");

    P.S.:

    string monster;monster=Gargol;
    
    string monster=Gargol;
    

    ist im Endeffekt genau das gleiche.



  • Oh Danke (Stimmt ein String ist für Texte deswegen "" 🙄 )



  • War das mit den klammern bei einem string nicht C ? Also string abc("ich bin abc"); 😉

    Ist ja auch egal.
    Zeich mal deinen code bis jetzt oder lad mal was hoch 😉


Anmelden zum Antworten