
Well, you can choose between 3 difficulty levels ,and have to kill a monster which, depending oon the difficulty level, has 100, 200 or 300 HP.
Works perfectly fine^^
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <ctime>
#include <string>
using namespace std;
int UserChoice;
int BeastDamage;
string Player;
int Difficulty;
int main ()
{
cout << "Hallo. \n Wie heisst du? \n";
cin >> Player;
cout << "\n Waehle bitte einen schwierigkeits grad \n";
cout << "1 fuer Leicht (Gegner hat 100 Lebenspunkte) \n 2 fuer Mittel (Gegner hat 200 Lebenspunkte) \n 3 fuer Schwer (Gegner hat 300 Lebenspunkte) \n";
cin >> Difficulty;
getch();
if ( !(cin >> Difficulty) || (Difficulty != 1 && Difficulty != 2 && Difficulty != 3))
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "Bitte 1 fuer Leicht, 2 fuer Mittel, oder 3 fuer Schwer eingeben! \n";
}
int InitHealth = 100;
int BeastHealth = 100 * Difficulty;
while (BeastHealth > 0 && (Difficulty == 1 || Difficulty == 2 || Difficulty == 3 )) {
cout << "Du wirst von einem Monster angegriffen! \n";
cout << "Was wirst du tun? Gib 1 ein um anzugreifen oder 2 um dich zu heilen \n";
cin >> UserChoice;
cout << "Du hast " << InitHealth << " Lebenspunkte \n";
getch();
switch(UserChoice)
{
case 1:
{
int DamageDone = rand()%30;
cout << "Du hast dem Monster " << DamageDone << " Lebenspunkte Abgezogen \n";
BeastHealth = BeastHealth - DamageDone;
if (BeastHealth < 30) {
int BeastHealed = rand()%30;
BeastHealth = BeastHealth + BeastHealed;
cout << "Das monster hat " << BeastHealed << " Regeneriert! \n"; } else if (BeastHealth > 30) {
BeastDamage = rand()%25;
InitHealth = InitHealth - BeastDamage;
cout << "Das monster hat dir " << BeastDamage << " Lebenspunkte abgezogen! \n Du hast noch " << InitHealth << " Lebenspunkte \n"; }
cout << "Das Monster hat noch " << BeastHealth << " Lebenspunkte \n";
if (BeastHealth < 1) { cout << "Gute arbeit, du hast Gewonnen!"; } else if (InitHealth < 1) { cout << "Das Monster hat dich getötet!"; }
}
break;
case 2:
{
int Healed = rand()%30;
if (BeastHealth < 30) {
int BeastHealed = rand()%30;
BeastHealth = BeastHealth + BeastHealed;
cout << "Das monster hat " << BeastHealed << " Regeneriert! \n"; } else if (BeastHealth > 30) {
BeastDamage = rand()%25;
InitHealth = InitHealth - BeastDamage;
cout << "Das monster hat dir " << BeastDamage << " Lebenspunkte abgezogen! \n Du hast noch " << InitHealth << " Lebenspunkte \n"; }
InitHealth = InitHealth + Healed;
cout << "Du hast " << Healed << " Lebenspunkter regeneriert. Du hast nun " << InitHealth << " Lebenspunkte \n \n";
}
if (BeastHealth < 1) { cout << "Gute arbeit, du hast Gewonnen!"; } else if (InitHealth < 1) { cout << "Das Monster hat dich getötet!"; }
if ( !(cin >> UserChoice) || (UserChoice != 1 && UserChoice != 2))
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "Bitte 1 zum Angreifen oder 2 zum Heilen eingeben! \n";
}
}
}
getch();
return 0;
}
Whoops...that was the old code, updated.
Attached File(s)
-
monsterj_ger_2.0.rar (104.67K)
Number of downloads: 4
Edited by Master_Chief, 06 April 2008 - 10:36.