tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
250
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    zorro2711 zorro2711 ist offline Mitglied
    Registriert seit
    Dec 2011
    Beiträge
    12
    Hallo
    ich habe ein Problem. und zwar will ich eine zahl nehmen die ich als maximalzahl verwende.
    Am besten ich erkläre es an einem beispiel.
    Also folgendes Szenario ein Held mit einer hp von 100 (das Soll die maximal zahl sein) ein Monster Macht schaden und zieht den Held 15 hp ab.
    So jetzt hat der Held noch 85 hp. Der Held bekommt ein tank der 20 hp heilt So nun hätte der Held 105 hp aber ich will das bei 100 Schluss ist. Ich habe leider kein Plan wie ich das machen kann
    ich hoffe mir kann bitte geholfen werden

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    #include <iostream>
    using namespace std;
     
    int main()
    {
        int hp =100;  //100 soll nicht überschritten werden
        int monsterdmg =15; // schaden des monsters
        int trank =20; // füllt die hp wieder auf
     
        cout<< "du hast " << hp << " HP";
        cout<<"Monster kreift an"<<endl;
        hp-=monsterdmg;     //hp jetzt gleich 85
        cout<<"du hast jetzt noch " <<hp <<" HP"<<endl; //hp 85 wird ausgegeben
        cout<<"du nimmst einen TRank"<<endl;
        hp+=trank;          //Hp hat jetzt 105
        cout<<"du hast jetzt wieder" <<hp <<"HP"<<endl;  //es soll aber nicht mehr als 100 sein
     
     
    system("pause");
    return (0);
    }
     

  2. #2
    üäpöol üäpöol ist offline Mitglied Gold
    Registriert seit
    Feb 2011
    Beiträge
    189
    Hi,
    was hälst du davon, nachdem etwas hinzugefügt wurde zu überprüfen ob dir Zahl größer als 100 ist und wenn ja einfach HP - 100 abziehen. Vlt. gibt's ne einfachere Möglichkeit, aber das sollte schon mal funktionieren.
     

  3. #3
    zorro2711 zorro2711 ist offline Mitglied
    Registriert seit
    Dec 2011
    Beiträge
    12
    ja daran hab ich auch schon gedacht aber der wert der über 100 ist varriert von ergebnis zu ergebnis
     

  4. #4
    üäpöol üäpöol ist offline Mitglied Gold
    Registriert seit
    Feb 2011
    Beiträge
    189
    Macht doch nichts, oder?
    ob die Zahl größer als 100 ist und wenn ja einfach HP - 100 abziehen
    Was hälst du denn davon?
    Code cpp:
    1
    2
    3
    
    if (hp > 100) {
         hp -= hp-100;
    }
    So müsste das funktionieren.
     

  5. #5
    zorro2711 zorro2711 ist offline Mitglied
    Registriert seit
    Dec 2011
    Beiträge
    12
    also wenn ich das jetzt richtig entschlüssle dann lautet die formel:
    wenn hp größer als 100 ist führe die schleife aus; hp=hp-hp-100

    oder irre ich mich da ****
    (sry das ich so viele fragen stelle aber wenn ich was nicht weiß stelle ich eine frage damit ich es lerne )
     

  6. #6
    üäpöol üäpöol ist offline Mitglied Gold
    Registriert seit
    Feb 2011
    Beiträge
    189
    Lieber eine Frage zu viel als zu viel.
    Es ist zwar keine Schleife, aber egal, ja du hast Recht; um das ganze noch etwas zu verdeutlichen kannst du es ja auch so schreiben: hp = hp-(hp-100);
    Wenn du es anders schreibst bewirkt es das Gegenteil. (wegen Minusklammer).
    Funktioniert es denn jetzt? Ich kann's leider nicht ausführen, weil ich nur C++ programmiere und keine Lust habe, den Code umzuschreiben :P
     

  7. #7
    üäpöol üäpöol ist offline Mitglied Gold
    Registriert seit
    Feb 2011
    Beiträge
    189
    Oh ist ja eh in C++ sry. Führ's gleich mal aus
     

  8. #8
    üäpöol üäpöol ist offline Mitglied Gold
    Registriert seit
    Feb 2011
    Beiträge
    189
    Bei mir klappt's. Aber tu mir bitte einen Gefallen und verwende nicht system("pause").
    system() würde ich generell nur im Notfall benutzen, weil es nicht auf jedem Computer funktioniert (abgesehen davon, dass es nicht jeder Virenscanner mag). Also lieber getchar(); verwenden oder du bindest conio.h ein und nimmst getch();. Und wenn du willst mach halt davor noch ein cout << "Enter drücken oder du kriegst Probleme!", ne Spaß
     

  9. #9
    üäpöol üäpöol ist offline Mitglied Gold
    Registriert seit
    Feb 2011
    Beiträge
    189
    Sorry, wenn ich dich ein bisschen verwirrt habe, es ist natürlich viel einfacher es einfach so zu machen
    Code cpp:
    1
    2
    3
    
    if (hp > 100) {
    hp = 100;
    }
     

  10. #10
    zorro2711 zorro2711 ist offline Mitglied
    Registriert seit
    Dec 2011
    Beiträge
    12
    so der code sieht jetzt so aus

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    #include <iostream>
     
    using namespace std;
     
    int main()
    {
        int hp =100;  //100 soll nicht überschritten werden
        int monsterdmg =15; // schaden des monsters
        int trank =20; // füllt die hp wieder auf
     
        cout<< "du hast " << hp << " HP";
        cout<<"Monster kreift an"<<endl;
        hp-=monsterdmg;     //hp jetzt gleich 85
        cout<<"du hast jetzt noch " <<hp <<" HP"<<endl; //hp 85 wird ausgegeben
        cout<<"du nimmst einen TRank"<<endl;
        hp+=trank;          //Hp hat jetzt 105
        if (hp > 100) 
        {
            hp=hp-(hp-100);  // kann ich dass auch so schreiben oder muss ich das  in dieser komischen form schreiben (also hp -= hp-100 ) weil da komme ich immer durch einander ^^
        }
        cout<<"du hast jetzt wieder" <<hp <<"HP"<<endl;  //es soll aber nicht mehr als 100 sein
     
     
    system("pause");
    return (0);
    }
     

  11. #11
    üäpöol üäpöol ist offline Mitglied Gold
    Registriert seit
    Feb 2011
    Beiträge
    189
    Hast du meine letzten Nachrichten gelesen?
    Ansonsten passt.
    Wobei: Ich würde an deiner Stelle vlt. einen MAXWERT definieren, dann musst du nicht alles ausbessern, wenn du den Wert verändern willst.
     

  12. #12
    zorro2711 zorro2711 ist offline Mitglied
    Registriert seit
    Dec 2011
    Beiträge
    12
    Zitat Zitat von üäpöol Beitrag anzeigen
    Sorry, wenn ich dich ein bisschen verwirrt habe, es ist natürlich viel einfacher es einfach so zu machen
    Code cpp:
    1
    2
    3
    
    if (hp > 100) {
    hp = 100;
    }
    ne hatte ich net
    ja so ist es viel einfacher
    danke für deine hilfe und beratung und die tipps werde ich gleich in die tat umsetzen danke
     

Ähnliche Themen

  1. undefinierte Variable hat einen Wert?!
    Von Nord-Süd-Richtung im Forum Javascript & Ajax
    Antworten: 17
    Letzter Beitrag: 29.07.09, 08:48
  2. Button einen Wert geben
    Von zuckerbrini im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 29.01.09, 21:29
  3. Wert an einen MC anhängen
    Von peter333 im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 11.07.08, 23:51
  4. für einen Textknoten einen Wert hinterlegen
    Von P_H_I_L im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 22.02.08, 17:11
  5. Einen Wert mit 'Enter' bestätigen
    Von F_P_aus_K im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 03.03.05, 15:52