亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? oandxcontroller.cpp

?? Symbian OS C++ for Mobile Phones v3 Example Code
?? CPP
字號:
// oandxcontroller.cpp
//
// Copyright (c) 2006 Symbian Ltd.  All rights reserved.
//

#include <eikenv.h>
#include <eiklabel.h>
#include <s32mem.h>

#include "oandxcontroller.h"
#include "oandxengine.h"
#include "oandxappui.h"
#include "oandxdefs.h"

COandXController* COandXController::NewL()
/**
	Factory function allocates new instance of COandXController.
	
	@return					New, initialized instance of COandXController.
							This object is owned by the caller.
 */
	{
	COandXController* self=new(ELeave) COandXController;
	CleanupStack::PushL(self);
	self->ConstructL();
	CleanupStack::Pop();
	return self;
	}

void COandXController::ConstructL()
/**
	Run secondary initialization, clearing the board and
	initializing the controller's state.
 */
	{
	Engine().Reset();
	iState = ENewGame;
	iCrossTurn = EFalse;
	iLastGameResult = ETileDraw;
	}

COandXController::~COandXController()
/**
	Destructor is defined here to ensure only one
	instance is generated.
 */
	{
	// empty.
	}
	
void COandXController::SetStateL(TState aState)
	{
	iState = aState;
	OandXAppUi()->UpdateCommandsL(IsNewGame(), IsCrossTurn());
	}

// persistence

void COandXController::ExternalizeL(RWriteStream& aStream) const
/**
	Persist the controller's state to the supplied stream.
	Specifically, writes out the state, whose turn it is,
	and which symbol the local player is using.
	
	@param	aStream			Stream to which the controller's state will be
							written.
	@see InternalizeL
 */
	{
	aStream.WriteUint8L(iState);
	aStream.WriteInt8L(iCrossTurn);
	aStream.WriteInt8L(iLastGameResult);
	aStream.WriteUint8L(iNumGames);
	aStream.WriteUint8L(iNumNoughtWins);
	aStream.WriteUint8L(iNumCrossWins);
	for (TInt i=0; i<KNumHistoryRecords; i++)
		{
		aStream.WriteUint8L(iGameRecords[i]);
		}
	}

void COandXController::InternalizeL(RReadStream& aStream)
/**
	Standard stream store internalization function, restores
	state, whose turn, and which symbol the local player is using.
	
	@param	aStream			Stream which contains externalized state.
	@see ExternalizeL
 */
	{
	TState newState = static_cast<TState>(aStream.ReadUint8L());
	iCrossTurn = static_cast<TBool>(aStream.ReadInt8L());
	iLastGameResult = static_cast<TTileState>(aStream.ReadUint8L());
	iNumGames = aStream.ReadUint8L();
	iNumNoughtWins = aStream.ReadUint8L();
	iNumCrossWins = aStream.ReadUint8L();
	for (TInt i=0; i<KNumHistoryRecords; i++)
		{
		iGameRecords[i] = static_cast<TTileState>(aStream.ReadUint8L());
		}
	SetStateL(newState);
	}

void COandXController::ResetL()
/**
	Cancel the current game, clearing the board and setting
	noughts as the current player.
	Records the result of the last game and increments the
	game counter.
	Can not be used to initialize the controller, since
	SetStateL() accesses the view, which does not exist
	when the controller is constructed.
 */
	{
	Engine().Reset();
	if (IsCrossTurn())
		{
		SwitchTurn();
		}
	switch (iLastGameResult)
		{
	case ETileNought:
		iNumNoughtWins += 1;
		break;
	case ETileCross:
		iNumCrossWins += 1;
		break;
	default:
		break;
		}
	for (TInt i=KNumHistoryRecords-1; i>0; i--)
		{
		iGameRecords[i] = iGameRecords[i-1];
		}
	iGameRecords[0]=iLastGameResult;
	iLastGameResult = ETileDraw;
	iNumGames += 1;
	SetStateL(ENewGame);
	}

void COandXController::ResetStats()
	{
	iNumGames=0;
	iNumNoughtWins=0;
	iNumCrossWins=0;
	for (TInt i=0; i<KNumHistoryRecords;i++)
		{
		iGameRecords[i]=ETileBlank;
		}
	}

TBool COandXController::HitSquareL(TInt aIndex)
	{
	// For Comms, replace this with another function, called
	// when a tile is selected. It should refuse to accept
	// the hit if it is not my move.
	// Add another function, called when the opponent makes a
	// move, and both can call this funtion (renamed from
	// HitSquareL) The logic will need to be modified to handle 
	// the additional comms states and to report which of the
	// two players wins the game (or when the game is drawn).
	if (iState == EFinished)
		{
		return EFalse;
		}
	if (iState == ENewGame)
		{
		SetStateL(EPlaying);
		}
	if (Engine().TryMakeMove(aIndex,IsCrossTurn()))
		{
		SwitchTurn();
		TTileState winner = Engine().GameWonBy();
		if (winner)
			{
			iLastGameResult = winner;
			SetStateL(EFinished);
			OandXAppUi()->ReportWinnerL(winner);
			}
		return ETrue;
		}
	return EFalse;
	}

void COandXController::SwitchTurn()
	{
	iCrossTurn = !iCrossTurn;
	OandXAppUi()->ReportWhoseTurn();
	}

TTileState COandXController::GameRecord(TInt aIndex)
	{
	return iGameRecords[aIndex];
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久久免费看 | 91精品国产综合久久久蜜臀图片| 成人午夜视频免费看| 亚洲成人av在线电影| 1000部国产精品成人观看| 久久久美女毛片| 精品电影一区二区| 精品国精品自拍自在线| 精品久久久久av影院| 日韩一区二区在线观看视频| 91精品在线麻豆| 日韩一区二区在线观看| 国产精品久久免费看| 国产精品久久久久久久久果冻传媒 | 北条麻妃国产九九精品视频| 丰满白嫩尤物一区二区| 成人动漫视频在线| 白白色 亚洲乱淫| 91久久一区二区| 欧美日本在线播放| 日韩精品一区二区三区中文精品| 精品日韩av一区二区| 欧美极品aⅴ影院| 亚洲欧美电影一区二区| 日韩精品亚洲一区| 激情都市一区二区| 成人精品视频网站| 欧美中文一区二区三区| 欧美一区二区播放| 国产欧美日韩一区二区三区在线观看| 国产精品久久久久毛片软件| 亚洲激情欧美激情| 精品一区二区三区影院在线午夜| 国产成人精品影院| 在线观看av一区| 精品精品国产高清a毛片牛牛| 亚洲精品国产一区二区精华液 | 久久久久久久久久久99999| 国产清纯美女被跳蛋高潮一区二区久久w| 国产欧美精品一区aⅴ影院| 亚洲精品国产a久久久久久| 美腿丝袜亚洲三区| 成人av影视在线观看| 欧美精品一二三四| 中文一区二区在线观看| 亚洲mv在线观看| 国产精品1区二区.| 51久久夜色精品国产麻豆| 国产精品乱码一区二区三区软件| 午夜电影一区二区三区| 成人久久18免费网站麻豆 | 欧美mv日韩mv国产网站app| 国产精品久久久久久妇女6080 | 日韩美女精品在线| 久久99日本精品| 欧美网站一区二区| 国产精品人妖ts系列视频| 毛片不卡一区二区| 欧美性感一区二区三区| 1区2区3区国产精品| 国产东北露脸精品视频| 制服丝袜在线91| 一区二区三区成人| www.一区二区| 久久久久综合网| 蜜臀久久99精品久久久久久9| 色天使色偷偷av一区二区| 欧美国产日韩亚洲一区| 黄一区二区三区| 91精品国产全国免费观看| 亚洲一区二区在线免费看| 成人三级在线视频| 国产日韩av一区| 欧美三级韩国三级日本三斤| 中文字幕一区二区视频| 国产suv精品一区二区三区| 久久免费午夜影院| 国产一区二区三区电影在线观看| 91精品国产黑色紧身裤美女| 亚洲成人久久影院| 欧美精品在线视频| 日韩精品免费专区| 欧美一区二区久久久| 免费日韩伦理电影| 日韩欧美在线网站| 久久精品免费看| 精品国产91九色蝌蚪| 狠狠v欧美v日韩v亚洲ⅴ| 欧美不卡视频一区| 国产乱人伦精品一区二区在线观看| 日韩三级.com| 国产在线不卡一区| 国产精品久久久久久久久免费丝袜| 成人av网站在线观看免费| 亚洲免费在线视频一区 二区| 色天天综合色天天久久| 午夜精品久久久久久久久| 日韩欧美国产不卡| 国产乱码字幕精品高清av| 亚洲欧美影音先锋| 欧美午夜在线观看| 美国精品在线观看| 国产精品国产三级国产有无不卡 | 日本特黄久久久高潮| 精品免费一区二区三区| 国产91综合一区在线观看| 亚洲色图欧美在线| 欧美一区午夜精品| 国产a精品视频| 亚洲成人777| 久久亚洲一区二区三区四区| 国产成人av自拍| 亚洲成年人影院| 国产视频一区在线播放| 色综合久久久久久久久| 日本欧美一区二区| 《视频一区视频二区| 在线电影国产精品| 成人国产在线观看| 日本在线不卡视频| 亚洲情趣在线观看| 精品国产百合女同互慰| 色呦呦网站一区| 国产一区激情在线| 亚洲成人午夜电影| 国产精品久久精品日日| 日韩精品资源二区在线| 色av一区二区| 国产电影精品久久禁18| 日韩黄色小视频| 一区二区三区自拍| 中文字幕免费不卡在线| 欧美一区二区日韩| 欧美性生活一区| 成人app软件下载大全免费| 日本成人在线看| 亚洲国产中文字幕在线视频综合 | 欧美亚洲动漫精品| 成人黄色777网| 国产一区二区精品久久91| 日韩电影在线免费看| 一区二区三区毛片| 亚洲欧美电影院| 中文字幕在线不卡一区二区三区| 精品成人在线观看| 日韩免费高清av| 欧美老年两性高潮| 欧美在线观看禁18| 在线国产电影不卡| 色噜噜狠狠色综合欧洲selulu| 国产精品996| 国产成人av电影在线| 国内精品国产三级国产a久久| 蜜臀av一级做a爰片久久| 偷拍一区二区三区四区| 亚洲成人黄色影院| 舔着乳尖日韩一区| 日本最新不卡在线| 另类中文字幕网| 韩国v欧美v亚洲v日本v| 国产在线精品一区二区| 欧美日韩mp4| 欧美日韩一本到| 欧美人妇做爰xxxⅹ性高电影 | 亚洲精品一区二区在线观看| 91精品婷婷国产综合久久竹菊| 在线免费观看日本一区| 欧美日韩在线播放三区四区| 91丨九色丨蝌蚪富婆spa| 91麻豆成人久久精品二区三区| av电影天堂一区二区在线观看| a级精品国产片在线观看| www.激情成人| 欧美无乱码久久久免费午夜一区 | 麻豆精品精品国产自在97香蕉| 麻豆中文一区二区| 国产精品一区二区三区乱码| 成人午夜私人影院| 欧美性生交片4| 欧美岛国在线观看| 国产精品久久久久天堂| 亚洲国产精品影院| 麻豆精品久久久| 成人午夜精品一区二区三区| 色综合网站在线| 日韩欧美一级二级| 国产精品入口麻豆原神| 亚洲.国产.中文慕字在线| 精品在线播放午夜| 波多野结衣中文字幕一区二区三区| 91免费在线看| 日韩一级免费观看| 亚洲人成在线播放网站岛国| 日韩激情av在线| 99精品久久久久久| 在线综合亚洲欧美在线视频| 国产视频一区不卡| 一区二区三区四区高清精品免费观看| 日本欧美加勒比视频| 99久久久免费精品国产一区二区|