point24.h
来自「symbian平台下的24点游戏编程 很适合初学者的例子」· C头文件 代码 · 共 62 行
H
62 行
#ifndef POINT24_H
#define POINT24_H
#include <e32base.h>
#include <eikedwin.h>
enum TPoint24Operator
{
EPoint24OperatorNone,
EPoint24OperatorAdd,
EPoint24OperatorSub,
EPoint24OperatorMulti,
EPoint24OperatorDiv
};
enum TPanicCode
{
EPanicCode_ValueRange = 1,
EPanicCode_NullPointer
};
class TValue
{
public: // Data
TInt iValue;
TPoint24Operator iOperator;
TValue* iLeftChild;
TValue* iRightChild;
public: // Constructor
TValue()
{
iValue = 0;
iOperator = EPoint24OperatorNone;
iLeftChild= NULL;
iRightChild = NULL;
};
};
class CPoint24: public CBase
{
public:
static CPoint24* NewL();
~CPoint24();
void CalculateL(TInt aValue1, TInt aValue2, TInt aValue3, TInt aValue4, CEikEdwin* aEditResult);
protected:
CPoint24();
private: // function
TValue* Calculate(const TValue* aValue1, const TValue* aValue2, TPoint24Operator aOperator);
void CalculateL(TValue* aValues[], TInt aValueCount);
void AddResultL();
TBool GetResult(TValue* aValue, TPoint24Operator aUpperOperator, TDes& aBuf, TBool aIsLeftChild = ETrue);
TBool IsRightOrder(TValue* aValue, TPoint24Operator aOperator);
TBool IsNeedParenthesis(TValue* aValue, TPoint24Operator aUpperOperator, TBool aIsLeftChild);
private: // Data
TValue iOriginalValue[4];
TValue iResultValue[3];
CEikEdwin* iEditResult;
TInt iResultOffset;
TInt iResultCount;
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?