ALT Opublikowano 9 Czerwca 2012 Opublikowano 9 Czerwca 2012 Mam taki kod: if ( b<xx-3 or b>xx+3 or a<yy-3 or a>yy+3 ) { //Rysuje plansze } Ten kod powinien rysować plansze w zakresie 3 pozycji od gracza, a robi odwrotnie,nie rysuje w zakresie 3 pozycji od gracza, oto przykład: Jak to naprawić?
ediepl Opublikowano 9 Czerwca 2012 Opublikowano 9 Czerwca 2012 A co na tym obrazku to gracz? W if nie powinno być and zamiast or? Co to za zmienne a i b?
ALT Opublikowano 9 Czerwca 2012 Autor Opublikowano 9 Czerwca 2012 1.O graczu zapomniałem :P 2.Nie 3.A i b to pozycja na której jest pętla która odczytuje dane z tablicy, i na jej podstawie rysuje plansze.
ALT Opublikowano 9 Czerwca 2012 Autor Opublikowano 9 Czerwca 2012 Nope, nie działa, plansza w ogóle się nie rysuje. Edit: Elder Veteran, Weeeeee
ediepl Opublikowano 9 Czerwca 2012 Opublikowano 9 Czerwca 2012 Jak byś pokazał więcej kodu to było by łatwiej. EDIT: if(i = 0; i < 3; i++) { if(j = 0; j < 3; j++) { rysuj_kwadrat(xx-1+i, yy-1+j); } }
ALT Opublikowano 9 Czerwca 2012 Autor Opublikowano 9 Czerwca 2012 Eh... void generate1(int xc, int yc) { system("cls"); SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15); cout << "ZYCIE: "<<hp<<endl; cout << "SILA WOLI: "<<sw<<endl; cout << "MONETY: "<<gold<<endl; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15); cout << endl; int a,b; for (a=0;a<17;a++) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15); cout << endl; cout << " "; cout << " "; cout << " "; cout << " "; cout << " "; cout << " "; cout << " "; for (b=0;b<39;b++) { if ( b<xx-3 or b>xx+3 or a<yy-3 or a>yy+3 ) ) { if (lvl1[a][b]==1) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 136); cout << "#"; } else if (lvl1[a][b]==0) { if (yc==a and xc==b) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 124); cout << "@"; } else { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 119); cout << "."; } } else if (lvl1[a][b]==3) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15); cout << " "; } else if (lvl1[a][b]==4) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 120); cout << "|"; } else if (lvl1[a][b]==5) { if (yc==a and xc==b) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 124); cout << "@"; } else { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7); cout << "+"; } } else if (lvl1[a][b]==6) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 9); cout << "X"; } else if (lvl1[a][b]==7) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 126); cout << "$"; } else if (lvl1[a][b]==8) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 9); cout << "O"; } } else { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15); cout << " "; } } } };
ediepl Opublikowano 9 Czerwca 2012 Opublikowano 9 Czerwca 2012 Co oznacza każdy znak(na mapie oczywiście)? EDIT: Albo napisz co to ma robić po kolei to napisze ci ten skrypt od początku.
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się