📄 koules.h
字号:
//$Log: koules.h,v $
//Revision 1.5 2008/01/07 08:19:17 Chenzushang
//修改koules游戏的启动方式,直接启动而不再启动一个应用
//添加koules游戏声音
//
//Revision 1.4 2007/11/10 03:46:56 Chenzushang
//修改inline宏为__inline
//
//Revision 1.3 2007/11/08 01:40:17 Chenzushang
//修改Koules,使其运行于VideoTask任务下
//
//Revision 1.2 2007/10/26 03:52:01 Chenzushang
//添加CVS版本自动注释脚本
//
#ifndef __KOULE_INCLUDED___
#define __KOULE_INCLUDED___
#include <stdio.h>
#include <string.h>
//#include <stdlib.h>
#include <math.h>
//#include <sys/types.h>
//#include <fcntl.h>
#ifndef M_PI /*hp ansi c stuff */
#define M_PI 3.14f
#endif
/*do not confuse compiler when function is not required */
//#if defined(__GNUC__)&&!defined(ONLYANSI)
#define const const
#define INLINE __inline
//#else
//#define INLINE __inline
//#endif
#define DUMMY do { } while (0)
//extern int nomouse;
#include "koulesapp.h"
#define MENUTIME 5
//#define back(x) (32 + x)
//#define ball(x) (64 + x)
#define KOULESROCKET(x) (96 + x)
//#define PLAY_X1 0
//#define PLAY_Y1 0
#define KOULESRAD(n) ((float)(n)/180.0f*M_PI)
#define KOULESROTSTEP KOULESRAD(10)
#define BALL_RADIUS 4 //8/2
#define BBALL_RADIUS 8//16/2
#define APPLE_RADIUS 16//32/2
#define INSPECTOR_RADIUS 7//14/2
#define LUNATIC_RADIUS EYE_RADIUS
#define HOLE_RADIUS 6//12/2
#define ROCKET_RADIUS 7//14/2
#define EYE_RADIUS1 5//10/2
#define SPRINGSIZE (4*BBALL_RADIUS)
#define SPRINGSTRENGTH (BBALL_RADIUS/2)
#define NTRACKS 4
#define NTRACKS 4
#define ROCKET 1
#define BALL 2
#define LBALL 3
#define CREATOR 4
#define HOLE 5
#define BBALL 6
#define APPLE 7
#define INSPECTOR 8
#define EHOLE 9
#define LUNATIC 10
#define MAXOBJECT 128//255/2
#define MAXPOINT 2000//(4000/2)
#define MAXROCKETS 5
#define L_ACCEL 'A'
#define L_GUMM 'M'
#define L_THIEF 'T'
#define L_FINDER 'G'
#define L_TTOOL 'S'
#define A_ADD 0.13f
#define M_ADD 0.8f
#define NLETTERS 5
#define LETTER 1024
#define S_START 0
#define S_END 1
#define S_COLIZE 2
#define S_DESTROY_BALL 3
#define S_DESTROY_ROCKET 4
#define S_CREATOR1 5
#define S_CREATOR2 6
#define C_REMOTE 0
#define C_KEYBOARD 1
#define C_RKEYBOARD 2
#define C_JOYSTICK1 3
#define C_JOYSTICK2 4
#define C_MOUSE 5
#define DEATHMATCH 0
#define COOPERATIVE 1
#define NSAMPLES 7
#define KOULESMODEMENU 1
#define KOULESMODEKEYS 2
#define KOULESMODEGAME 3
#define KOULESMODEJOY 4
#define KOULESMODEWAIT 5
#define KOULESMODEPREGAME 6
/*#define next*/ /*((++cit)>=NTRACKS?cit=1:cit) */
typedef struct
{
int type;
int thief;
int ctype;
int live;
int time;
int score;
int lineto;
int radius;
int live1; /*backup for rockets */
float x;
float y;
float fx; /*forces */
float fy;
float rotation; /*for rockets */
float M;
float accel;
char letter;
}KOULESOBJ_T;
typedef struct
{
int x, y, xp, yp, time, color;
}KOULESPOINT_T;
struct KOULESCTL_T
{
int mask;
};
//#ifndef VARIABLES_HERE
extern UBYTE koulesinloop;
extern float ROCKET_SPEED;
extern float BALL_SPEED;
extern float BBALL_SPEED;
extern float SLOWDOWN;
extern float GUMM;
extern float BALLM;
extern float LBALLM;
extern float BBALLM;
extern float APPLEM;
extern float INSPECTORM;
extern float LUNATICM;
extern float ROCKETM;
extern int koulesdosprings;
extern int koulesdifficulty;
extern int koulesrandsprings;
extern int koulesnobjects;
//extern int drawpointer;
//extern int textcolor;
extern int koulesnrockets;
extern KOULESOBJ_T koulesobject[MAXOBJECT];
extern KOULESPOINT_T koulespoint[MAXPOINT];
extern int koulesgameplan;
//extern char control[MAXROCKETS];
extern int kouleslastlevel, koulesmaxlevel;
//extern int mouseplayer;
extern int koulesgamemode;
//extern int tbreak;
extern int a_bballs, a_rockets, a_balls, a_holes, a_apples, a_inspectors,
a_lunatics, a_eholes;
extern UBYTE *kouleskeys[3][4];
extern unsigned char koulesrocketcolor[5];
//#endif
//#if defined(__GNUC__)&&!defined(ONLYANSI)
//extern inline void
//Koules_normalize (float *x, float *y, const float size)
//{
// float length = sqrt ((*x) * (*x) + (*y) * (*y));
// if (length == 0)
// length = 1;
// *x *= size / length;
// *y *= size / length;
//}
//#else
extern void Koules_normalize(float *, float *, float);
//#endif
extern void KoulesGame(void);
extern void Koules_addpoint(const int, const int, const int, const int, const int, const int);
extern void Koules_destroy(const int);
extern void Koules_creator(const int);
extern void Koules_creator_rocket(const int);
extern void Koulesdraw_menu(const int);
extern void Koules_draw_joy(const int);
extern void Koulesinit_menu(void);
extern void Koules_menu_keys(void);
extern void Koules_draw_keys(int);
//extern void keys_keys ();
//extern void joy_keys ();
extern void koulesgameplan_init(void);
extern void Koules_update_game(void);
extern void Koules_init_objects(void);
//extern void outro1 ();
//extern void outro2 ();
extern void Koules_clearpoints(void);
//extern void intro_intro ();
//extern void lunatic_intro ();
//extern void spring_intro ();
//extern void thief_intro ();
//extern void finder_intro ();
//extern void ttool_intro ();
//extern void hole_intro ();
//extern void inspector_intro ();
//extern void bball_intro ();
//extern void bbball_intro ();
//extern void maghole_intro ();
extern void Koules_load_rc(void);
extern void Koules_save_rc(void);
extern int Koules_allow_finder(void);
//#if defined(__GNUC__)&&!defined(ONLYANSI)
//extern int
//Koules_find_possition (float *, float *, const float)
// __attribute ((const));
// extern int Koules_radius(const int) __attribute ((const));
// extern float Koules_M (const int) __attribute ((const));
// extern int Koules_create_letter () __attribute ((const));
//#else
extern int Koules_find_possition(float *, float *, const float);
extern int Koules_radius(const int);
extern float Koules_M(const int);
extern int Koules_create_letter(void);
extern WINDOW* pkouleswin;
//#endif
//#ifdef WIN32
// #define TABSIZE 8
//#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -