pealike Temat założony przez niniejszego użytkownika |
» 2017-01-03 20:27:07 int main: #include <iostream> #include <cstdlib> #include <conio.h> #include "gra.h"
using namespace std;
int wybor_menu, wybor_klasa; int miejsce = 0;
int main() { Napisy napisy; Wojownik w1( 115, 45, 0, 15, "Wojownik" ); Mag m1( 80, 50, 0, 25, "Mag" ); Bohater * wsk; Miejsce0 m_0; for(;; ) { napisy.menu(); cin >> wybor_menu; switch( wybor_menu ) { case 1: { napisy.wyborklasa(); cin >> wybor_klasa; if( wybor_klasa == 1 ) wsk = & w1; if( wybor_klasa == 2 ) wsk = & m1; cout << "test" << endl; for(;; ) { wsk->wyswietl(); cout << miejsce << endl; if( miejsce == 0 ) m_0.miejsce_0( miejsce ); if( miejsce == 1 ) getch(); } getch(); break; } case 2: napisy.autorzy(); getch(); break; case 3: exit( 0 ); } } return 0; }
plik "gra.h" #include <iostream> #include <cstdlib>
using namespace std;
class miejsce_0;
class Bohater { public: virtual void wyswietl() = 0; };
class Wojownik : public Bohater { public: int hp, atak, zloto, szybkoscataku; string nazwa; Wojownik( int hpp = 115, int atk = 45, int zlt = 0, int szbatk = 15, string nzw = "Wojownik" ) { hp = hpp; atak = atk; zloto = zlt; szybkoscataku = szbatk; nazwa = nzw; } virtual void wyswietl() { system( "cls" ); cout << "HP: " << hp << endl; cout << "Atak: " << atak << endl; cout << "Zloto: " << zloto << endl; cout << "Szybkosc Ataku: " << szybkoscataku << endl; } }; class Mag : public Bohater { public: int hp, atak, zloto, szybkoscataku; string nazwa; Mag( int hpp = 80, int atk = 50, int zlt = 0, int szbatk = 25, string nzw = "Mag" ) { hp = hpp; atak = atk; zloto = zlt; szybkoscataku = szbatk; nazwa = nzw; } virtual void wyswietl() { system( "cls" ); cout << "HP: " << hp << endl; cout << "Atak: " << atak << endl; cout << "Zloto: " << zloto << endl; cout << "Szybkosc Ataku: " << szybkoscataku << endl; } };
class Napisy { public: friend class miejsce_0; void menu() { system( "cls" ); cout << "GRA RPG" << endl; cout << "=======" << endl; cout << endl << "1 - Nowa gra" << endl; cout << "2 - Autorzy, wersja" << endl; cout << "3 - Wyjdz" << endl; cout << "Wybierz: "; } void autorzy() { system( "cls" ); cout << "Autor: Pealike" << endl; cout << "Wersja: 0.01" << endl; cout << "Kliknij, by wyjsc..." << endl; } void wyborklasa() { system( "cls" ); cout << "Wybierz se klase ziomek" << endl; cout << "1 - Wojownik" << endl; cout << "2 - Mag" << endl; cout << "Wybierz: " << endl; } void miejsce_0() { cout << "Witaj w miescie!" << endl; cout << "1. Idz do: Tablica" << endl; cout << "2. Idz do: Sklep" << endl; cout << "Wybierz: "; } };
class Miejsce0 { public: int miejsce_0( int miejscek ) { int potrzebne; int wybor_miejsce_0; Napisy napisy; napisy.miejsce_0(); cin >> wybor_miejsce_0; switch( wybor_miejsce_0 ) { case 1: { potrzebne = 1; } case 2: { potrzebne = 2; } } return potrzebne; } }; [ / code ]
|
|
pekfos |
» 2017-01-03 21:21:08 switch( wybor_miejsce_0 ) { case 1: { potrzebne = 1; } case 2: { potrzebne = 2; } } |
A break? |
|
pealike Temat założony przez niniejszego użytkownika |
» 2017-01-03 21:30:06 z Breakiem nadal to nie działa. |
|
pekfos |
» 2017-01-03 21:34:49 To podaj kod, który zmieniłeś, i napisz co dokładnie nie działa. |
|
pealike Temat założony przez niniejszego użytkownika |
» 2017-01-03 21:44:02 int main: #include <iostream> #include <cstdlib> #include <conio.h> #include "gra.h"
using namespace std;
int wybor_menu, wybor_klasa; int miejsce = 0;
int main() { Napisy napisy; Wojownik w1( 115, 45, 0, 15, "Wojownik" ); Mag m1( 80, 50, 0, 25, "Mag" ); Bohater * wsk; Miejsce0 m_0; for(;; ) { napisy.menu(); cin >> wybor_menu; switch( wybor_menu ) { case 1: { napisy.wyborklasa(); cin >> wybor_klasa; if( wybor_klasa == 1 ) wsk = & w1; if( wybor_klasa == 2 ) wsk = & m1; cout << "test" << endl; for(;; ) { wsk->wyswietl(); cout << miejsce << endl; if( miejsce == 0 ) m_0.miejsce_0( miejsce ); if( miejsce == 1 ) cout << "tu cos bedzie" << endl; getch(); } getch(); break; } case 2: napisy.autorzy(); getch(); break; case 3: exit( 0 ); } } return 0; }
plik 'gra.h' #include <iostream> #include <cstdlib>
using namespace std;
class miejsce_0;
class Bohater { public: virtual void wyswietl() = 0; };
class Wojownik : public Bohater { public: int hp, atak, zloto, szybkoscataku; string nazwa; Wojownik( int hpp = 115, int atk = 45, int zlt = 0, int szbatk = 15, string nzw = "Wojownik" ) { hp = hpp; atak = atk; zloto = zlt; szybkoscataku = szbatk; nazwa = nzw; } virtual void wyswietl() { system( "cls" ); cout << "HP: " << hp << endl; cout << "Atak: " << atak << endl; cout << "Zloto: " << zloto << endl; cout << "Szybkosc Ataku: " << szybkoscataku << endl; } }; class Mag : public Bohater { public: int hp, atak, zloto, szybkoscataku; string nazwa; Mag( int hpp = 80, int atk = 50, int zlt = 0, int szbatk = 25, string nzw = "Mag" ) { hp = hpp; atak = atk; zloto = zlt; szybkoscataku = szbatk; nazwa = nzw; } virtual void wyswietl() { system( "cls" ); cout << "HP: " << hp << endl; cout << "Atak: " << atak << endl; cout << "Zloto: " << zloto << endl; cout << "Szybkosc Ataku: " << szybkoscataku << endl; } };
class Napisy { public: friend class miejsce_0; void menu() { system( "cls" ); cout << "GRA RPG" << endl; cout << "=======" << endl; cout << endl << "1 - Nowa gra" << endl; cout << "2 - Autorzy, wersja" << endl; cout << "3 - Wyjdz" << endl; cout << "Wybierz: "; } void autorzy() { system( "cls" ); cout << "Autor: Pealike" << endl; cout << "Wersja: 0.01" << endl; cout << "Kliknij, by wyjsc..." << endl; } void wyborklasa() { system( "cls" ); cout << "Wybierz se klase ziomek" << endl; cout << "1 - Wojownik" << endl; cout << "2 - Mag" << endl; cout << "Wybierz: " << endl; } void miejsce_0() { cout << endl << "Witaj w miescie!" << endl; cout << "1. Idz do: Tablica" << endl; cout << "2. Idz do: Sklep" << endl; cout << "Wybierz: "; } };
class Miejsce0 { public: int miejsce_0( int miejscek ) { int wybor_miejsce_0; Napisy napisy; napisy.miejsce_0(); cin >> wybor_miejsce_0; switch( wybor_miejsce_0 ) { case 1: return 1; break; case 2: return 2; break; } } }; [ / code ]
nie dzia ł a funkcja "miejsce_0", co ś z returnem prawdopodobnie.Sam nie wiem.Moim zdaniem powinno zwraca ć prawid ł ow ą liczb ę. |
|
pekfos |
» 2017-01-03 23:18:40 switch( wybor_miejsce_0 ) { case 1: return 1; break; case 2: return 2; break; } |
... Napisz po prostu return wybor_miejsce_0;. if( miejsce == 0 ) m_0.miejsce_0( miejsce );
|
Jak dokładnie ma działać ta metoda? Niczego nie robisz ze zwróconą wartością. Przekazujesz argument, który w tej metodzie jest nieużywany. |
|
pealike Temat założony przez niniejszego użytkownika |
» 2017-01-04 18:36:58 Na końcu instrukcji tej funkcji, chcę, by zwracała ona wartość 1 gdy gracz wybierze opcje "1", no i potem po zwróceniu wartości 1, wykonuje się if, że jeżeli ta zmienna jest '1' no to wtedy odpalaj te instrukcje. Jakby coś takiego zrobić? |
|
pekfos |
» 2017-01-04 20:56:46 No to tak zrób. Dla odmiany użyj do czegoś tego zwróconego 1, czy 2. |
|
1 « 2 » |