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

📄 gouyuappui.cpp

📁 手机钩鱼扑克牌游戏 蓝牙对战 手机游戏:扑克钩鱼 说明文档 硬件环境:支持Symbian Series 60 的智能手机
💻 CPP
字号:
/* Copyright (c) 2003, Nokia. All rights reserved */

#include <avkon.hrh>
#include <aknnotewrappers.h> 

#include "GouYu.pan"
#include "GouYuAppUi.h"
#include "GouYuAppView.h"
#include <GouYu.rsg>
#include "GouYu.hrh"
#include "GouYuEngine.h"
#include "BluetoothEngine.h"

#include <avkon.hrh>
#include <aknnotewrappers.h>

// System includes

#include <eikmenup.h>
#include <stringloader.h>		// StringLoader

// Constants

void CGouYuAppUi::ConstructL()
    {
    BaseConstructL();
	iEngine = CBluetoothEngine::NewL(this);
	iAppView = CGouYuAppView::NewL(ClientRect());
    iAppView->SetMopParent(this);
	AddToStackL(iAppView);
//	state = EFalse;	
	}

CGouYuAppUi::CGouYuAppUi()                              
    {
    }

CGouYuAppUi::~CGouYuAppUi()
    {
    if (iAppView)
        {
        iEikonEnv->RemoveFromStack(iAppView);
        delete iAppView;
        iAppView = NULL;
		delete iEngine;
		iEngine=NULL;
        }

    }

void CGouYuAppUi::DynInitMenuPaneL(TInt aResourceId, 
												 CEikMenuPane* aMenuPane)
    {
    if (aResourceId == R_GOUYU_MENU)
        {
        if (iEngine->iIsSlave)
            {
			// slave mode
            aMenuPane->SetItemDimmed(EHWCmdDiscoverDevices, ETrue);
            aMenuPane->SetItemDimmed(EHWCmdDiscoverServices, ETrue);
            aMenuPane->SetItemDimmed(EHWCmdConnectDevices, ETrue);
            aMenuPane->SetItemDimmed(EHWCmdShowConnectedDevices, ETrue);
            aMenuPane->SetItemDimmed(EHWCmdStartSlave, ETrue);
			if ( iEngine->iListener->IsConnected() ) 
				{
				aMenuPane->SetItemDimmed(EHWCmdSendMessage, EFalse);
				aMenuPane->SetItemDimmed(EHWCmdNewRound, EFalse);
				}
			else 
				{	
				aMenuPane->SetItemDimmed(EHWCmdSendMessage, ETrue);
				aMenuPane->SetItemDimmed(EHWCmdNewRound, ETrue);
				}
			}
        else 
			{
			// master mode
            aMenuPane->SetItemDimmed(EHWCmdDiscoverDevices, EFalse);
            aMenuPane->SetItemDimmed(EHWCmdDiscoverServices, EFalse);
            aMenuPane->SetItemDimmed(EHWCmdConnectDevices, EFalse);
            aMenuPane->SetItemDimmed(EHWCmdShowConnectedDevices, EFalse);
			if ( iEngine->iDeviceDiscoverer->HasDevices() )
				{
				// we have found devices, show discover services item
				aMenuPane->SetItemDimmed(EHWCmdDiscoverServices, EFalse);
				// disable slave option, entered master mode
	            aMenuPane->SetItemDimmed(EHWCmdStartSlave, ETrue);
				}
			else 
				{	
				// disconnected
				aMenuPane->SetItemDimmed(EHWCmdDiscoverServices, ETrue);
				}

			if ( iEngine->iServiceDiscoverer->HasServices() )
				{
				// we have found services, show connect item
				aMenuPane->SetItemDimmed(EHWCmdConnectDevices, EFalse);
				}
			else 
				{	
				// no services
				aMenuPane->SetItemDimmed(EHWCmdConnectDevices, ETrue);
				}

			if ( iEngine->HasConnections() ) 
				{
				// we are connected, show send message item
				aMenuPane->SetItemDimmed(EHWCmdSendMessage, EFalse);
				aMenuPane->SetItemDimmed(EHWCmdNewRound, EFalse);
	            aMenuPane->SetItemDimmed(EHWCmdShowConnectedDevices, EFalse);
				}
			else 
				{	
				// disconnected
				aMenuPane->SetItemDimmed(EHWCmdSendMessage, ETrue);
				aMenuPane->SetItemDimmed(EHWCmdNewRound, ETrue);
	            aMenuPane->SetItemDimmed(EHWCmdShowConnectedDevices, ETrue);
				}
			}
        }
    }


void CGouYuAppUi::HandleCommandL(TInt aCommand)
    {

    switch(aCommand)
        {
        case EEikCmdExit:
        case EAknSoftkeyExit:
            Exit();
            break;
		case EHWCmdStartSlave:
			{
				if(!iEngine->iIsSlave)
					iEngine->StartSlaveL();
				break;
			}
		case EHWCmdDiscoverDevices:
			{
				if(!iEngine->iIsSlave)
					iEngine->DiscoverDevicesL();
				break;
			}
		case EHWCmdDiscoverServices:
			{
				if(!iEngine->iIsSlave)
					iEngine->DiscoverServicesL();
				break;
			}
		case EHWCmdConnectDevices:
			{
				if(!iEngine->iIsSlave)
					iEngine->ConnectDevicesL();
				break;
			}
		case EHWCmdShowConnectedDevices:
			{
				if(!iEngine->iIsSlave)
					iEngine->ShowConnectedDevicesL();
				break;
			}
		case EHWCmdSendMessage:
			{
				iEngine->SendMessage();
				break;
			}
		case EHWCmdNewRound:
			{
				iEngine->num_temp = 0;
			//	iAppView->iGameStart=1;
				iAppView->NewRound();
				
				if(iAppView->iAppEngine->iPlayerNum == 0)
				{
					iEngine->MasterSendMessage(1);
					iEngine->num_temp++;
				}
				else if(iAppView->iAppEngine->iPlayerNum == 1)
				{
					iEngine->SlaveSendMessage(1);
				}
				break;
			}
        default:
            Panic(EGouYuUi);
            break;
        }
    }

TKeyResponse CGouYuAppUi::HandleKeyEventL(
    const TKeyEvent& aKeyEvent,TEventCode aType)
	{
	if(aType == EEventKey)
	{
		switch(aKeyEvent.iCode)
		{
		case EKeyLeftArrow:
			
			iAppView->MoveLeft();

			break;
		case EKeyRightArrow:

			iAppView->MoveRight();

			break;
		case EKeyUpArrow:
		//	iAppView->iclear = 1;
			if(iAppView->isfish == 1 )
			{
				iAppView->is_f = 1 ;
	//			iAppView->ct1 = 1 ;
			}
			iAppView->SelectCard();
		//	iAppView->is_f_s = 0 ;
		//	iAppView->is_f_s = 1;
		//	iAppView->iclear = 0;
			iAppView->ct1 = 1 ;
			break;
		case EKeyDownArrow:	
			iAppView->isfish = 0 ;
			iAppView->CancelSelectCards();
			iAppView->ct1 = 0 ;
			iAppView->ctr_2 = 0 ;
			break;
		case EKeyOK:
			if(iAppView->iAppEngine->activeplayer == iAppView->iAppEngine->iPlayerNum)
			{
				if(iAppView->isfish==1 && iAppView->is_f ==1)
				{
					iAppView->Fishing();
	

					iAppView->isfish = 0;
					iAppView->ctr_2 = 0 ;
					iAppView->is_f = 0 ;
					iAppView->ct1 = 0 ;

				}
				if(iAppView->iAppEngine->iPos >= 54)
				{
					if(iAppView->iAppEngine->iPlayerNum==0)
					{
						iEngine->MasterSendMessage(2);
					}
					else
					{
						iEngine->SlaveSendMessage( 2 );
					}
				}
			}
			break;
		case '1':
			if(iAppView->iAppEngine->activeplayer == iAppView->iAppEngine->iPlayerNum /*&& iAppView->iAppEngine->ctrl_1 !=0 */)
			{
				if(iAppView->ct1 != 0 && iAppView->iAppEngine->isok != 1)
				{
					iAppView->isfish = 1 ;
					iAppView->ctr_2 = 1 ;
					iAppView->Dofish();
					iAppView->ct1 = 0 ;
				}
				
			}
			break;
		case '2':
			
			if(iAppView->iAppEngine->activeplayer == iAppView->iAppEngine->iPlayerNum)
			{
				
				if(iAppView->ctr_2 !=1)
				{
					if(iAppView->iAppEngine->iPlayerNum==0)
					{
						if(iEngine->num_temp<3)
						{	
							iEngine->MasterSendMessage(1);
							iEngine->num_temp++;
						}
					}
					iAppView->Giveup();
					if(iAppView->iAppEngine->iPlayerNum==0)
					{
						iEngine->MasterSendMessage(2);
					}
					else
					{
						iEngine->SlaveSendMessage( 2 );
					}
				}
			}
		
			break;
/*		case '8':
			iAppView->flp1 = 1;
			iAppView->DrawPlayer1();
			break;
		case '9':
			iAppView->flp2 = 1 ; 
			iAppView->DrawPlayer2();
			break;*/
		default:
			break;
		}
		return EKeyWasConsumed;
	}
	return EKeyWasNotConsumed;
	}

⌨️ 快捷键说明

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