📄 koulesapp.c
字号:
/***********************************************************
Copyright(C)2007,Rockchip Co., Ltd. All Rights Reserved.
File:koulesapp.c
Desc:实现Koules游戏到RKOS的移植.
Note:
Author:czs
$Log: koulesapp.c,v $
Revision 1.5 2008/07/18 03:14:37 Administrator
VC 编译问题!
Revision 1.4 2008/07/14 07:23:09 XXX
更改音乐播放时进入出错
Revision 1.3 2008/06/19 04:42:27 Administrator
代码整理!
Revision 1.2 2008/06/06 03:16:03 XXX
更改游戏在RGB屏情况的问题
Revision 1.1.1.1 2008/03/06 13:28:24 Lingzhaojun
no message
Revision 1.9 2008/01/14 07:44:51 Chenzushang
修正游戏过程中插入USB死机问题
Revision 1.8 2008/01/10 12:59:45 Chenzushang
修正游戏声音与音乐播放时的冲突
Revision 1.7 2008/01/07 08:19:17 Chenzushang
修改koules游戏的启动方式,直接启动而不再启动一个应用
添加koules游戏声音
Revision 1.6 2007/12/26 14:38:29 Chenzushang
更改部分按键
Revision 1.5 2007/11/20 02:02:43 Chenzushang
申请的变量添加类型转换
Revision 1.4 2007/11/08 01:40:17 Chenzushang
修改Koules,使其运行于VideoTask任务下
Revision 1.3 2007/10/26 03:52:01 Chenzushang
添加CVS版本自动注释脚本
**********************************************************/
#include "koulesapp.h"
#include "koules.h"
#include "../../../system/os/fs/fs.h"
//extern void DoLcdFlush( LCD_RGBDATA *pLcdBuffer );
#define SOUNDS 7
#define CHANNELS 24 // this how many simultaneous sound effects we
// support; if we exceed this, the oldest
// sound is aborted to make room for the
// newest sound.
//#define KOULESTIMERDELAY 50//15
extern unsigned char CurrentCodec;
BOOLEAN KoulesGameCycle(ROCK_MSG_ID id, void* msg);
#if defined(BOARD)
BOOLEAN AudioHighTaskMsgCallBack(ROCK_MSG_ID id, void *msg);
#endif
extern void FileFuncInit(void);
HTIMER KoulesTimerID;
WINDOW* pkouleswin;
MY_FILE *kouleslastsndh = NULL;
UBYTE koules_key_enter, koules_key_up, koules_key_down, koules_key_pause, koules_key_help, koules_key_esc, koules_key_left, koules_key_right;
EXPORT int *koulesdisplay = NULL;//[KOULESWINHEIGHT][KOULESWINWIDTH];
IMPORT int koulescontroller[5],
kouleslevel,
koulesssound;
IMPORT UBYTE koules_hole_bitmap [ HOLE_RADIUS * 2][ HOLE_RADIUS * 2],
koules_ehole_bitmap [ HOLE_RADIUS * 2][ HOLE_RADIUS * 2],
koules_eye_bitmap[MAXROCKETS][ EYE_RADIUS * 2][ EYE_RADIUS * 2],
// mouse_bitmap [ MOUSE_RADIUS * 2][ MOUSE_RADIUS * 2],
koules_ball_bitmap [ BALL_RADIUS * 2][ BALL_RADIUS * 2],
koules_bball_bitmap [ BBALL_RADIUS * 2][ BBALL_RADIUS * 2],
koules_inspector_bitmap [INSPECTOR_RADIUS * 2][INSPECTOR_RADIUS * 2],
koules_lball_bitmap[NLETTERS] [ BALL_RADIUS * 2][ BALL_RADIUS * 2],
koules_rocket_bitmap[MAXROCKETS][ ROCKET_RADIUS * 2][ ROCKET_RADIUS * 2],
koules_apple_bitmap [ APPLE_RADIUS * 2][ APPLE_RADIUS * 2],
koules_lunatic_bitmap [ LUNATIC_RADIUS * 2][ LUNATIC_RADIUS * 2];
//const char g_szClassName[] = "Koules";
//MODULE int titleheight,
// writemode;
MODULE ULONG koulesfgc;
UINT32 KoulesOnPaint(WINDOW* win , WMPARAM wParam, WLPARAM lParam);
UINT32 KoulesCloseWin(WINDOW* win , WMPARAM wParam, WLPARAM lParam);
UINT32 KoulesOnDestroy(WINDOW* win , WMPARAM wParam, WLPARAM lParam);
BEGIN_APPMESSAGE_MAP(KoulesProcMap , CW_TYPE_Bmp) //CW_TYPE_USER
ON_MESSAGE(WM_PAINT, KoulesOnPaint)
ON_MESSAGE(WM_KEY, KoulesWindowKeyProc)
ON_MESSAGE(WM_USER, KoulesCloseWin)
ON_MESSAGE(WM_DESTROY, KoulesOnDestroy)
//ON_MESSAGE(WM_TIMER,KoulesOnTimer)
END_MESSAGE_MAP() // NULL
UINT32 KoulesOnPaint(WINDOW* win , WMPARAM wParam, WLPARAM lParam)
{
return TRUE;
}
/* The samples to load */
char* koules_sndfilename[SOUNDS] =
{ "C:\\APPDATA\\koules\\start.wav",
"C:\\APPDATA\\koules\\end.wav",
"C:\\APPDATA\\koules\\colize.wav",
"C:\\APPDATA\\koules\\destroy1.wav",
"C:\\APPDATA\\koules\\destroy2.wav",
"C:\\APPDATA\\koules\\creator1.wav",
"C:\\APPDATA\\koules\\creator2.wav"
};
MODULE ULONG koulespens[256] =
{ 0x000000, // 0
0x080800, // 1
0x101000, // 2
0x181800, // 3
0x202000, // 4
0x282800, // 5
0x303000, // 6
0x383800, // 7
0x404000, // 8
0x484800, // 9
0x505000, // 10
0x585800, // 11
0x606000, // 12
0x686800, // 13
0x707000, // 14
0x787800, // 15
0x808000, // 16
0x888800, // 17
0x909000, // 18
0x989800, // 19
0xA0A000, // 20
0xA8A800, // 21
0xB0B000, // 22
0xB8B800, // 23
0xC0C000, // 24
0xC8C800, // 25
0xD0D000, // 26
0xD8D800, // 27
0xE0E000, // 28
0xE8E800, // 29
0xF0F000, // 30
0xF8F800, // 31
0x000000, // 32
0x000008, // 33
0x000010, // 34
0x000018, // 35
0x000020, // 36
0x000028, // 37
0x000030, // 38
0x000038, // 39
0x000040, // 40
0x000048, // 41
0x000050, // 42
0x000058, // 43
0x000060, // 44
0x000068, // 45
0x000070, // 46
0x000078, // 47
0x000080, // 48
0x000088, // 49
0x000090, // 50
0x000098, // 51
0x0000A0, // 52
0x0000A8, // 53
0x0000B0, // 54
0x0000B8, // 55
0x0000C0, // 56
0x0000C8, // 57
0x0000D0, // 58
0x0000D8, // 59
0x0000E0, // 60
0x0000E8, // 61
0x0000F0, // 62
0x0000F8, // 63
0xF8B0B0, // 64
0xF09898, // 65
0xE88080, // 66
0xE06464, // 67
0xD84C4C, // 68
0xD03030, // 69
0xC81818, // 70
0xC00000, // 71
0xB80000, // 72
0xB00000, // 73
0xA80000, // 74
0xA00000, // 75
0x980000, // 76
0x900000, // 77
0x880000, // 78
0x800000, // 79
0x780000, // 80
0x700000, // 81
0x680000, // 82
0x600000, // 83
0x580000, // 84
0x500000, // 85
0x480000, // 86
0x400000, // 87
0x380000, // 88
0x300000, // 89
0x280000, // 90
0x200000, // 91
0x180000, // 92
0x100000, // 93
0x080000, // 94
0x000000, // 95
0xF8F8E0, // 96
0xF0F0C0, // 97
0xE8E8A0, // 98
0xE0E080, // 99
0xD8D860, // 100
0xD0D040, // 101
0xC8C820, // 102
0xC0C000, // 103
0xB8B800, // 104
0xB0B000, // 105
0xA8A800, // 106
0xA0A000, // 107
0x989800, // 108
0x909000, // 109
0x888800, // 110
0x808000, // 111
0x787800, // 112
0x707000, // 113
0x686800, // 114
0x606000, // 115
0x585800, // 116
0x505000, // 117
0x484800, // 118
0x404000, // 119
0x383800, // 120
0x303000, // 121
0x282800, // 122
0x202000, // 123
0x181800, // 124
0x101000, // 125
0x080800, // 126
0x000000, // 127
0xE0F8E0, // 128
0xC0F0C0, // 129
0xA0E8A0, // 130
0x80E080, // 131
0x60D860, // 132
0x40D040, // 133
0x20C820, // 134
0x00C000, // 135
0x00B800, // 136
0x00B000, // 137
0x00A800, // 138
0x00A000, // 139
0x009800, // 140
0x009000, // 141
0x008800, // 142
0x008000, // 143
0x007800, // 144
0x007000, // 145
0x006800, // 146
0x006000, // 147
0x005800, // 148
0x005000, // 149
0x004800, // 150
0x004000, // 151
0x003800, // 152
0x003000, // 153
0x002800, // 154
0x002000, // 155
0x001800, // 156
0x001000, // 157
0x000800, // 158
0x000000, // 159
0x7070F8, // 160
0x6060F0, // 161
0x5050E8, // 162
0x4040E0, // 163
0x3030D8, // 164
0x2020D0, // 165
0x1010C8, // 166
0x0000C0, // 167
0x0000B8, // 168
0x0000B0, // 169
0x0000A8, // 170
0x0000A0, // 171
0x000098, // 172
0x000090, // 173
0x000088, // 174
0x000080, // 175
0x000078, // 176
0x000070, // 177
0x000068, // 178
0x000060, // 179
0x000058, // 180
0x000050, // 181
0x000048, // 182
0x000040, // 183
0x000038, // 184
0x000030, // 185
0x000028, // 186
0x000020, // 187
0x000018, // 188
0x000010, // 189
0x000008, // 190
0x000000, // 191
0x000000, // 192
0x080808, // 193
0x101010, // 194
0x181818, // 195
0x202020, // 196
0x282828, // 197
0x303030, // 198
0x383838, // 199
0x404040, // 200
0x484848, // 201
0x505050, // 202
0x585858, // 203
0x606060, // 204
0x686868, // 205
0x707070, // 206
0x787878, // 207
0x808080, // 208
0x888888, // 209
0x909090, // 210
0x989898, // 211
0xA0A0A0, // 212
0xA8A8A8, // 213
0xB0B0B0, // 214
0xB8B8B8, // 215
0xC0C0C0, // 216
0xC8C8C8, // 217
0xD0D0D0, // 218
0xD8D8D8, // 219
0xE0E0E0, // 220
0xE8E8E8, // 221
0xF0F0F0, // 222
0xF8F8F8, // 223
0, // 224
0, // 225
0, // 226
0, // 227
0, // 228
0, // 229
0, // 230
0, // 231
0, // 232
0, // 233
0, // 234
0, // 235
0, // 236
0, // 237
0, // 238
0, // 239
0, // 240
0, // 241
0, // 242
0, // 243
0, // 244
0, // 245
0, // 246
0, // 247
0, // 248
0, // 249
0, // 250
0, // 251
0, // 252
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -