#include
#include
#include
#include
int drawsprite(char SpriteFile[12],int XCo, int YCo,int FarX, int FarY,
int Trans);
void initgraphics();
//These are used for arrow keys since getch() does not return extended char
const char UP = 72;
const char LEFT = 75;
const char RIGHT = 77;
const char DOWN = 80;
int main()
{
initgraphics();
char Key = 0;
int Scroll[2];
Scroll[0] = 100;
Scroll[1] = 0;
//int True = 1;
int X = 50;
int Y = (getmaxy() - 82);
//Draw Bricks
for(int I = 0; I < 660; I+=30)
drawsprite("C:\\MARIO\\Bricks.spr",I,(getmaxy()-32),32,32,0);
for(I = 300; I < 450; I+=30)
drawsprite("C:\\MARIO\\Bricks.spr",I,(getmaxy()-64),32,32,0);
drawsprite("C:\\MARIO\\Mario.spr",X,Y,30,60,9);
drawsprite("C:\\MARIO\\Tunnel.spr",200,(getmaxy()-110),80,90,0);
drawsprite("C:\\MARIO\\Mushroom.spr",Scroll[0],200,32,32,0);
drawsprite("C:\\MARIO\\Turtle.spr",X+250,getmaxy()-96,32,32,15);
setbkcolor(BLACK);
while(Key!=27)
{
/*
Scroll[0]++;
drawsprite("C:\\MARIO\\Mushroom.spr",Scroll[0],getmaxy()-62,32,32,0);
drawsprite("C:\\MARIO\\Turtle.spr",Scroll[0],Y+20,32,32,15);
if( (Scroll[0] == getmaxx()- 80) )
{
True = 0;
Scroll[1] = Scroll[0];
}
//if( (Scroll[1] == getmaxx() - 32))
Scroll[1]--;
drawsprite("C:\\MARIO\\Mushroom.spr",Scroll[1]-30,getmaxy()-62,32,32,15);
drawsprite("C:\\MARIO\\Turtle.spr",Scroll[1],Y+20,32,32,15);
if(True == 0 && Scroll[1] == 20)
{
Scroll[0] = Scroll[1];
}
*/
if(kbhit())
{
Key = getch();
if(Key == RIGHT)
{
X+=3;
setfillstyle(SOLID_FILL,BLACK);
bar((X-3),Y,X,(Y+30));
drawsprite("C:\\MARIO\\Mario.spr",X,Y,30,60,9);
}
if(Key == LEFT)
{
X-=3;
setfillstyle(SOLID_FILL,BLACK);
bar((X+30),Y,X+35,(Y+30));
drawsprite("C:\\MARIO\\Mario.spr",X,Y,30,60,0);
}
if(Key == 'j' || Key == 'J')
{
Y-=30;
drawsprite("C:\\MARIO\\Mario.spr",X,Y,30,60,9);
setfillstyle(SOLID_FILL,BLACK);
delay(100);
bar((X-3),Y-30,X+60,(Y+60));
Y+=30;
setfillstyle(SOLID_FILL,BLACK);
bar((X-3),Y+30,X,(Y+30));
drawsprite("C:\\MARIO\\Mario.spr",X,Y,30,60,9);
}
setvisualpage(0);
}
}
return 0;
}
void initgraphics()
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "c:\\tc\\bgi");
}
int drawsprite(char SpriteFile[12],int XCo, int YCo,int FarX, int FarY,
int Trans)
{
ifstream IFile;//this is the sprite file
int X=0,Y=0;
int A = 0;
int Sprite[120][120];
for(X=0;X<50;X++)
for(Y=0;Y<50;Y++)
Sprite[X][Y] = 0;
IFile.open(SpriteFile);
for(X=0;X> Sprite[Y][X];
for(X=0;X