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
19typedef unsigned long timeLong;
20
21enum 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
34enum 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
47enum KBlocks_Game_State
48{
49 GameState_Stop = 0,
50 GameState_Running,
51 GameState_Pause,
52 GameState_Max_Count
53};
54
55enum 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
74extern const char * KBlocksRecordText[RecordDataType_Max_Count];
75
76#endif
77
78