'Vermino Pidocchino'
Programma "didattico" in C++ per gestione tasti, colori, posizionamento cursore, ...
Programma sorgente da compilare in Dev-C++ - Prof.
Claudio Maccherani
- Perugia - 2018/2019
'Vermino_Pidocchino.cpp - giochino stupidino per riconoscere i tasti di spostamento Dev-C++ - prof. Claudio Maccherani - Perugia - 2018/19 +--------------------------------------------------------------------------+ | Per la gestione dei colori, il posizionamento del cursore (GOTORC) e | | la rilevazione dei tasti premuti occorre utilizzare le API di Windows. | | - #include
| | - HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); | | - SetConsoleTextAttribute (hCon, x) | | dove 'x' è il codice colore (un numero intero compreso tra 0 e 255) | | - goto(R,C) [per posizionare il colore a riga R e colonna C] | | dove 'R' va da 1 a 25 e 'C' va da 1 a 80 | | - GetAsyncKeyState(TASTO) [per rilevare quale tasto è stato premuto] | | - Sleep(TEMPO) [per attendere un TEMPO di millisecondi] | +--------------------------------------------------------------------------+ */ #include
#include
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE); // per impostare i colori di primo piano e di sfondo using namespace std; void gotorc(short r, short c) { COORD pos = {c, r}; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); } int R1=3,C1=3,R2=20,C2=77,R,C; char Avatar='#'; int attesa=100; char tracciamento='n'; void Disegna_Riquadro() { // disegna il riquadro di spostamento gotorc(R1,C1); cout << "+"; gotorc(R1,C2); cout << "+"; gotorc(R2,C1); cout << "+"; gotorc(R2,C2); cout << "+"; for(int r=R1+1;r
R1+1) { gotorc(R,C); cout<
C1+1) { gotorc(R,C); cout<
- "; cout<<"Spostamento con TRACCIAMENTO [s/n]? "; cin>>tracciamento; Disegna_Riquadro(); // disegna il riquadro di spostamento R = 11; C = 39; gotorc(R,C); cout << Avatar; // posiziona l'atavar while (GetAsyncKeyState(VK_ESCAPE)==0) { // gioca (sposta l'avatar) if(GetAsyncKeyState(VK_DOWN)) { Spostamento('B'); } if(GetAsyncKeyState(VK_UP)) { Spostamento('A'); } if(GetAsyncKeyState(VK_LEFT)) { Spostamento('S'); } if(GetAsyncKeyState(VK_RIGHT)) { Spostamento('D'); } Sleep(attesa); // millisecondi di 'attesa' } system("cls");cout<<"\n CIAO \n"; return 0; }