⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 koules.h

📁 瑞星微公司RK27XX系列芯片的SDK开发包
💻 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 + -