kolusek18 Napisano Luty 26, 2006 Zgłoś Share Napisano Luty 26, 2006 witam.chcialem napisac taki programik, gdzie sterojac klawiszami W,S,A,D poroszalbym w rozna strony znaczek. oto kod, ktory niestety nie dziala tak jak sie spodziewalem. moze mi ktos powiedziec co tu jest zle? i ewentualnie napisac jak powinno byc?probowalem tez urzyc instrucji wyboru switch, ale tez nie wychodzilokod:Pascal #include <cstdlib>#include <iostream>#include <windows.h>#include <stdio.h>#include <conio.h>using namespace std; void gotoxy(const int x, const int y){ HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); COORD coord = {x, y}; SetConsoleCursorPosition(hCon, coord);} int main(int argc, char *argv[]){ int x,y; // int wybor; x=15; y=15; gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; while(1){ if (getch()==87) { system("CLS"); y=y+1; x=x; gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; } else if (getch()==83) { system("CLS"); y=y-1; x=x; gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; } else if (getch()==65) { system("CLS"); x--; gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; } else if (getch()==68) { system("CLS"); x++; gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; } else system("CLS"); gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; /* switch(wybor){ case 87: { system("cls"); y--; gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; } case 83: { system("CLS"); y++; gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; } case 65: { system("cls"); x--; gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; } case 68: { system("cls"); x++; gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; } } */ } system("PAUSE"); return EXIT_SUCCESS;} Link do komentarza Udostępnij na innych stronach More sharing options...
Iskar Napisano Luty 26, 2006 Zgłoś Share Napisano Luty 26, 2006 [quote] niestety nie dziala tak jak sie spodziewalem [/quote]To znaczy jak?... Link do komentarza Udostępnij na innych stronach More sharing options...
kolusek18 Napisano Luty 26, 2006 Autor Zgłoś Share Napisano Luty 26, 2006 to znaczy tak, ze gdy nacisne W to znaczek (H) poruszy sie w gore, gdy nacisne S to z dol, A- w lewo, D - w prawo. Link do komentarza Udostępnij na innych stronach More sharing options...
Wosiedem Napisano Luty 26, 2006 Zgłoś Share Napisano Luty 26, 2006 [quote] to znaczy tak, ze gdy nacisne W to znaczek (H) poruszy sie w gore, gdy nacisne S to z dol, A- w lewo, D - w prawo. [/quote]Widac ze to nie jest twoj kod... A jak sie ma poruszac? Pozdrawiam, vo7 (; Link do komentarza Udostępnij na innych stronach More sharing options...
kolusek18 Napisano Luty 26, 2006 Autor Zgłoś Share Napisano Luty 26, 2006 to moj kod!!!ma sie poruszac tak, ze wspozedna x lub y sie zmniejsza lub zwieksza w zaleznosci od tego co wybiore i pojawia sie litera w innym punkcie dzieki funkcji gotoxy a ta poprezednia jest czyszczona uprzednio. kod sie chce skompilowac, ale gdy go wlaczam to literka "H" nie zmienia polozenia gdy wcisne W,S,D,A. [b]wogole nie zmienia polozenia! Link do komentarza Udostępnij na innych stronach More sharing options...
Firen Napisano Luty 26, 2006 Zgłoś Share Napisano Luty 26, 2006 [quote] to moj kod!!! [/quote]Nie ma czym sie chwalic Mam dla Ciebie jedna rade (na razie).Zmien te wartosci przy if'ach na 'x' gdzie x to 'w,s,d,a' w odpowiednich miejscach.Albo i druga Wroc do switcha. Dzieki temu od razu poprawisz kolejny razacy blad (narzut). Domysl sie jaki Down With The Sickness Link do komentarza Udostępnij na innych stronach More sharing options...
Wosiedem Napisano Luty 27, 2006 Zgłoś Share Napisano Luty 27, 2006 Naprawilem:Pascal#include <cstdlib>#include <iostream>#include <windows.h>#include <stdio.h>#include <conio.h> using namespace std; void gotoxy(short int x, short int y){ HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); COORD pas; pas.X=x-1; pas.Y=y-1; SetConsoleCursorPosition(hCon, pas); } int main(int argc, char *argv[]){ int x,y; // int wybor; x=15; y=15; gotoxy(x,y); cout<<"H"<<endl<<endl<<endl; char btn; while(1){ btn = getch(); // cout << btn; if (getch()=='s') { system("CLS"); y=y+1; gotoxy(x,y); cout<<"H"; } if (getch()=='w') { system("CLS"); y=y-1; gotoxy(x,y); cout<<"H"; } if (getch()=='a') { system("CLS"); x--; gotoxy(x,y); cout<<"H"; } if (getch()=='d') { system("CLS"); x++; gotoxy(x,y); cout<<"H"; } } system("PAUSE"); return EXIT_SUCCESS;} Pozdrawiam, vo7 (; Link do komentarza Udostępnij na innych stronach More sharing options...
Firen Napisano Luty 27, 2006 Zgłoś Share Napisano Luty 27, 2006 Mowie Ci do switcha wroc Teraz chyba juz dziala dobrze, co nie ? Down With The Sickness Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.