import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone
{
{
#include <graphics.h>
#include <stdio.h>
#define maxx 800
#define maxy 600
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
#define ESC 27
const char *ramk = "ramk.bmp";
const char *glowaup = "head_up.bmp";
const char *glowadown = "head_down.bmp";
const char *glowaleft = "head_left.bmp";
const char *glowaright = "head_right.bmp";
const char *clr = "clrdown.bmp";
int kierunek = 0;
void ramka();
void giant(int x, int y, int color) {
setcolor(color);
rectangle(10+x,10+y,35+x,35+y);
setfillstyle(SOLID_FILL,color);
floodfill(11+x,41+y,color);
}
void okno(){
initwindow(maxx, maxy);
}
int key(){
int key,kot;
if(kbhit()){
key=getch();
printf("kod: %d znak: %c\n",key,key);
return key;
}
else
return 1;
}
void ruch(){
int x, y, xp, yp;
int sleep;
int kod, kot;
int temp = UP;
sleep = 1;
y = maxy/2 ; x = maxx/2 ;
int i = 0;
do {
xp = x; yp = y;
kod = key();
if (abs(kierunek - kod) == 8 || abs(kierunek - kod) == 2)
{
kod = kierunek;
}
kierunek = kod;
if (kod == 1)
{
kod = temp;
}
else
{
temp = kod;
}
switch (kod) {
case RIGHT:
if (x < maxx - 50 ) x = x + 25;
readimagefile(glowaright,x,y,x+25,y+25);
delay(150);
readimagefile(clr,x,y,x+25,y+25);
break;
case LEFT:
if (x >= 0) x = x - 25;
readimagefile(glowaleft,x,y,x+25,y+25);
delay(150);
readimagefile(clr,x,y,x+25,y+25);
break;
case UP:
if (y >= 0) y = y - 25;
readimagefile(glowaup,x,y,x+25,y+25);
delay(150);
readimagefile(clr,x,y,x+25,y+25);
break;
case DOWN:
if (y < maxy-50) y = y + 25;
readimagefile(glowadown,x,y,x+25,y+25);
delay(150);
readimagefile(clr,x,y,x+25,y+25);
break;
}
} while (kod != ESC);
}
void ramka()
{
readimagefile(ramk, 10, 10, maxx-10, 19);
readimagefile(ramk, 10, maxy-19, maxx-10, maxy-10);
readimagefile(ramk, 10, 10, 19, maxy-10);
readimagefile(ramk, maxx-19, 19, maxx-10, maxy-10);
}
int main() {
okno();
ramka();
key();
ruch();
getch();
}
}
}
CgppbXBvcnQgamF2YS51dGlsLio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CiNpbmNsdWRlIDxncmFwaGljcy5oPgojaW5jbHVkZSA8c3RkaW8uaD4KCgojZGVmaW5lIG1heHggODAwCiNkZWZpbmUgbWF4eSA2MDAKI2RlZmluZSBVUCA3MgojZGVmaW5lIERPV04gODAKI2RlZmluZSBMRUZUIDc1CiNkZWZpbmUgUklHSFQgNzcKI2RlZmluZSBFU0MgMjcKCmNvbnN0IGNoYXIgKnJhbWsgPSAicmFtay5ibXAiOwpjb25zdCBjaGFyICpnbG93YXVwID0gImhlYWRfdXAuYm1wIjsKY29uc3QgY2hhciAqZ2xvd2Fkb3duID0gImhlYWRfZG93bi5ibXAiOwpjb25zdCBjaGFyICpnbG93YWxlZnQgPSAiaGVhZF9sZWZ0LmJtcCI7CmNvbnN0IGNoYXIgKmdsb3dhcmlnaHQgPSAiaGVhZF9yaWdodC5ibXAiOwpjb25zdCBjaGFyICpjbHIgPSAiY2xyZG93bi5ibXAiOwppbnQga2llcnVuZWsgPSAwOwp2b2lkIHJhbWthKCk7Cgp2b2lkIGdpYW50KGludCB4LCBpbnQgeSwgIGludCBjb2xvcikgewpzZXRjb2xvcihjb2xvcik7CnJlY3RhbmdsZSgxMCt4LDEwK3ksMzUreCwzNSt5KTsKc2V0ZmlsbHN0eWxlKFNPTElEX0ZJTEwsY29sb3IpOwpmbG9vZGZpbGwoMTEreCw0MSt5LGNvbG9yKTsKfQoKdm9pZCBva25vKCl7CmluaXR3aW5kb3cobWF4eCwgbWF4eSk7Cn0KCgppbnQga2V5KCl7CmludCBrZXksa290OwppZihrYmhpdCgpKXsKICAgIGtleT1nZXRjaCgpOwogICAgICBwcmludGYoImtvZDogJWQgem5hazogJWNcbiIsa2V5LGtleSk7CiAgICByZXR1cm4ga2V5OwogICAgfQoKZWxzZQogICAgcmV0dXJuIDE7Cn0KCnZvaWQgcnVjaCgpewoKaW50IHgsIHksIHhwLCB5cDsKaW50IHNsZWVwOwppbnQga29kLCBrb3Q7CmludCB0ZW1wID0gVVA7CnNsZWVwID0gMTsKeSA9IG1heHkvMiA7IHggPSBtYXh4LzIgOwppbnQgaSA9IDA7CgoKZG8gewoKeHAgPSB4OyB5cCA9IHk7CmtvZCA9IGtleSgpOwoKaWYgKGFicyhraWVydW5layAtIGtvZCkgPT0gOCB8fCBhYnMoa2llcnVuZWsgLSBrb2QpID09IDIpCgkJewoJCQlrb2QgPSBraWVydW5lazsKCQl9CgkJa2llcnVuZWsgPSBrb2Q7CmlmIChrb2QgPT0gMSkKewprb2QgPSB0ZW1wOwp9CmVsc2UKewp0ZW1wID0ga29kOwp9Cgpzd2l0Y2ggKGtvZCkgewoKY2FzZSBSSUdIVDoKCmlmICh4IDwgbWF4eCAtIDUwICkgeCA9IHggKyAyNTsKcmVhZGltYWdlZmlsZShnbG93YXJpZ2h0LHgseSx4KzI1LHkrMjUpOwpkZWxheSgxNTApOwpyZWFkaW1hZ2VmaWxlKGNscix4LHkseCsyNSx5KzI1KTsKYnJlYWs7CgpjYXNlIExFRlQ6CmlmICh4ID49IDApIHggPSB4IC0gMjU7CnJlYWRpbWFnZWZpbGUoZ2xvd2FsZWZ0LHgseSx4KzI1LHkrMjUpOwpkZWxheSgxNTApOwpyZWFkaW1hZ2VmaWxlKGNscix4LHkseCsyNSx5KzI1KTsKYnJlYWs7CgpjYXNlIFVQOgppZiAoeSA+PSAwKSB5ID0geSAtIDI1OwpyZWFkaW1hZ2VmaWxlKGdsb3dhdXAseCx5LHgrMjUseSsyNSk7CmRlbGF5KDE1MCk7CnJlYWRpbWFnZWZpbGUoY2xyLHgseSx4KzI1LHkrMjUpOwpicmVhazsKCmNhc2UgRE9XTjoKCmlmICh5IDwgbWF4eS01MCkgeSA9IHkgKyAyNTsKcmVhZGltYWdlZmlsZShnbG93YWRvd24seCx5LHgrMjUseSsyNSk7CmRlbGF5KDE1MCk7CnJlYWRpbWFnZWZpbGUoY2xyLHgseSx4KzI1LHkrMjUpOwoKYnJlYWs7Cn0KfSB3aGlsZSAoa29kICE9IEVTQyk7Cn0KCnZvaWQgcmFta2EoKQp7CgogICAgcmVhZGltYWdlZmlsZShyYW1rLCAxMCwgMTAsIG1heHgtMTAsIDE5KTsKICAgIHJlYWRpbWFnZWZpbGUocmFtaywgMTAsIG1heHktMTksIG1heHgtMTAsIG1heHktMTApOwogICAgcmVhZGltYWdlZmlsZShyYW1rLCAxMCwgMTAsIDE5LCBtYXh5LTEwKTsKICAgIHJlYWRpbWFnZWZpbGUocmFtaywgbWF4eC0xOSwgMTksIG1heHgtMTAsIG1heHktMTApOwp9CgppbnQgbWFpbigpIHsKb2tubygpOwpyYW1rYSgpOwprZXkoKTsKcnVjaCgpOwpnZXRjaCgpOwoKfQoKCX0KfQ==