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

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

?? ski.h

?? s60源碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef __SKI_H_
#define __SKI_H_

// INCLUDES
// System includes
#include <e32std.h>
#include <e32base.h>
#include <fbs.h>    //CFbsBitmap
#include <w32std.h>
// User includes
#include "keyhandler.h"

// CONSTANTS
const TInt KSkiArrayGranularity = 8;

// FORWARD DECLARATIONS
class CDoubleBufferedArea;
class CDirectScreenAccess;

// CLASS DECLARATION
/**
*
* @class	TMapPrimitive Ski.h
* @brief	Class to represent a particular object on the play area map
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class TMapPrimitive
    {
    public:
        enum TMapObjectType
            {
            ETree = 0x01,
            ELog = 0x02,
            ELeftFlag = 0x04,
            ERightFlag = 0x08,
            EBump = 0x10,
            EPassedFlag = 0x20,
            EFailedFlag = 0x40
            };
    public:
        TMapPrimitive(const TPoint& aPosn, TMapObjectType aType);
        const TPoint& Posn() const;
        TMapObjectType Type() const;
        void SetType(TMapObjectType aType);
    private:
        TPoint iPosn;
        TMapObjectType iType;
    };

/**
*
* @class	CMapPrimitiveArray Ski.h
* @brief	An array of map primitives
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
#define CMapPrimitiveArray CArrayFixSeg<TMapPrimitive>

/**
*
* @class	MMapPrimitiveToRectConverter Ski.h
* @brief	Mixin class for classes to convert an object on the map to a rectangle.
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class MMapPrimitiveToRectConverter
    {
    public:
        virtual TRect RectangleL(TMapPrimitive aPrimitive) const = 0;
    protected:
        TRect CreateRect(TPoint aPosn, TSize aSize) const;
    };


/**
*
* @class	CSkiMap Ski.h
* @brief	Repository of primitive positions on the play area.
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class CSkiMap : public CBase
    {
    public:
        static CSkiMap* NewL();
        static CSkiMap* NewLC();
        static CSkiMap* NewLC(CMapPrimitiveArray* aArray);
        ~CSkiMap();

    public:
        CMapPrimitiveArray& PrimitiveArray();
        const CMapPrimitiveArray& PrimitiveArray() const;
        //
        // Returns a map that contains all the primitives within aArea.
        // aRectRep converts each map primitive into rectangles
        //
        class CSkiMap* IntersectsLC(const TRect& aArea, const MMapPrimitiveToRectConverter& aRectRep);
        CMapPrimitiveArray* TypeLC(TInt aType);

        TSize MapLimits() const;
        void SetMapLimits(TSize aSize);

    private:
        CSkiMap();
        CSkiMap(CMapPrimitiveArray* aArray);
        void ConstructL();

    private:
        CMapPrimitiveArray* iArray;
        TSize iLimits;
    };


/**
*
* @class	TSkiScreenAttribs Ski.h
* @brief	A collection of the screen attributes, including the offset.  The offset is
* the position of the top left hand corner of the screen on the play area
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class TSkiScreenAttribs
    {
    public:
        TSkiScreenAttribs(const TRect& aRect);
        TSkiScreenAttribs();

    public:
        const TRect& Rect() const;
        TRect& Rect();
        TPoint Offset() const;
        void SetOffset(TPoint aOffset);
    private:
        TRect iRect;
    };

/**
*
* @class	CSkiSprite Ski.h
* @brief	base class for screen sprite
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class CSkiSprite : public CBase
    {
    public:
        static CSkiSprite* NewL(CFbsBitmap* aBitmap, CFbsBitmap* aMask, TInt aType);
        static CSkiSprite* NewLC(CFbsBitmap* aBitmap, CFbsBitmap* aMask, TInt aType);
        ~CSkiSprite();

    public:
        // bitmap accessors
        const CFbsBitmap& Bitmap() const;
        CFbsBitmap& Bitmap();
        CFbsBitmap* Mask();
        const CFbsBitmap* Mask() const;
        TInt Type() const;

    protected:
        CSkiSprite(CFbsBitmap* aBitmap, CFbsBitmap* aMask, TInt aType);
        void ConstructL();

    protected:
        CFbsBitmap* iBitmap;
        CFbsBitmap* iMask;
        TInt iType;
    };


/**
*
* @class	CSkiSpriteArray Ski.h
* @brief	an array of sprites!
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
#define CSkiSpriteArray CArrayPtrSeg<CSkiSprite>


/**
*
* @class	CGameGallery Ski.h
* @brief	base class for a collection of sprites
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class CGameGallery : public CBase
    {
    public:
        static CGameGallery* NewL();
        static CGameGallery* NewLC();
        ~CGameGallery();

    public:
        // sprite accessors
        const CSkiSprite& SpriteL(TInt aType) const;
        CSkiSprite& SpriteL(TInt aType);

        // bitmap setters
        void AddBitmapL(CFbsBitmap* aBitmap, CFbsBitmap* aMask, TInt aType) const;


    protected:
        CGameGallery();
        void ConstructL();

    protected:
        //attribs
        CSkiSpriteArray* iArray;
    };



/**
*
* @class	CMapGallery Ski.h
* @brief	collection of map sprites
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class CMapGallery : public CGameGallery, public MMapPrimitiveToRectConverter
    {
    public:
        static CMapGallery* NewL();
        static CMapGallery* NewLC();
    public:
        // from MMapPrimitiveToRectConverter
        virtual TRect RectangleL(TMapPrimitive aPrimitive) const;
    };


/**
*
* @class	TMapPrimitiveBoundingRect Ski.h
* @brief	class to represent a bounding rectangle of a map element for collision
* detection
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class TMapPrimitiveBoundingRect
    {
    public:
        TMapPrimitiveBoundingRect();
        TMapPrimitiveBoundingRect(TSize aSize, TInt aHeight, TMapPrimitive::TMapObjectType aType);

    public:
        TSize Size() const;
        void SetSize(TSize aSize);
        TMapPrimitive::TMapObjectType Type() const;
        void SetType(TMapPrimitive::TMapObjectType aType);
        TInt Height() const;
        void SetHeight(TInt aHeight);

    private:
        TSize iSize;
        TInt iHeight;
        TMapPrimitive::TMapObjectType iType;
    };

/**
*
* @class	CBoundingRectArray Ski.h
* @brief	array of bounding rect + type information
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
#define CBoundingRectArray CArrayFixSeg<TMapPrimitiveBoundingRect>


/**
*
* @class	CMapPrimitiveBoundingRects Ski.h
* @brief	collection of bounding rectangles
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class CMapPrimitiveBoundingRects : public CBase, public MMapPrimitiveToRectConverter
    {
    public:
        static CMapPrimitiveBoundingRects* NewL();
        static CMapPrimitiveBoundingRects* NewLC();
        ~CMapPrimitiveBoundingRects();

    public:
        TSize SizeL(TMapPrimitive::TMapObjectType aType) const;
        void AddSizeL(TSize aSize, TInt aHeight, TMapPrimitive::TMapObjectType aType) const;

    public:
        // from MMapPrimitiveToRectConverter
        virtual TRect RectangleL(TMapPrimitive aPrimitive) const;

        TInt Elevation() const;
        void SetElevation(TInt aElevation);

    private:
        void ConstructL();

    private:
        TInt iElevation;
        CBoundingRectArray* iRects;
    };

/**
*
* @class	TSkiVector Ski.h
* @brief	2D Vector class
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class TSkiVector
    {
    public:
        TSkiVector();
        TSkiVector(TReal aX, TReal aY);
        TSkiVector operator+(const TSkiVector& aVector) const;
        TSkiVector operator-(const TSkiVector& aVector) const;
        TReal DotProduct(const TSkiVector& aVector) const;
        TReal Magnitude() const;
        TInt Normalize();

    public:
        TReal iX;
        TReal iY;
    };



/**
*
* @class	TSkierAttribs Ski.h
* @brief	skier physics properties + state enum
*
* Copyright (c) EMCC Software Ltd 2003
* @version	1.0
*
*/
class TSkierAttribs
    {
    public:
        enum TSkierState
            {
            ESkier0 = 0,
            ESkier30 = 1,
            ESkier60 = 2,
            ESkier90 = 3,
            ESkier120 = 4,
            ESkier150 = 5,
            ESkier180 = 6,
            ESkierFall = 7
            };

    public:
        TSkierAttribs();

    public:
        const TSkiVector& Posn() const;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本在线播放| 欧美精品日韩精品| 国产一区二区三区精品视频| 性久久久久久久久久久久| 亚洲激情一二三区| 亚洲免费观看高清完整版在线观看熊 | 不卡的看片网站| 国产麻豆日韩欧美久久| 精品一区二区三区免费观看| 免费在线看一区| 美女网站一区二区| 蜜桃视频在线一区| 久久99精品国产麻豆不卡| 精品一区二区三区免费视频| 精品一区二区三区久久久| 国产综合色视频| 国产成人精品免费一区二区| 国产成人av一区二区三区在线观看| 国产精品一区免费视频| 国产麻豆成人传媒免费观看| 国产成人免费高清| 99久久99久久精品免费观看| 色哟哟国产精品免费观看| 在线亚洲+欧美+日本专区| 欧美性大战久久久久久久蜜臀 | 久久久一区二区| 欧美激情一区在线观看| 椎名由奈av一区二区三区| 亚洲精品国产精华液| 香蕉久久夜色精品国产使用方法| 视频在线在亚洲| 极品销魂美女一区二区三区| 国产成人午夜高潮毛片| 99riav久久精品riav| 欧美制服丝袜第一页| 日韩视频在线你懂得| 国产日韩欧美精品在线| 亚洲精品成人在线| 免播放器亚洲一区| 成人免费看视频| 欧美色老头old∨ideo| 欧美大片在线观看| 亚洲天堂中文字幕| 日本午夜一本久久久综合| 国产激情一区二区三区四区| 91视频观看视频| 欧美一区二区三区在线观看| 精品剧情v国产在线观看在线| 国产精品三级av| 天堂久久一区二区三区| 国产精品一级片| 欧美日韩一级大片网址| 久久亚洲私人国产精品va媚药| 亚洲视频在线一区二区| 日本免费新一区视频| 成av人片一区二区| 欧美一区二区三区视频免费| 国产丝袜欧美中文另类| 亚洲五月六月丁香激情| 国产精品一二三四五| 欧美日韩国产综合久久| 欧美激情综合在线| 日韩av电影天堂| 91视频国产资源| 久久精品亚洲一区二区三区浴池| 亚洲成人一区二区| 成人开心网精品视频| 欧美一区二区三区在线电影| 亚洲色图欧美在线| 国产麻豆精品久久一二三| 欧美日韩免费一区二区三区 | 综合色中文字幕| 韩国女主播成人在线| 欧美性生交片4| 欧美激情综合五月色丁香 | 在线观看亚洲精品视频| 国产午夜精品久久久久久免费视| 亚洲成年人影院| 97精品视频在线观看自产线路二| 精品伦理精品一区| 日韩精品91亚洲二区在线观看 | 91蜜桃网址入口| 精品91自产拍在线观看一区| 亚洲成av人片在线| 一本大道av一区二区在线播放| 久久精品一区二区三区不卡 | 亚洲国产成人91porn| 成人av网站在线| 2023国产一二三区日本精品2022| 偷偷要91色婷婷| 日本高清视频一区二区| 国产精品电影一区二区| 国产成人免费网站| 亚洲精品一区二区三区香蕉| 奇米精品一区二区三区四区| 欧美日韩国产综合草草| 亚洲一区二区精品视频| 色偷偷88欧美精品久久久| 中文字幕中文字幕一区| 国产不卡视频在线播放| 亚洲精品一区二区三区精华液| 琪琪久久久久日韩精品| 5858s免费视频成人| 午夜一区二区三区在线观看| 在线看不卡av| 亚洲一区二区四区蜜桃| 91高清视频免费看| 亚洲自拍偷拍麻豆| 日韩欧美国产精品一区| 美女一区二区三区| 精品毛片乱码1区2区3区| 精品无人码麻豆乱码1区2区 | 青青草视频一区| 91精品国产综合久久精品app| 亚洲国产日产av| 欧美色中文字幕| 五月天视频一区| 日韩一区二区电影在线| 久久激情综合网| 久久综合久久综合九色| 国产成人啪午夜精品网站男同| 国产日韩高清在线| av电影一区二区| 一区二区欧美视频| 7777女厕盗摄久久久| 麻豆精品在线视频| 国产日本亚洲高清| 成人午夜激情在线| 亚洲男人天堂av网| 欧美美女视频在线观看| 九色综合国产一区二区三区| 久久女同精品一区二区| 成人动漫一区二区在线| 一区二区三区鲁丝不卡| 欧美肥妇bbw| 国产综合一区二区| 中文字幕在线不卡一区| 欧美吞精做爰啪啪高潮| 美女精品自拍一二三四| 国产女人18毛片水真多成人如厕 | 成人免费视频免费观看| 又紧又大又爽精品一区二区| 777午夜精品视频在线播放| 蜜臀va亚洲va欧美va天堂| 国产欧美日韩在线看| 在线免费视频一区二区| 奇米精品一区二区三区四区| 国产精品萝li| 欧美精品在欧美一区二区少妇| 精品制服美女丁香| 亚洲欧美日韩国产综合在线| 日韩一区二区在线看| 成人免费高清视频在线观看| 香蕉加勒比综合久久| 国产亚洲va综合人人澡精品| 91久久奴性调教| 久久91精品国产91久久小草| 成人免费一区二区三区在线观看| 91精品国产综合久久精品app| 成人美女视频在线观看| 日日摸夜夜添夜夜添国产精品| 国产三级精品三级| 欧美精品三级在线观看| 成人av资源在线观看| 日韩av二区在线播放| 亚洲乱码一区二区三区在线观看| 日韩欧美一级二级三级| 99久久99久久精品国产片果冻 | 国产一区二区中文字幕| 一二三区精品福利视频| 久久亚洲精精品中文字幕早川悠里 | 久久电影网站中文字幕| 亚洲欧美日韩国产手机在线| 精品福利二区三区| 欧美日韩国产精品成人| 99久久99久久综合| 国产精一品亚洲二区在线视频| 亚洲国产精品久久艾草纯爱| 国产精品国产三级国产aⅴ无密码| 欧美一卡二卡三卡四卡| 91久久免费观看| 成人av免费在线| 国产一区二区精品在线观看| 日韩电影在线免费看| 一区二区三区小说| 国产精品电影一区二区| 日本一区二区电影| 精品少妇一区二区三区在线视频| 欧美系列一区二区| 91丨九色丨国产丨porny| 丁香啪啪综合成人亚洲小说 | 蜜臀av在线播放一区二区三区| 亚洲午夜免费福利视频| 成人欧美一区二区三区黑人麻豆| 久久亚洲春色中文字幕久久久| 日韩欧美你懂的| 欧美一区二区视频在线观看2022 | 亚洲国产精品成人综合色在线婷婷 | 成人精品国产免费网站| 久久99精品国产|