Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

C++ hjälp

Skapad av Lobax, 2009-11-17 17:15 i Webbutveckling & Programmering

820
8 inlägg
0 poäng
Lobax
Visningsbild
P 31 Uppsala Hjälte 5 448 inlägg
0
Vettefan varför jag frågar de här i HP, men whateva.

Jag håller på med ett litet RPG spel som projektarbete till min klass i programering.

Tyvärr vägrar den att göra de jag vill att den ska göra, nämligen regristrera när någon har fått en skada i en fajt.

Här är ett litet uttdrag ur spelet som innehåller de som inte fungerar (jag har gjort så att den går att komplimera):

[code:c++]#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
#include <ctime>

using namespace std;

class Player {
private:
int health;
int strength;
int temp;

public:
void ability(int s, int h);
void damage(int a);
int attack();
int deffens();
void tempShield(int d);
int healthStats();


};

void Player::ability(int s, int h) {
strength = s;
health = h;
}

void Player::tempShield(int d){

temp = temp + d;
}

void Player::damage(int a) {

if (temp == 0){
health = health - a;
}

if (temp >1)
{
a = a - temp;

if (a > 0){
health = health - a; }


}
}

int Player::deffens(){
srand(time(NULL));
int r = rand() % strength + 1;



return r;
}

int Player::attack() {

srand(time(NULL));
int r = rand() % strength + 1;

return r;

}

int Player::healthStats(){

return health;

}

int randm();
void header();



int main(){

Player enemy, player;
int choice = 3;
while (choice >= 3 || choice <= 0){
system("cls");
header();
cout<<"Pick youre side, fool!\n";
cout<<"1. Maffia\n";
cout<<"2. Gangsters\n";

cin>>choice;

if (choice >= 3 || choice <= 0){
cout<<"What!? Press enter and then just pick one of the 2 alternatives!\n";
getchar();
cin.get();
}}
if (choice == 1){
player.ability(7,50);
enemy.ability(10,40);
}

else if (choice == 2) {
player.ability(10,40);
enemy.ability(7,50);
}

system("cls");
header();
cout<<"\nYou have chosen well. In order to train you for the future,\nwe will send in an oponent for you!";
cin.get();
getchar();
int ahealth = player.healthStats();
int bhealth = enemy.healthStats();

while ( ahealth > 0 && bhealth > 0){
system("cls");
header();
cout<< "An unknown villian has attacked!";
cout<<"\n\n\n";
cout<<"You:"<<ahealth<<" Youre enemy:"<<bhealth;
cout<<"\n\nWhat do you wish to do?\n";
cout<<"\n1.Punch 2.Block\n";
cin>>choice;
while (choice >= 3 || choice <= 0){
cout<<"\n Please enter a valid choice!\n\n";
cin>>choice;
}

if (choice == 1){
int attack = player.attack();
enemy.damage(attack);
system("cls");
header();
cout<<"Youre punch caused "<<attack<<" in damage!";
getchar();
cin.get();

if (bhealth < 0){
break;
}
else{}
}

if (choice == 2) {

int deffense = player.deffens();
player.tempShield(deffense);
system("cls");
header();
cout<<"Your deffence rose!";
getchar();
cin.get();


}
int enemychoice = randm();

if (enemychoice == 1){

int attack = enemy.attack();
player.damage(attack);
system("cls");
header();
cout<<"You where punched by your enemy! It cost "<<attack<<" of your life!";
getchar();
cin.get();

if (ahealth < 0){
break;
}
else{}
}
if (enemychoice == 2){
int deffense = enemy.deffens();
enemy.tempShield(deffense);
system("cls");
header();
cout<<"Your enemy's deffence rose!";
getchar();
cin.get();
}



}

int a = 1;
return a;

}

int randm()
{srand((unsigned)time(0));
srand(time(NULL));
int r = rand() % 2 + 1;


return r;
}

//Ögongodis, strunta i det här :D

void header()
{
cout<< " _\n";
cout<< " | |\n";
cout<< " __| | ____ _____ _____ ____ ___ ____ _____ ____ _____\n";
cout<< " / _ | / ___)| ___ |(____ || \\ /___) / ___)(____ || _ \\ | ___ |\n";
cout<< "( (_| || | | ____|/ ___ || | | ||___ |( (___ / ___ || |_| || ____|\n";
cout<< " \\____||_| |_____)\\_____||_|_|_|(___/ \\____)\\_____|| __/ |_____)\n";
cout<<" |_|\n";

}

[/code]

Uppskattar all hjälp jag kan få!

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Rojk
Visningsbild
P 37 Huddinge "Rojk" 3 576 inlägg
0

Svar till morphman86 [Gå till post]:
Helt rätt, det krävs en return alternativt en global int.

Exactly which part of B flat you don't understand!?

Lobax
Visningsbild
P 31 Uppsala Hjälte 5 448 inlägg
Trådskapare
0

Svar till Rojk [Gå till post]:
Tack, nu förstår jag vad morphman86 menade :P!

Jag ändrade
[code:c++]int attack = enemy.attack();
player.damage(attack);[/code]

till

[code:c++]int attack = enemy.attack();
player.damage(enemy.attack());[/code]

utan någon nämnvärd effekt, problemet är detsamma :S





Svar till fiskbullen [Gå till post]:
Strength declareras senare i programmet, tex. i form av [code:c++]player.ability(7,50).[/code]


Lobax
Visningsbild
P 31 Uppsala Hjälte 5 448 inlägg
Trådskapare
0

Svar till Skibur [Gå till post]:
Tack, de funkade :D

De var alltså inget fel på classerna...



Forum » Datorer & IT » Webbutveckling & Programmering » C++ hjälp

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons