2014-02-23 54 views
0

(Win32控制檯應用程序)好,所以我知道它有點看,但是我添加了許多有用的評論,我可以想到,即時通訊類新的編碼,所以如果這是一個快速修復我很抱歉花了你的時間,我搜索了高和低,不能弄清楚這一點。因此,它會提示用戶輸入一個名稱,該名稱適用於比賽,但是在顯示功能下,它無法顯示更新的統計數據(根據您選擇的比賽進行更新)。雖然有時它可以與hp/maxHP一起使用,但不是att也不是def。林不知道,如果它的東西與範圍或做什麼,香港專業教育學院嘗試了所有我知道的:/感謝您的時間和幫助:)程序不會更改數組值

#include <cstdlib> 
#include <iostream> 
#include <string> 

using namespace std; 
int stats[6] = {1, 10, 10, 1, 0, 0};//life(0), maxHp(1), hp(2), att(3), def(4), gold(5) 

void shop();//goes to the shop 
void fight();//goes to fighting area 
void sleep();//refills hp 
void welcome();//establishes name 
void display();//hud 
void whereTo();//travel selection 
void doRace();//establishes name 
void human();//race#1 
void orc();//race#2 
void dwarf();//race#3 
string name;//variable for name 

//Main 
int main() 
{ 
    welcome(); 
    doRace(); 
    while(stats[0]==1) 
    { 
     whereTo(); 
     cout << stats[1]; 
     system("PAUSE"); 
    } 
    cout << "If you are reading this, you have DIED!\n"; 
    system("PAUSE"); 
    return 0; 
} 

void shop() 
{ 
    display(); 
    cout << "To-be shoping area.\n"; 
    system("PAUSE"); 
} 

void fight() 
{ 
    display(); 
    cout << "To-be fighting area.\n"; 
    system("PAUSE"); 
} 

void sleep() 
{ 
    display(); 
    cout << "You rest completely..." << endl; 
    stats[2] = stats[1]; 
    system("PAUSE"); 
} 

void whereTo() 
{ 
    display(); 
    cout << "Where would you like to go?\n\n Shop(1)\n Fight(2)\n Sleep(3)\n"; 
    int place; 
    cin >> place; 
    system("CLS"); 
    if(place==1) 
    { 
     shop(); 
    } 
    else if(place==2) 
    { 
     fight(); 
    } 
    else if(place==3) 
    { 
     sleep(); 
    } 
else 
{ 
    cout << "Please enter 1, 2, or 3."; 
    system("PAUSE"); 
    system("CLS"); 
    whereTo(); 
} 
} 

void display()//Header to everything 
{ 
    system("CLS"); 
     cout << name << "       HP: " << stats[2] << "/" << stats[1] << " Att: " <<  stats[3]  << " Def: " << stats[5] << " Gold:" << stats[5] << endl << endl; 
} 

void welcome()//runs once, establishes name in beginning 
{ 
    cout << "Welcome to my first RPG Program\n\n"; 
    system("PAUSE"); 
    system("CLS"); 
    cout << "Enter your character's name\n\n"; 
    cin >> name; 
    system("CLS"); 
} 

void doRace()//choosing a race at the start 
{ 
     cout << "What Race would you like to be?\n\n\n 1)Human (More Attack and Defense)\n\n 2)Orc (More Hp and Attack)\n\n 3)Dwarf (More HP and Defense)\n\n"; 
    int race; 
    cin >> race; 
    if(race==1) 
    { 
     human(); 
     cout << "You chose Human!" << endl; 
     system("PAUSE"); 
    } 
    else if(race==2) 
    { 
     orc(); 
     cout << "You chose Orc!" << endl; 
     system("PAUSE"); 
    } 
    else if(race==3) 
    { 
     dwarf(); 
     cout << "You chose Dwarf!" << endl; 
     system("PAUSE"); 
    } 
    else 
    { 
     cout << "Please enter 1, 2, or 3."; 
     system("pause"); 
     system("CLS"); 
     doRace(); 
    } 
} 


void dwarf()//sets the initial stats of the character based off of race selection 
{ 
     stats[1] = stats[1] + 3;//maxHp 
     stats[2] = stats[2] + 3;//hp 
     stats[4] = stats[4] + 2;//def 
} 

void human()//sets the initial stats of the character based off of race selection 
{ 
     stats[3] = stats[3] + 2;//att 
     stats[4] = stats[4] + 2;//def 
} 

void orc()//sets the initial stats of the character based off of race selection 
{ 
     stats[1] = stats[1] + 3;//maxHp 
     stats[2] = stats[2] + 3;//hp 
     stats[3] = stats[3] + 2;//att 
} 

回答

0

您正在使用DEF錯誤的索引。它應該是4

Def: " << stats[5].