Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include "windows.h"
- using namespace std;
- void gotoxy(int x, int y)
- {
- COORD c;
- c.X = x-1;
- c.Y = y-1;
- SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE),c);
- }
- enum K
- {
- kGora=72,
- kDol=80,
- kLewo=75,
- kPrawo=77,
- kEnter=13,
- kEsc=27
- };
- int Wklawisz(void)
- {
- int znak=getch();
- return znak;
- }
- void wyczyscekran()
- {
- system ("cls");
- }
- int NapiszZnak(int x, int y, char c)
- {
- gotoxy(x,y);
- putch (c);
- }
- class Runner
- {
- private:
- int x;
- int y;
- char kodZnaku;
- public:
- void narysujSie();
- void zmazSie();
- void ustawPozycje(int jakieX, int jakieY);
- void podajpozycje();
- void ustawX(int jakieX)
- {
- if (jakieX>70)
- {
- if (jakieX>100)
- x=40;
- else x=69;
- }
- else
- x=jakieX;
- };
- void ustawY(int jakieY)
- {
- if (jakieY>20)
- {
- if (jakieY>100)
- y=12;
- else y=19;
- }
- else
- y=jakieY;
- };
- void ustawZ(int jakiZ)
- {
- int x=jakiZ;
- if ((x>33) && (x<47) || (x>58) && (x<64) || (x>91) && (x<96) || (x>123) && (x<126))
- kodZnaku=jakiZ;
- else
- kodZnaku='*';
- };
- void przesunY(int t)
- {
- if ((y-t>0) && (y-t<20))
- y=y-t;
- };
- void przesunX(int t)
- {
- if((x-t>0) && (x-t<70))
- x=x-t;
- };
- void podajX();
- void podajY();
- };
- void Runner::ustawPozycje(int jakieX,int jakieY)
- {
- x=jakieX;
- y=jakieY;
- };
- void Runner::narysujSie()
- {
- NapiszZnak(x,y,kodZnaku);
- };
- void Runner::zmazSie()
- {
- NapiszZnak(x,y,' ');
- };
- int main(int argc,char** argv)
- {
- int klawisz;
- Runner R;
- R.ustawX(69);
- R.ustawY(40);
- R.ustawZ('*');
- wyczyscekran();
- do{
- R.narysujSie();
- klawisz=Wklawisz();
- R.zmazSie();
- switch(klawisz)
- {
- case kGora : R.przesunY(1);
- break;
- case kDol: R.przesunY(-1);
- break;
- case kLewo: R.przesunX(1);
- break;
- case kPrawo: R.przesunX(-1);
- break;
- }
- }while(klawisz!=kEsc);
- return 0;
- }
Add Comment
Please, Sign In to add comment