1 | /*************************************************************************** |
2 | * KBlocks, a falling blocks game for KDE * |
3 | * Copyright (C) 2010 Zhongjie Cai <squall.leonhart.cai@gmail.com> * |
4 | * * |
5 | * This program is free software; you can redistribute it and/or modify * |
6 | * it under the terms of the GNU General Public License as published by * |
7 | * the Free Software Foundation; either version 2 of the License, or * |
8 | * (at your option) any later version. * |
9 | ***************************************************************************/ |
10 | |
11 | #ifndef KBLOCKSDEFINE_H |
12 | #define KBLOCKSDEFINE_H |
13 | |
14 | #define PREPARE_AREA_WIDTH 5 |
15 | |
16 | #define FADE_ANIM_TIME_LINE 250 |
17 | #define DROP_ANIM_TIME_LINE 250 |
18 | |
19 | typedef unsigned long timeLong; |
20 | |
21 | enum KBlocks_Game_Action |
22 | { |
23 | GameAction_None = 0, |
24 | GameAction_Punish_Line, |
25 | GameAction_Remove_Line, |
26 | GameAction_Freeze_Piece_Color, |
27 | GameAction_Freeze_Piece_X, |
28 | GameAction_Freeze_Piece_Y, |
29 | GameAction_New_Piece_X, |
30 | GameAction_New_Piece_Y, |
31 | GameAction_Max_Count |
32 | }; |
33 | |
34 | enum KBlocks_Game_Result |
35 | { |
36 | GameResult_None = 0, |
37 | GameResult_Game_Over, |
38 | GameResult_One_Step, |
39 | GameResult_Next_Piece, |
40 | GameResult_Remove_Line_1, |
41 | GameResult_Remove_Line_2, |
42 | GameResult_Remove_Line_3, |
43 | GameResult_Remove_Line_4, |
44 | GameResult_Max_Count |
45 | }; |
46 | |
47 | enum KBlocks_Game_State |
48 | { |
49 | GameState_Stop = 0, |
50 | GameState_Running, |
51 | GameState_Pause, |
52 | GameState_Max_Count |
53 | }; |
54 | |
55 | enum KBlocks_Record_DataType |
56 | { |
57 | RecordDataType_GameCount = 0, |
58 | RecordDataType_GameSeed, |
59 | |
60 | RecordDataType_Skipped, |
61 | RecordDataType_MovePieceLeft, |
62 | RecordDataType_MovePieceRight, |
63 | RecordDataType_MovePieceUp, |
64 | RecordDataType_MovePieceDown, |
65 | RecordDataType_RotatePieceCW, |
66 | RecordDataType_RotatePieceCCW, |
67 | RecordDataType_GameOneStep, |
68 | RecordDataType_PunishLineCount, |
69 | RecordDataType_PunishLineSeed, |
70 | |
71 | RecordDataType_Max_Count |
72 | }; |
73 | |
74 | extern const char * KBlocksRecordText[RecordDataType_Max_Count]; |
75 | |
76 | #endif |
77 | |
78 | |