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

📄 oandxcontroller.h

📁 Symbian OS C++ for Mobile Phones v3 Example Code
💻 H
字号:
// OandxController.h
//
// Copyright (c) 2006 Symbian Ltd.  All rights reserved.
//

#ifndef OANDXCONTROLLER_H
#define OANDXCONTROLLER_H

#include <coecntrl.h>
#include <coemain.h>

#include <eikappui.h>
#include <eikapp.h>
#include <eikdoc.h>
#include <eikenv.h>
#include <eikon.hrh>
#include "oandxdefs.h"

class COandXEngine;

#define MaxInfoNoteTextLen 40

class COandXController : public CBase
/**
	This controller uses instructions from the user to update the
	engine (board.) 
 */
	{
public:
	static COandXController* NewL();
	virtual ~COandXController();

	// game control
	void Reset();
	TBool HitSquareL(TInt aIndex);
	void SwitchTurn();
	void ResetStats();

	// state
	enum TState
		{
		ENewGame, EPlaying, EFinished
		};

	inline TBool IsNewGame() const;
	inline TBool IsCrossTurn() const;
	inline TUint GamesPlayed() const;
	inline TUint WonByO() const;
	inline TUint WonByX() const;

	TTileState GameRecord(TInt aIndex);

	// stream persistence
	void ExternalizeL(RWriteStream& aStream) const;
	void InternalizeL(RReadStream& aStream);
	
private:
	void ConstructL();
	
private:
	// private persistent state
	TState iState;
	TBool iCrossTurn;
	
	TTileState iLastGameResult;
	TUint iNumGames;
	TUint iNumNoughtWins;
	TUint iNumCrossWins;
	TFixedArray<TTileState, KNumHistoryRecords> iGameRecords;
	};

// state inlines
inline TBool COandXController::IsNewGame() const { return iState==ENewGame; }
inline TBool COandXController::IsCrossTurn() const { return (iCrossTurn); }

inline TUint COandXController::GamesPlayed() const { return iNumGames; }
inline TUint COandXController::WonByO() const { return iNumNoughtWins; }
inline TUint COandXController::WonByX() const { return iNumCrossWins; }
	
#endif // OANDXCONTROLLER_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -