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

📄 cell.cpp

📁 vc扫雷实例
💻 CPP
字号:
// cell.cpp: implementation of the Cell class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Russia.h"
#include "cell.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Cell::Cell()
{
	
//	row=4;
//	col=2;
	for(int i=0;i<4;i++)
		for(int k=0;k<4;k++)
		{
			data[i][k]=0;
		}
      nControl=0;
}

Cell::~Cell()
{

}
void Cell::SetType(int nNumber)
{
	for(int j=0;j<4;j++)
		for(int k=0;k<4;k++)
			data[j][k]=0;
	switch(nNumber)
	{
	case 1:
		{
		data[0][0]=1;
		data[1][0]=0;
		data[0][1]=0;
		data[1][1]=0;
		data[2][0]=0;
		data[2][1]=0;
		data[3][0]=0;
		data[3][1]=0;
		col=1;
		row=1;
		break;
		}
	case 2:
		data[0][0]=1;
		data[1][0]=1;
		data[0][1]=0;
		data[1][1]=0;
		data[2][0]=0;
		data[2][1]=0;
		data[3][0]=0;
		data[3][1]=0;
		row=2;
		col=1;
		break;
	case 3:
		data[0][0]=1;
		data[0][1]=1;
		data[1][0]=1;
		data[1][1]=1;
		data[2][0]=0;
		data[2][1]=0;
		data[3][0]=0;
		data[3][1]=0;
		row=2;
		col=2;
		break;
	case 4:
		data[0][0]=1;
		data[1][0]=1;
		data[2][0]=1;
		data[3][0]=1;
		data[0][1]=0;
		data[1][1]=0;
		data[2][1]=0;
		data[3][1]=0;
		row=4;
		col=1;
		break;
	case 5:
		data[0][0]=1;
		data[1][0]=1;
		data[1][1]=1;
		data[2][1]=1;
		data[0][1]=0;
		data[2][0]=0;
		data[3][0]=0;
		data[3][1]=0;
		row=3;
		col=2;
		break;
	case 6:
		data[0][1]=1;
		data[1][0]=1;
		data[1][1]=1;
		data[2][0]=1;
		data[0][0]=0;
		data[2][1]=0;
		data[3][0]=0;
		data[3][1]=0;
		row=3;
		col=2;
		break;
	case 7:
		data[0][0]=1;
		data[1][0]=1;
		data[1][1]=1;
		data[2][0]=1;
		data[0][1]=0;
		data[2][1]=0;
		data[3][0]=0;
		data[3][1]=0;
		row=3;
		col=2;
		break;
	case 8:
		data[0][1]=1;
		data[1][0]=1;
		data[1][1]=1;
		data[2][1]=1;
		data[0][0]=0;
		data[2][0]=0;
		data[3][0]=0;
		data[3][1]=0;
		row=3;
		col=2;
		break;
	case 9:
		data[0][0]=1;
		data[0][1]=1;
		data[1][0]=1;
		data[2][0]=1;
	//	data[0][1]=0;
		data[1][1]=0;
		data[2][1]=0;
		data[3][0]=0;
		data[3][1]=0;
		row=3;
		col=2;
		break;
	case 10:
		data[0][0]=1;
		data[0][1]=1;
		data[1][1]=1;
		data[2][1]=1;
	//	data[0][1]=0;
		data[1][0]=0;
		data[2][0]=0;
		data[3][0]=0;
		data[3][1]=0;
		row=3;
		col=2;
		break;
	case 11:
		data[0][0]=1;
		data[1][0]=1;
		data[2][0]=1;
		data[2][1]=1;
		row=3;
		col=2;
		break;
	case 12:
		data[0][1]=1;
		data[1][1]=1;
		data[2][0]=1;
		data[2][1]=1;
		row=3;
		col=2;
		break;
	default:
	break;
	}
}
void Cell::Turn(Cell* data)
{
	  int temp,nTemp;	
	  nControl++;
//	  CArray ar;
	  int *Cata=new int[data->row*data->col];//(nControl%2)!=0
	if((nControl%2)!=0)
		{
		for(int i=0;i<data->row;i++)
			for(int j=0;j<data->col;j++)
			Cata[i*data->col+j]=data->data[i][j];		
			for(int m=0;m<data->row;m++)
			for(int n=0;n<data->col;n++)
			data->data[n][m]=Cata[m*data->col+n];

		}       
	else	
	{ 
		nTemp=data->row;
		for(int j=0;j<data->row;j++)
		for(int k=0;k<data->col;k++)
		Cata[j*data->col+k]=data->data[j][k];
		for(int m=0;m<data->row;m++)
		{	
			nTemp--;
			for(int n=0;n<data->col;n++)
			data->data[n][nTemp]=Cata[m*data->col+n];
		}
	}
		temp=data->col;
		data->col=data->row;
		data->row=temp;
		delete Cata;
	// for(int m=0;m<data->row;m++)
//	for(int n=0;n<data->col;n++)
//	data->data[m][n]=0;
	//for(int 
				  

}

⌨️ 快捷键说明

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