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

📄 icebloxx.cpp

📁 Source code (C++) of the Icebloxx game for Symbian OS UIQ3.x
💻 CPP
字号:
/*
 * Copyright (C) 2002 Robert Ernst <robert.ernst@linux-solutions.at>
 *
 * This file may be distributed and/or modified under the terms of the
 * GNU General Public License version 2 as published by the Free Software
 * Foundation and appearing in the file LICENSE.GPL included in the
 * packaging of this file.
 *
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 *
 * See COPYING for GPL licensing information.
 *
 */

#include "PlayField.h"
#include "Icebloxx.h"
#include <stdlib.h>
#include <time.h>
#include <eikenv.h>
#include <eikappui.h>
#include <eikapp.h>
const TUid KIceBloxxSettings = {0x12341280};
Icebloxx::Icebloxx(CIceBloxxView * aParent, const char * /*name*/, TInt /*f*/) 
{
    /* initialize random number generator */
    srand(::time(0));

    /* create the play field as the central widget */
	m_speed = 6;
	m_strength = 12;
	m_coins = 5;
    m_field = new PlayField(aParent);

    /* read the configuration file */
    readConfig();

}

Icebloxx::~Icebloxx()
{
	delete m_field;
}

void Icebloxx::readConfig(void)
{
	CEikonEnv* env=CEikonEnv::Static();
	CDictionaryStore* iniFile = env->EikAppUi()->Application()->OpenIniFileLC(env->FsSession());
	if (iniFile->IsPresentL(KIceBloxxSettings))
	{
		RDictionaryReadStream	readStream;
		readStream.OpenLC(*iniFile, KIceBloxxSettings);
		m_speed= readStream.ReadInt32L();
		m_strength= readStream.ReadInt32L();
		m_coins= readStream.ReadInt32L();
		m_field->InternalizeL(readStream);
		CleanupStack::PopAndDestroy();//readStream
	}
	CleanupStack::PopAndDestroy(); // iniFile		

    m_field->updateSpeed(m_speed);

    m_field->updateStrength(m_strength);
 
    m_field->updateCoins(m_coins);	
}

void Icebloxx::writeConfig(void)
{
	CEikonEnv* env=CEikonEnv::Static();
	CDictionaryStore* iniFile = env->EikAppUi()->Application()->OpenIniFileLC(env->FsSession());
	RDictionaryWriteStream writeStream;
	writeStream.AssignLC(*iniFile, KIceBloxxSettings);
	writeStream.WriteInt32L(m_speed);
	writeStream.WriteInt32L(m_strength);
	writeStream.WriteInt32L(m_coins);
	m_field->ExternalizeL(writeStream);
	writeStream.CommitL();
	CleanupStack::PopAndDestroy(); // writeStream
	iniFile->CommitL();
	CleanupStack::PopAndDestroy(); // iniFile			

}

void Icebloxx::updateSpeed(int speed)
{
    m_speed = speed;
    writeConfig();
}

void Icebloxx::updateStrength(int strength)
{
    m_strength = strength;
    writeConfig();
}

void Icebloxx::updateCoins(int coins)
{
    m_coins = coins;
    writeConfig();
}

⌨️ 快捷键说明

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