📄 aliens.c~
字号:
/* ALIENS: A silly little game demonstrating the SDL and mixer libraries Copyright (C) 1998 Sam Lantinga This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Sam Lantinga 5635-34 Springhouse Dr. Pleasanton, CA 94588 (USA) slouken@devolution.com*/#include <stdlib.h>#include <stdio.h>#include <time.h>#include "SDL.h"#include "SDL_mixer.h"#include "SDL_image.h"#include <string.h>#ifdef macintosh#define DIR_SEP ":"#define DIR_CUR ":"#else#define DIR_SEP "/"#define DIR_CUR ""#endif#define DATAFILE(X) DIR_CUR "data" DIR_SEP X#define FRAMES_PER_SEC 50#define PLAYER_SPEED 4#define MAX_SHOTS 3#define SHOT_SPEED 6#define MAX_ALIENS 30#define ALIEN_SPEED 5#define ALIEN_ODDS (1*FRAMES_PER_SEC)#define EXPLODE_TIME 4/* define index of image */#define KEY_T_T 0#define KEY_A_UP 1#define KEY_A_DOWN 2#define KEY_B_UP 3#define KEY_B_DOWN 4#define KEY_C_UP 5#define KEY_C_DOWN 6#define KEY_D_UP 7#define KEY_D_DOWN 8#define KEY_E_UP 9#define KEY_E_DOWN 10#define KEY_F_UP 11#define KEY_F_DOWN 12#define KEY_G_UP 13#define KEY_G_DOWN 14#define KEY_H_UP 15#define KEY_H_DOWN 16#define KEY_I_UP 17#define KEY_I_DOWN 18#define KEY_J_UP 19#define KEY_J_DOWN 20#define KEY_K_UP 21#define KEY_K_DOWN 22#define KEY_L_UP 23#define KEY_L_DOWN 24#define KEY_M_UP 25#define KEY_M_DOWN 26#define KEY_N_UP 27#define KEY_N_DOWN 28#define KEY_O_UP 29#define KEY_O_DOWN 30#define KEY_P_UP 31#define KEY_P_DOWN 32#define KEY_Q_UP 33#define KEY_Q_DOWN 34#define KEY_R_UP 35#define KEY_R_DOWN 36#define KEY_S_UP 37#define KEY_S_DOWN 38#define KEY_T_UP 39#define KEY_T_DOWN 40#define KEY_U_UP 41#define KEY_U_DOWN 42#define KEY_V_UP 43#define KEY_V_DOWN 44#define KEY_W_UP 45#define KEY_W_DOWN 46#define KEY_X_UP 47#define KEY_X_DOWN 48#define KEY_Y_UP 49#define KEY_Y_DOWN 50#define KEY_Z_UP 51#define KEY_Z_DOWN 52#define KEY_LEFT_UP 53#define KEY_LEFT_DOWN 54#define KEY_RIGHT_UP 55#define KEY_RIGHT_DOWN 56#define KEY_UP_UP 57#define KEY_UP_DOWN 58#define KEY_DOWN_UP 59#define KEY_DOWN_DOWN 60#define KEY_RETURN_UP 61#define KEY_RETURN_DOWN 62#define KEY_F1_UP 63#define KEY_F1_DOWN 64#define KEY_F2_UP 65#define KEY_F2_DOWN 66#define KEY_F3_UP 67#define KEY_F3_DOWN 68#define KEY_F4_UP 69#define KEY_F4_DOWN 70typedef struct { int alive; int facing; int x, y; SDL_Surface *image;} object;/**/SDL_Surface *screen;SDL_Surface *background;SDL_Surface *imgup;SDL_Surface *imgdown;/*锛
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -