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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? engine.h

?? 《SymbianOSC手機應(yīng)用開發(fā)》源碼
?? H
字號:
// engine.h
//
// Copyright (c) 2000 Symbian Ltd.  All rights reserved.

#ifndef __ENGINE_H
#define __ENGINE_H

#include <s32std.h>

class TShip
	{
public:
	enum TShipType
		{
		EUnknown, ESea,
		EBattleship, ECruiser, EDestroyer, EFrigate
		};
public:
	TShip(); // default constructor for no initialization
	TShip(TShipType aType); // initialize type, length and remaining
	// persistence
	void ExternalizeL(RWriteStream& aStream) const;
	void InternalizeL(RReadStream& aStream);
public:
	// initialized members
	TShipType iType; // type
	TInt iLength; // length - determined from type
	TInt iRemaining; // remaining unhit squares
	// calculated members
	TInt iStartX, iStartY; // start position
	TInt iDx, iDy; // orientation vector
	};

class TFleet
	{
public:
	enum TSquareState // same as TShip::TShipType
		{
		EUnknown, ESea,
		EBattleship, ECruiser, EDestroyer, EFrigate,
		EHit=0x80
		};
	// Possible results of a hit
	enum THitResult
		{
		EVoid,	// error
		EMiss,	// missed
		EShip,	// hit ship
		ESunk	// sunk whole ship
		};
public:
	// setup
	TFleet();
	void SetupBlank();
	void SetupRandom();
	void SetMyFleet();
	void SetOppFleet();
	// interrogators
	TBool IsMyFleet() const;
	TBool IsOppFleet() const;
	TBool IsShip(TInt aX, TInt aY) const;
	TShip::TShipType ShipType(TInt aX, TInt aY) const;
	TBool IsSea(TInt aX, TInt aY) const;
	TBool IsKnown(TInt aX, TInt aY) const;
	TBool IsHit(TInt aX, TInt aY) const;
	// complicated interrogators
	TShip& ShipAt(TInt aX, TInt aY) const; // use for my fleet only
	TShip* PossibleShipAt(TInt aX, TInt aY) const; // use even if fleet unknown
	TInt RemainingSquares() const; // fleet squares which haven't been destroyed
	TInt RemainingShips() const; // ships which haven't been totally destroyed
	TInt SquaresHit() const; // squares hit (sea or otherwise)
	// change
	void SetSea(TInt aX, TInt aY); // say a square is sea
	void SetShipType(TInt aX, TInt aY, TShip::TShipType aShipType); // set ship type
	THitResult SetHit(TInt aX, TInt aY); // hit a square - must be known when it's hit
	THitResult TestWholeShip(TInt aX, TInt aY); // test whether hit has sunk a ship
	void SetSeaAroundHit(TInt aX, TInt aY); // set sea around a hit square
	// persistence
	void ExternalizeL(RWriteStream& aStream) const;
	void InternalizeL(RReadStream& aStream);
private:	
	// setup
	TBool TryPlaceShip(TInt aShipIndex, TShip::TShipType aShipType);
	void PlaceShip(TInt aShipIndex, TShip aShip);
	// square accessors
	const TSquareState& Square(TInt aX, TInt aY) const;
	TSquareState& Square(TInt aX, TInt aY);
private:
	TSquareState iSquares[64];
	TBool iMyFleetFlag; // whether my fleet (which I know all about) or opponent's (which I don't)
	TShip iShips[10]; // all the ships we know about
	TInt iKnownShips; // number of ships known to be in fleet
	TInt iRemainingShips; // how many ships haven't been destroyed
	TInt iRemainingSquares; // how many squares haven't been destroyed
	TInt iSquaresHit; // how many squares (including sea) have been hit
	TInt64 iRandomSeed; // seed for random-number generation during setup
	};

class CGameEngine : public CBase
	{
public:
	// setup
	CGameEngine();
	// reset
	void Reset();
	// getters for current player's fleet
	inline TFleet& MyFleet();
	inline TFleet& OppFleet();
	inline const TFleet& MyFleet() const;
	inline const TFleet& OppFleet() const;
	// interrogate
	TBool IsWon() const;
	TBool IsLost() const;
	TBool IsStarted() const;
	TBool IsMyTurn() const;
	// set up
	void SetFirstPlayer();
	void SetSecondPlayer();
	// persistence
	void ExternalizeL(RWriteStream& aStream) const;
	void InternalizeL(RReadStream& aStream);
	TStreamId StoreL(CStreamStore& aStore) const;
	void RestoreL(const CStreamStore& aStore, TStreamId aStreamId);
public:
	TFleet iP1MyFleet;
	TFleet iP1OppFleet;
	TFleet iP2MyFleet;
	TFleet iP2OppFleet;
	TBool iFirstPlayer;
	};

inline TFleet& CGameEngine::MyFleet()
	{return iFirstPlayer ? iP1MyFleet : iP2MyFleet;}
inline TFleet& CGameEngine::OppFleet()
	{return iFirstPlayer ? iP1OppFleet : iP2OppFleet;}
inline const TFleet& CGameEngine::MyFleet() const 
	{return iFirstPlayer ? iP1MyFleet : iP2MyFleet;}
inline const TFleet& CGameEngine::OppFleet() const
	{return iFirstPlayer ? iP1OppFleet : iP2OppFleet;}

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产免费| 国产乱人伦偷精品视频免下载| 欧美成人性福生活免费看| 精品伦理精品一区| 亚洲国产精华液网站w| 日韩久久一区二区| 亚洲成人在线免费| 日本中文字幕一区二区视频 | 视频一区欧美日韩| 国产在线麻豆精品观看| 成人av在线电影| 欧美精品丝袜中出| 精品国产电影一区二区| 国产精品国产三级国产普通话三级 | 一本到不卡免费一区二区| 欧美视频在线观看一区| 日韩欧美www| 亚洲女同一区二区| 久久成人精品无人区| 激情久久久久久久久久久久久久久久| 国产原创一区二区三区| 成人激情免费电影网址| 欧美在线观看一二区| 久久夜色精品一区| 日韩电影在线看| 91色|porny| 中文在线资源观看网站视频免费不卡| 亚洲大片精品永久免费| 国产98色在线|日韩| 欧美在线视频日韩| 国产日韩av一区| 午夜电影一区二区| 91国在线观看| 国产精品乱子久久久久| 日韩国产欧美在线视频| 欧美午夜在线一二页| 久久久99精品久久| 亚洲精品一二三区| 成人国产精品免费观看视频| 欧美亚洲禁片免费| 国产精品国产三级国产三级人妇| 国产精品亚洲第一| 国产亚洲综合在线| 岛国精品在线播放| 国产夜色精品一区二区av| 狠狠色丁香婷婷综合久久片| 欧美国产日产图区| av电影一区二区| 亚洲高清免费视频| 精品国偷自产国产一区| 国产成人综合在线观看| 亚洲情趣在线观看| 色国产精品一区在线观看| 日韩中文字幕91| 久久久久九九视频| 99国产精品国产精品毛片| 亚洲国产成人91porn| 日韩欧美激情一区| 在线精品视频一区二区三四 | 日韩精品一二三四| 欧美成人精精品一区二区频| 国内精品久久久久影院薰衣草| 国产精品毛片a∨一区二区三区| 欧美中文字幕一区二区三区亚洲| 久久精品国产精品亚洲综合| 樱桃视频在线观看一区| 欧美成人艳星乳罩| 欧美一卡二卡在线| 色av一区二区| 国产在线日韩欧美| 亚洲视频在线观看一区| 精品久久久久av影院| 成人av网站在线观看| 日本美女视频一区二区| 亚洲精品网站在线观看| 欧美精品一区二区久久婷婷| 欧美三区免费完整视频在线观看| 国产毛片精品一区| 国产一区二区三区在线观看免费视频 | 成人app软件下载大全免费| 国产一区二区精品久久99| 性做久久久久久久久| 中文字幕亚洲一区二区va在线| 精品国产免费一区二区三区四区 | 日韩美一区二区三区| 欧美一区二区三区色| 91丨porny丨国产入口| 波多野结衣亚洲一区| 国产美女在线观看一区| 美女精品一区二区| 天堂午夜影视日韩欧美一区二区| 综合色天天鬼久久鬼色| 中文字幕一区二| 亚洲主播在线播放| 一区二区欧美在线观看| 亚洲一区视频在线观看视频| 亚洲韩国一区二区三区| 久久精品国产99久久6| 国产一区二区伦理片| 99久久亚洲一区二区三区青草| 色吧成人激情小说| 日韩欧美第一区| 亚洲精品国产视频| 国产在线一区二区综合免费视频| 激情图片小说一区| 色婷婷久久久亚洲一区二区三区| 日韩欧美国产一区在线观看| 亚洲同性gay激情无套| 久久99久久久欧美国产| 色综合网站在线| 精品久久久久久久人人人人传媒| 亚洲一区在线播放| 9l国产精品久久久久麻豆| 日韩三级精品电影久久久| 最新欧美精品一区二区三区| 亚洲电影中文字幕在线观看| 高清成人免费视频| 日韩午夜激情电影| 亚洲综合另类小说| 91美女精品福利| 亚洲一二三区在线观看| 韩国欧美国产一区| 精品国产乱码久久久久久闺蜜| 奇米色777欧美一区二区| 欧美亚一区二区| 国产精品美女久久久久久久网站| 久久国产精品免费| 欧美一三区三区四区免费在线看| 国产精品情趣视频| 久久99国产精品久久| 在线精品国精品国产尤物884a| 国产亚洲欧美在线| 99综合电影在线视频| 国产精品久久久久久福利一牛影视| 国产91在线看| 亚洲精品国久久99热| 欧美婷婷六月丁香综合色| 一区二区三区在线视频免费| 99国产精品久久久久久久久久| **性色生活片久久毛片| 在线欧美日韩国产| 久久国产免费看| 亚洲资源中文字幕| 欧美精品一区二区三区久久久| 成人免费av在线| 亚洲自拍偷拍av| 欧美综合一区二区三区| 亚洲午夜成aⅴ人片| 欧美无砖专区一中文字| 久久精品99国产国产精| 久久久九九九九| 99国产精品视频免费观看| 亚洲综合色成人| 精品久久久久一区| 一本色道久久综合精品竹菊| 国产精品国产三级国产专播品爱网 | 亚洲自拍偷拍综合| 欧美亚洲综合久久| 国产麻豆午夜三级精品| 亚洲高清免费视频| 中文字幕精品三区| 91精品国产综合久久久久久久| 91尤物视频在线观看| 成人性色生活片| 狠狠久久亚洲欧美| 天天免费综合色| 综合久久久久综合| 国产精品色哟哟| 久久精品日韩一区二区三区| 7777女厕盗摄久久久| 欧美丝袜丝nylons| 欧美在线一区二区三区| 91性感美女视频| 99久久777色| 欧美在线小视频| 欧美亚洲综合色| 欧美日韩国产一区二区三区地区| 成人免费视频一区| 成人avav影音| 色综合色狠狠天天综合色| 91在线精品一区二区| 色欧美片视频在线观看在线视频| 99久久精品情趣| 欧美一区二区二区| 日韩一级免费一区| 精品va天堂亚洲国产| 国产网站一区二区三区| 久久久精品日韩欧美| 亚洲精品视频自拍| 福利一区二区在线| 粉嫩av一区二区三区| 国产一区二区久久| 91网站视频在线观看| 欧美一级爆毛片| 中文字幕欧美日韩一区| 亚洲高清中文字幕| 成人永久aaa| 制服丝袜中文字幕一区| 国产精品区一区二区三| 五月婷婷久久丁香|