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

📄 s60testdocument.cpp

📁 使用symbian的s60实现的小游戏俄罗斯方块(第而步)
💻 CPP
字号:
#include "S60TestAppUi.h"
#include "S60TestDocument.h"

// Standard Symbian OS construction sequence
CS60TestDocument *CS60TestDocument::NewL(CEikApplication& aApp)
{
  CS60TestDocument *self=NewLC(aApp);
  CleanupStack::Pop(self);
  return self;
}

CS60TestDocument *CS60TestDocument::NewLC(CEikApplication& aApp)
{
  CS60TestDocument *self=new(ELeave) CS60TestDocument(aApp);
  CleanupStack::PushL(self);
  self->ConstructL();
  return self;
}

void CS60TestDocument::ConstructL()
{
  TTime time;
  time.HomeTime();
  seed=time.Int64();
  Reset();
}

CS60TestDocument::CS60TestDocument(CEikApplication& aApp)
:CAknDocument(aApp),
 iGrid(),
 iCurrBlock(),
 iBlockPos(3, -4)
{
}

CS60TestDocument::~CS60TestDocument()
{
}

void CS60TestDocument::Reset()
{
  iGrid.Clear();
  iBlockPos=TPoint(3, -4);
  iCurrBlock=TBlock::RandomBlock(seed);
}

void CS60TestDocument::NewBlock()
{
  iCurrBlock=TBlock::RandomBlock(seed);
  iBlockPos=TPoint(3, -4);
}

bool CS60TestDocument::FixBlock()
{
  int i;
  // check if it is outside the board
  for (i=0; i<-iBlockPos.iY; i++)
    if (iCurrBlock.RowMask(i))
      return false;

  iGrid.PutBlock(iCurrBlock, iBlockPos);
  return true;
}

bool CS60TestDocument::IsBlock(const TPoint &p) const
{
  if (p.iX>=iBlockPos.iX && p.iX<iBlockPos.iX+4 &&
      p.iY>=iBlockPos.iY && p.iY<iBlockPos.iY+4)
    return (iCurrBlock.RowMask(p.iY-iBlockPos.iY)&(1<<(3-p.iX+iBlockPos.iX)))>0;
  return false;
}

void CS60TestDocument::GetRowContent(int nr, TFixedArray<TInt8, KGridX> &row) const
{
  int i;
  for (i=0; i<KGridX; i++)
  {
    if (IsBlock(TPoint(i, nr))) row[i]=iCurrBlock.Color();
      else row[i]=iGrid.iContent[nr][i];
  }
}

CEikAppUi *CS60TestDocument::CreateAppUiL()
{
  // Create the application user interface, and return a pointer to it,
  // the framework takes ownership of this object
  iAppUi=new(ELeave) CS60TestAppUi(this);
  return iAppUi;
}

⌨️ 快捷键说明

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