SMB.H
上传用户:sycq158
上传日期:2008-10-22
资源大小:15361k
文件大小:3k
源码类别:

游戏

开发平台:

Visual C++

  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<conio.h>
  4. #include<mem.h>
  5. #include<dos.h>
  6. #include<string.h>
  7. #include<alloc.h>
  8. #include<time.h>
  9. #include<f:smbkey.c> //KEYBOARD HANDLER FILE
  10. //(f:smb = directory of file key.c)
  11. #include<f:smbxline.h>        //Xlib Header files for Mode X graphics
  12. #include<f:smbxrect.h>  //Functions!
  13. #include<f:smbxpoint.h> //(f:smb = directory of x*.h)
  14. #include<f:smbxvsync.h>
  15. #include<f:smbxpbitmap.h>
  16. #include<f:smbxbmtools.h>
  17. #define TEXTCOLOR  35
  18. #define BACKGROUND 32
  19. typedef struct
  20. {
  21.   char red;
  22.   char green;
  23.   char blue;
  24. }colorpal;
  25. //DEFINE GRAPHICS ARRAYS/////////////////////////////////////////////////////
  26. typedef struct
  27. {
  28.   char mario[7][16][16];
  29.   char far *block[52];
  30.   char world[14][217];
  31.   char far *coin[3];
  32.   short int bumped[2];
  33.   short int bumploop;
  34.   short int sprite;
  35.   short int direction;
  36.   short int maxlength;
  37.   short int startpos[2];
  38.   colorpal palette[256];
  39.   colorpal marioc[2];
  40.   colorpal luigic[2];
  41. } graphics;
  42. //PLAYER INFO STRUCTURE//////////////////////////////////////////////////////
  43. typedef struct
  44. {
  45.   unsigned int score[2];
  46.   short int coins[2];
  47.   short int level;
  48.   short int lives;
  49.   short int screenx;
  50. } stats;
  51. typedef struct ct
  52. {
  53.   short int coinx;
  54.   short int coiny;
  55.   short int coinloop;
  56.   short int dy;
  57.   struct ct *next;
  58. }cointype;
  59. typedef struct st
  60. {
  61.   short int scorex;
  62.   short int scorey;
  63.   short int scoreloop;
  64.   char num[5];
  65.   struct st *next;
  66. }scoretype;
  67. //GLOBAL VARIABLES///////////////////////////////////////////////////////////
  68. unsigned char far *charset=(unsigned char far *)0xF000FA6EL;
  69. graphics data;
  70. stats player[2];
  71. struct time t;
  72. unsigned int times[3];
  73. short int curplay;
  74. int mariox;
  75. int marioy;
  76. short int landed;
  77. cointype *bcoin;
  78. scoretype *bscore;
  79. //FUNCTION PROTOTYPES////////////////////////////////////////////////////////
  80. void init();
  81. void fillscreen(int color);
  82. int  getinputs();
  83. void getmario();
  84. char *getpcx(FILE *file, char *temp, int length);
  85. void setpalette(int index, colorpal color);
  86. void graphchar(int xc, int yc, char c,int color, unsigned offset);
  87. void drawscreen(int x);
  88. void graphstring(int x,int y,char *string,int color,unsigned offset);
  89. void drawmario(int x, int y);
  90. void status();
  91. int startscreen();
  92. void levelscreen();
  93. void setcolors();
  94. void rotatepal(int *palloopp, colorpal *tempcp);
  95. void check_keybuf(int *movep, int *finishp, int *upp, int *downp, int *jumploop);
  96. void animate_mario(int move);
  97. void move_mario(int *movep);
  98. void addcoin(int x,int y);
  99. void removecoin();
  100. void drawcoin();
  101. void addscore(int x,int y, char *pscore);
  102. void removescore();
  103. void drawscore();
  104. void exitgame();
  105. void check_jump(int *upp, int *downp, int *jumploopp);
  106. void check_blocks();
  107. void check_finish(int *finishp);