#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