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

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

?? controller.cpp

?? 《SymbianOSC手機應用開發》源碼
?? CPP
字號:
// controller.cpp
//
// Copyright (c) 2000 Symbian Ltd.  All rights reserved.
//

#include "controller.h"
#include "view.h"
#include "appui.h"

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

enum TPanic {
	EInitiateNotBlank,
	EListenNotBlank,
	ERestartNotFinished,
	ESetGdpNotBlank,
	ESetPrefBadState,
	EHitFleetNotMyTurn,
	EAbandonNotMyTurn,
	EResendBadState,
	EBindBadState,
	ESendStartNoPrefs,
	EHandleRequestBadOpcode,
	EHandleResponseBadOpcode,
	EHandleRestartReqNotFinished,
	EHandleStartReqNotAccepting,
	EHandleAbandondReqNotOppTurn,
	EHandleHitReqNotOppTurn,
	EHandleStartRespNotStarting,
	EHandleHitRespNotOppTurn,
	EHitFleetAlreadyKnown,
	};

static void Panic(TInt aPanic)
	{
	_LIT(KPanicCategory,"BSHIPS-CTRL");
	User::Panic(KPanicCategory, aPanic);
	}

/*
	class CGameController
*/

CGameController* CGameController::NewL()
	{
	CGameController* self=new(ELeave) CGameController;
	CleanupStack::PushL(self);
	self->ConstructL();
	CleanupStack::Pop();
	return self;
	}

void CGameController::ConstructL()
	{
	iEnv=CEikonEnv::Static();
	// construct engine and RGCP
	iEngine=new(ELeave) CGameEngine;
	iZoomFactor=1000;
	}

CGameController::~CGameController()
	{
	delete iEngine;
	}

// persistence

void CGameController::ExternalizeL(RWriteStream& aStream) const
	{
	aStream.WriteUint8L(iState);
	aStream.WriteInt32L(iZoomFactor);
	}

void CGameController::InternalizeL(RReadStream& aStream)
	{
	iState=(TState) aStream.ReadUint8L();
	iZoomFactor=aStream.ReadInt32L();
	}

TStreamId CGameController::StoreL(CStreamStore& aStore) const
	{
	RStoreWriteStream stream;
	TStreamId id = stream.CreateLC(aStore);
	iEngine->ExternalizeL(stream);
	ExternalizeL(stream);
	stream.CommitL();
	CleanupStack::PopAndDestroy(); // stream
	return id;
	}

void CGameController::RestoreL(const CStreamStore& aStore, TStreamId aStreamId)
	{
	RStoreReadStream stream;
	stream.OpenLC(aStore,aStreamId);
	iEngine->InternalizeL(stream);
	InternalizeL(stream);
	CleanupStack::PopAndDestroy(); // stream
	}

// game control

void CGameController::Reset() // set to blank, loopback, my-address from document
	{
	iEngine->Reset();
	iState = EGameOn;
	iEnv->InfoMsg(R_GAME_RESET);
	}

CFleetView& CGameController::ActiveView() const
	{
	CGameAppUi* appUI = static_cast<CGameAppUi*>(iEnv->EikAppUi());
	return appUI->ActiveView();
	}

// fleet view commands

void CGameController::ViewCmdHitFleet(TInt aX, TInt aY)
	{
	__ASSERT_ALWAYS(!(iEngine->OppFleet().IsKnown(aX, aY)), Panic(EHitFleetAlreadyKnown));
	// hit fleet
	iEngine->OppFleet().SetShipType(aX, aY, iEngine->MyFleet().ShipType(aX, aY));
	TFleet::THitResult result = iEngine->OppFleet().SetHit(aX,aY);
	iEngine->MyFleet().SetHit(aX,aY);
	// update view and play sounds
	switch (result)
		{
		case TFleet::EMiss:
			ActiveView().MissSound();
			break;
		case TFleet::EShip:
			ActiveView().ExplSound();
			break;
		case TFleet::ESunk:
			ActiveView().SunkSound();
			break;
		default:
			break;		
		};
	ActiveView().DrawTilesNow();
	
	// if game is won, transition to finished
	if (iEngine->IsWon())
		{
		iState = EFinished;
		iEnv->InfoMsg(R_GAME_CONGRATULATIONS);
		}
	}

// zooming

void CGameController::ZoomInL()
	{
	TInt zoom=iZoomFactor;
	zoom=
		zoom < 250 ? 250 :
		zoom < 350 ?  350 :
		zoom < 500 ?  500 :
		zoom < 350 ?  350 :
		zoom < 500 ?  500 :
		zoom < 600 ?  600 :
		zoom < 750 ?  750 :
		zoom < 850 ?  850 :
		zoom < 1000 ? 1000 : 
		250;
	CGameAppUi* appUi = static_cast<CGameAppUi*>(iEnv->EikAppUi());
	appUi->FleetViewData().SetZoomL(zoom);
	ActiveView().DrawNow();
	iZoomFactor=zoom;
	}

void CGameController::ZoomOutL()
	{
	TInt zoom=iZoomFactor;
	zoom=
		zoom > 1000 ? 1000 : 
		zoom > 850 ?  850 :
		zoom > 750 ?  750 :
		zoom > 600 ?  600 :
		zoom > 500 ?  500 :
		zoom > 350 ?  350 :
		zoom > 250 ? 250 :
		1000;
	CGameAppUi* appUi = static_cast<CGameAppUi*>(iEnv->EikAppUi());
	appUi->FleetViewData().SetZoomL(zoom);
	ActiveView().DrawNow();
	iZoomFactor=zoom;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
伊人性伊人情综合网| 免费看日韩a级影片| 精品噜噜噜噜久久久久久久久试看 | 国产伦精品一区二区三区视频青涩 | 日韩一区二区免费在线观看| 精品1区2区3区| 欧美色欧美亚洲另类二区| 色综合天天综合| 欧美蜜桃一区二区三区| ㊣最新国产の精品bt伙计久久| 久久综合99re88久久爱| 久久久久88色偷偷免费| 久久先锋资源网| 久久久91精品国产一区二区精品| 久久精品一级爱片| 国产精品久久久久久久久搜平片 | 欧美色图第一页| 欧美日韩国产在线播放网站| 日韩一区二区在线看| 精品国产一二三| 国产精品色哟哟| 亚洲精品免费在线播放| 日韩成人免费电影| 国产精品亚洲人在线观看| 成人av网站在线| 欧美日韩一级二级三级| 欧美不卡视频一区| 国产精品灌醉下药二区| 视频一区欧美日韩| 国产高清在线精品| 在线观看亚洲a| 久久久亚洲国产美女国产盗摄 | 欧美精品在线观看播放| 国产午夜精品一区二区三区嫩草| 日韩伦理电影网| 成人av在线网站| 欧美在线制服丝袜| 精品国产精品网麻豆系列| 国产日本亚洲高清| 天堂久久一区二区三区| 国产盗摄视频一区二区三区| 欧美日韩一二区| 中文欧美字幕免费| 免费在线观看成人| 97se亚洲国产综合自在线| 日韩精品一区二区三区视频| 亚洲欧美日韩综合aⅴ视频| 激情偷乱视频一区二区三区| 欧美亚洲综合久久| 中文字幕国产一区| 蜜臀久久99精品久久久久宅男| 99久久婷婷国产综合精品| 日韩美女一区二区三区| 五月婷婷另类国产| 成人高清av在线| 久久婷婷色综合| 日本不卡高清视频| 欧洲中文字幕精品| 亚洲欧美韩国综合色| 国产成人av自拍| 精品免费一区二区三区| 天堂成人国产精品一区| 色综合久久中文综合久久97| 欧美国产亚洲另类动漫| 国产精品资源网站| 日韩精品一区二区三区中文不卡| 五月婷婷激情综合| 在线观看日产精品| 一区二区三区高清| 欧美亚洲一区二区在线| 洋洋成人永久网站入口| 在线观看视频一区二区| 亚洲成人7777| 69堂亚洲精品首页| 日本欧洲一区二区| 日韩欧美在线1卡| 另类小说视频一区二区| 欧美成人猛片aaaaaaa| 久久精品国产一区二区三区免费看| 欧美理论片在线| 亚洲国产综合人成综合网站| 在线播放一区二区三区| 人人狠狠综合久久亚洲| 日韩精品一区二区三区swag| 久久99精品一区二区三区三区| 久久午夜国产精品| 成人av在线资源网| 亚洲一区二区三区激情| 欧美裸体一区二区三区| 蜜桃视频在线观看一区| 久久精品日产第一区二区三区高清版 | 欧美久久久久久久久| 蜜臀91精品一区二区三区| 久久这里只有精品首页| 国产精品原创巨作av| 国产精品久久福利| 欧美性大战xxxxx久久久| 99久久国产综合精品色伊| 亚洲男女毛片无遮挡| 欧美偷拍一区二区| 久久精品国产77777蜜臀| 久久免费视频一区| 91丨九色丨蝌蚪丨老版| 亚洲高清视频的网址| 欧美va亚洲va香蕉在线| 成人黄色网址在线观看| 午夜伊人狠狠久久| 亚洲国产精品高清| 欧美日韩成人综合天天影院| 国产精品1区2区3区在线观看| 亚洲欧洲综合另类| 亚洲精品在线观看视频| 色屁屁一区二区| 久久se精品一区二区| 亚洲欧美偷拍三级| 久久先锋资源网| 在线播放中文字幕一区| 91美女蜜桃在线| 精品亚洲aⅴ乱码一区二区三区| 亚洲欧美视频在线观看视频| 精品国产sm最大网站| 欧美日韩中文另类| 99riav久久精品riav| 九色porny丨国产精品| 亚洲电影视频在线| 国产精品剧情在线亚洲| 日韩精品自拍偷拍| 欧美日韩国产综合久久| 99精品在线免费| 国产乱子轮精品视频| 免费人成黄页网站在线一区二区| 亚洲视频网在线直播| 国产亚洲婷婷免费| 精品精品欲导航| 9191国产精品| 欧美精品亚洲一区二区在线播放| 97超碰欧美中文字幕| 成人黄色国产精品网站大全在线免费观看 | 久久精品欧美一区二区三区麻豆| 欧美精品在线视频| 日本高清不卡视频| 成人美女视频在线看| 国产一区二区视频在线播放| 免费在线观看视频一区| 日本人妖一区二区| 首页国产丝袜综合| 日日夜夜一区二区| 午夜a成v人精品| 青青草原综合久久大伊人精品优势| 一区2区3区在线看| 亚洲一区中文日韩| 亚洲va在线va天堂| 日韩高清国产一区在线| 日日夜夜精品免费视频| 日韩国产精品久久久| 日韩精品成人一区二区三区 | 欧美一区二区黄| 欧美女孩性生活视频| 欧美精品在线观看播放| 69久久99精品久久久久婷婷| 日韩欧美国产综合在线一区二区三区| 欧美挠脚心视频网站| 欧美成人精品高清在线播放| 欧美r级在线观看| 精品国产sm最大网站| 国产女同互慰高潮91漫画| 国产精品女主播在线观看| 亚洲品质自拍视频网站| 亚洲成人午夜影院| 久久精品久久久精品美女| 国产精一区二区三区| 国产成都精品91一区二区三| 99re成人在线| 337p亚洲精品色噜噜噜| 久久久久国产精品人| 亚洲激情五月婷婷| 青青草原综合久久大伊人精品| 久久精品国产亚洲5555| eeuss鲁片一区二区三区在线观看| 在线观看国产精品网站| 日韩精品资源二区在线| 成人欧美一区二区三区白人| 亚洲愉拍自拍另类高清精品| 狠狠网亚洲精品| 91在线码无精品| 91精品国产丝袜白色高跟鞋| 中文字幕av一区二区三区| 天堂成人国产精品一区| 国产成人在线电影| 欧美日韩一区二区欧美激情| 国产午夜精品一区二区三区嫩草| 亚洲靠逼com| 国产一本一道久久香蕉| 欧美唯美清纯偷拍| 成人免费视频免费观看| 精品视频123区在线观看| 日韩欧美一二三四区| 国产精品嫩草99a| 青青草国产成人av片免费 | 欧美成人午夜电影|