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

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

?? skyblue_rectview.cpp

?? 游戲 demo 高視覺效果?蝸?demo 高視覺效果
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
		GameStatus[xx4][yy4] = MAP_STATE_NOT_EMPTY;

		InvalidateCurrent();

		//改變形狀代碼
		m_currentRect = m_lscurrentRect;
	}
	else
	{//恢復原來狀態
		GameStatus[x1][y1] = MAP_STATE_NOT_EMPTY;
		GameStatus[x2][y2] = MAP_STATE_NOT_EMPTY;
		GameStatus[x3][y3] = MAP_STATE_NOT_EMPTY;
		GameStatus[x4][y4] = MAP_STATE_NOT_EMPTY;
	}

	//判斷是否已到底
	IsBottom();
}


/* * * * * * * * * * * * * * * * * * * * * *
* 內部函數:游戲開始
*
* 最后修改日期:2005.8.6
* * * * * * * * * * * * * * * * * * * * * */
void CSkyblue_RectView::OnGameStart() 
{
		if (!m_bGamePaush)  //如果不是游戲暫停狀態,則必須作些初始工作
	{
		m_bGameEnd = FALSE;
		//總分值清零, 并顯示總分記分牌
		m_iPerformance = 0;
	
		//顯示當前的區域及游戲級別的漢字描述
		CurrentAreaAndLevel();
		
	//	CRect rect(m_iStartY, m_iStartX, m_iStartY+110, m_iStartX+370);
	//	InvalidateRect(&rect);
	}

	m_bGamePaush = FALSE;
	SetTimer(1,1500-250*m_iLevel,NULL);
}


//游戲暫停
void CSkyblue_RectView::OnGamePaush() 
{
	m_bGamePaush = TRUE;

	KillTimer(1);
}

/* * * * * * * * * * * * * * * * * * * * * *
* 內部函數:游戲結束
*
* 最后修改日期:2005.8.6
* * * * * * * * * * * * * * * * * * * * * */
void CSkyblue_RectView::OnGameEnd() 
{
	m_bGameEnd = TRUE;
//	m_bGamePaush = FALSE;  //清除游戲暫停狀態

	int i,j;
	for (i=0;i<m_iRow;i++)
		for (j=0;j<m_iCol;j++)
			GameStatus[i][j]=0;

	CRect rect(m_iStartY, m_iStartX, m_iStartY+440, m_iStartX+370);
	InvalidateRect(&rect);

	m_bGamePaush = FALSE;  //清除游戲暫停狀態

	KillTimer(1);	

}

/* * * * * * * * * * * * * * * * * * * * * *
* 內部函數:刷新當前的區域
*
* 只刷新需要刷新的四個小方塊區域,防止屏幕抖動情況發生
*
* 最后修改日期:2005.8.6
* * * * * * * * * * * * * * * * * * * * * */
void CSkyblue_RectView::InvalidateCurrent()
{
	int i;
	
//	for (i=0;i<4;i++)
//	{
//	CRect rect(m_iStartX+ActiveStatus[i][1]*m_iLarge, 
//				m_iStartY+ActiveStatus[i][0]*m_iLarge,
//				m_iStartX+(ActiveStatus[i][1]+1)*m_iLarge+5,
//				m_iStartY+(ActiveStatus[i][0]+1)*m_iLarge);
		//	InvalidateRect(&rect);
			Invalidate(FALSE);
//	}
}


/* * * * * * * * * * * * * * * * * * * * * *
* 內部函數:游戲設置
*
* 最后修改日期:2005.8.6
* * * * * * * * * * * * * * * * * * * * * */
void CSkyblue_RectView::OnGameOption() 
{
	//參數順序: 區域大小代碼:0-3,分別為:12X10,18X15,24X20,m_iLargeX25
	//級別:0-5,分別為:1500,1200,1000,800,600,400
	//背景音樂:TRUE 或者 FALSE
	int m_lsArea;
	switch(m_iRow)
	{
	case 12:
		m_lsArea = 0;
		break;
	case 18:
		m_lsArea = 1;
		break;
	case 24:
		m_lsArea = 2;
		break;
	case 30:
		m_lsArea = 3;
		break;
	}

	COptionDlg dlg(m_lsArea,m_iLevel,m_iBlockSytle,m_bMusic,m_bDrawGrid);
	
	if (dlg.DoModal()==IDOK)
	{
		//確定區域的大小
		switch(dlg.m_iArea)
		{
		case 0:
			m_iRow = 12;
			m_iCol = 10;
			m_iLarge = 30;
			break;
		case 1:
			m_iRow = 18;
			m_iCol = 15;
			m_iLarge = 20;
			break;
		case 2:
			m_iRow = 24;
			m_iCol = 20;
			m_iLarge = 15;
			break;
		case 3:
			m_iRow = 30;
			m_iCol = 25;
			m_iLarge = 12;
			break;
		}

		//確定級別
		m_iLevel = dlg.m_iLevel;
		//選擇的樣式
		m_iBlockSytle = dlg.m_iBlockStyle;

		//確定是否繪網格背景
		m_bDrawGrid = dlg.m_bDrawGrid;

        //檢查是否插放音樂								  
		m_bMusic = dlg.m_bMusic;
		if (m_bMusic)
			PlayMid();
		else
			StopMid();

		Invalidate();
	}	
}


//用于生成當前區域大小與級別所對應的漢字描述
void CSkyblue_RectView::CurrentAreaAndLevel()
{
	switch(m_iRow)
	{
	case 12:
		m_strArea = "12行10列"; break;
	case 18:
		m_strArea = "18行15列"; break;
	case 24:
		m_strArea = "24行20列"; break;
	case 30:
		m_strArea = "30行25列"; break;
	}

	switch(m_iLevel)
	{
	case 0:
		m_strLevel = "第一級: 入門級"; break;
	case 1:
		m_strLevel = "第二級: 初級級"; break;
	case 2:
		m_strLevel = "第三級: 中級"; break;
	case 3:
		m_strLevel = "第四級: 中高級"; break;
	case 4:
		m_strLevel = "第五級: 高級"; break;
	case 5:
		m_strLevel = "第六級: 頂級"; break;
	}
}


/* * * * * * * * * * * * * * * * * * * * * *
* 內部函數:以下為菜單屏蔽與開啟控制
*
* 最后修改日期:2005.8.6
* * * * * * * * * * * * * * * * * * * * * */
//如果游戲開始,則此[開始游戲]按鈕被屏蔽
void CSkyblue_RectView::OnUpdateGameStart(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd || m_bGamePaush)
		pCmdUI->Enable(TRUE);
	else
		pCmdUI->Enable(FALSE);
}

//如果游戲開始,則此[游戲設置]按鈕被屏蔽
void CSkyblue_RectView::OnUpdateGameOption(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd)
		pCmdUI->Enable(TRUE);
	else
		pCmdUI->Enable(FALSE);
}

//如游戲開始,則[游戲暫停]按鈕開啟
void CSkyblue_RectView::OnUpdateGamePaush(CCmdUI* pCmdUI) 
{
	if (!m_bGameEnd)
		pCmdUI->Enable(TRUE);
	else
		pCmdUI->Enable(FALSE);
}

//如果游戲開始,則此[游戲結束]按鈕被開啟
void CSkyblue_RectView::OnUpdateGameEnd(CCmdUI* pCmdUI) 
{
	if (!m_bGameEnd)
		pCmdUI->Enable(TRUE);
	else
		pCmdUI->Enable(FALSE);
	
}

//如果游戲開始,則此[退出系統]按鈕被屏蔽
void CSkyblue_RectView::OnUpdateGameExit(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd)
		pCmdUI->Enable(TRUE);
	else
		pCmdUI->Enable(FALSE);
}

//如果游戲開始,則此[關于]按鈕被屏蔽
void CSkyblue_RectView::OnUpdateHelpAbout(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd)
		pCmdUI->Enable(TRUE);
	else
		pCmdUI->Enable(FALSE);
}

//如果游戲開始,則此[幫助]按鈕被屏蔽
void CSkyblue_RectView::OnUpdateHelpHelp(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd)
		pCmdUI->Enable(FALSE);
	else
		pCmdUI->Enable(FALSE);	
}


void CSkyblue_RectView::OnHelpHelp() 
{

}


//用菜單設置區域大小
void CSkyblue_RectView::OnUpdateOptionArea1(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd) 
		pCmdUI -> Enable(TRUE);
	else 
		pCmdUI -> Enable(FALSE);

	if (m_iRow==12)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);	
}
void CSkyblue_RectView::OnUpdateOptionArea2(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd) 
		pCmdUI -> Enable(TRUE);
	else 
		pCmdUI -> Enable(FALSE);

	if (m_iRow==18)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);	
}
void CSkyblue_RectView::OnUpdateOptionArea3(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd) 
		pCmdUI -> Enable(TRUE);
	else 
		pCmdUI -> Enable(FALSE);

	if (m_iRow==24)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);	
}

void CSkyblue_RectView::OnUpdateOptionArea4(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd) 
		pCmdUI -> Enable(TRUE);
	else 
		pCmdUI -> Enable(FALSE);

	if (m_iRow==30)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);	
}


//用菜單設置區域大小
void CSkyblue_RectView::OnOptionArea1() 
{
	m_iRow = 12;
	m_iCol = 10;
	m_iLarge = 30;
	Invalidate();
}

void CSkyblue_RectView::OnOptionArea2() 
{
	m_iRow = 18;
	m_iCol = 15;
	m_iLarge = 20;
	Invalidate();
}

void CSkyblue_RectView::OnOptionArea3() 
{
	m_iRow = 24;
	m_iCol = 20;
	m_iLarge = 15;
	Invalidate();
}

void CSkyblue_RectView::OnOptionArea4() 
{
	m_iRow = 30;
	m_iCol = 25;
	m_iLarge = 12;
	Invalidate();
}

// 用菜單設置游戲級別 
void CSkyblue_RectView::OnUpdateOptionLevel1(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd) 
		pCmdUI -> Enable(TRUE);
	else 
		pCmdUI -> Enable(FALSE);

	if (m_iLevel == 0)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);
}

void CSkyblue_RectView::OnUpdateOptionLevel2(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd) 
		pCmdUI -> Enable(TRUE);
	else 
		pCmdUI -> Enable(FALSE);

	if (m_iLevel == 1)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);
}

void CSkyblue_RectView::OnUpdateOptionLevel3(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd) 
		pCmdUI -> Enable(TRUE);
	else 
		pCmdUI -> Enable(FALSE);

	if (m_iLevel == 2)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);
}

void CSkyblue_RectView::OnUpdateOptionLevel4(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd) 
		pCmdUI -> Enable(TRUE);
	else 
		pCmdUI -> Enable(FALSE);

	if (m_iLevel == 3)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);
}

void CSkyblue_RectView::OnUpdateOptionLevel5(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd) 
		pCmdUI -> Enable(TRUE);
	else 
		pCmdUI -> Enable(FALSE);

	if (m_iLevel == 4)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);
}

void CSkyblue_RectView::OnUpdateOptionLevel6(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd) 
		pCmdUI -> Enable(TRUE);
	else 
		pCmdUI -> Enable(FALSE);

	if (m_iLevel == 5)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);
}


//用菜單設置游戲級別
void CSkyblue_RectView::OnOptionLevel1() 
{
	m_iLevel = 0;
}

void CSkyblue_RectView::OnOptionLevel2() 
{
	m_iLevel = 1;
}

void CSkyblue_RectView::OnOptionLevel3() 
{
	m_iLevel = 2;
}

void CSkyblue_RectView::OnOptionLevel4() 
{
	m_iLevel = 3;
}

void CSkyblue_RectView::OnOptionLevel5() 
{
	m_iLevel = 4;
}

void CSkyblue_RectView::OnOptionLevel6() 
{
	m_iLevel = 5;
}


//用菜單設置是否有網格
void CSkyblue_RectView::OnUpdateOptionGrid(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd)
		pCmdUI -> Enable(TRUE);
	else
		pCmdUI -> Enable(FALSE);

	if (m_bDrawGrid)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);
}

void CSkyblue_RectView::OnOptionGrid() 
{
	if (m_bDrawGrid)
		m_bDrawGrid = FALSE;
	else
		m_bDrawGrid = TRUE;

	Invalidate();
}

//
//插放背景音樂, 所有錯誤忽略
//
void CSkyblue_RectView::PlayMid()
{
	HWND hWnd;
	hWnd = GetSafeHwnd();
	//分配命令字符串緩沖,錯誤信息儲存緩沖,播放的文件名
	char szCmdBuf[300],errBuf[60],szfileName[255];
	//錯誤碼
	MCIERROR mciError;

	//初始化設備元素
	strcpy(szfileName,"skyblue_rect.mid"); 
	//初始化命令字符串
	wsprintf( szCmdBuf,"open %s type sequencer alias bkMusic",szfileName);
	//打開設備
	mciError = mciSendString( szCmdBuf, errBuf, sizeof(errBuf), NULL);
	if (mciError == 0)
	{//如果打開成功則播放
		mciError = mciSendString("play bkMusic notify",NULL,0, hWnd);
		//根據播放操作是否成功決定是否關閉設備
		if (mciError != 0)
			mciSendString("close bkMusic",NULL,0,NULL);
	}
}

//
//終止插放背景音樂
//
void CSkyblue_RectView::StopMid()
{
	//關閉設備
	mciSendString("close bkMusic",NULL,0,NULL);
}

//用菜單設置是否插放音樂
void CSkyblue_RectView::OnUpdateOptionMusic(CCmdUI* pCmdUI) 
{
	if (m_bGameEnd)
		pCmdUI -> Enable(TRUE);
	else
		pCmdUI -> Enable(FALSE);

	if (m_bMusic)
		pCmdUI -> SetCheck(TRUE);
	else
		pCmdUI -> SetCheck(FALSE);
}

void CSkyblue_RectView::OnOptionMusic() 
{
	if (m_bMusic)
	{
		m_bMusic = FALSE;
		StopMid();
	}
	else
	{
		m_bMusic = TRUE;
		PlayMid();
	}
	
}

void CSkyblue_RectView::OnGameExit() 
{
	//清理內存設備環境,釋放資源
	DCEnvClear();	
}

void CSkyblue_RectView::OnHelpAbout() 
{
	HWND hwnd = ::AfxGetMainWnd()->GetSafeHwnd();

	ShellAbout(hwnd,"俄羅斯方塊  作者:skyblue 風中解碼","E-mail:skyblue@yahoo.com.cn",NULL);	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
jizz一区二区| 精品一区二区在线视频| 欧美激情一区三区| 久久久精品中文字幕麻豆发布| 欧美高清性hdvideosex| 欧美精品在线一区二区三区| 欧美日韩三级在线| 91精品视频网| 日韩精品一区二区三区视频| 欧美大片免费久久精品三p | 国产人成亚洲第一网站在线播放| 精品久久久久99| 国产亚洲欧洲997久久综合| 国产亚洲欧美日韩日本| 国产精品素人一区二区| 亚洲精品乱码久久久久久| 午夜私人影院久久久久| 七七婷婷婷婷精品国产| 高清av一区二区| 972aa.com艺术欧美| 欧洲国产伦久久久久久久| 欧美疯狂做受xxxx富婆| 国产亚洲一区二区三区在线观看| 国产精品久久久久一区二区三区共 | 国产一区二区伦理| 97精品国产露脸对白| 欧美精选在线播放| 欧美激情一区在线| 五月天一区二区三区| 美女网站色91| 91美女片黄在线观看| 91精品国产综合久久小美女| 国产亚洲成aⅴ人片在线观看| 亚洲欧美日韩中文字幕一区二区三区| 五月婷婷综合网| 波多野结衣亚洲| 精品捆绑美女sm三区| 亚洲一区视频在线| 国产精品一区二区视频| 欧美三级在线视频| 1024国产精品| 国产在线视频一区二区三区| 欧美日韩一区二区不卡| 国产欧美一区二区三区在线看蜜臀| 亚洲妇女屁股眼交7| 粉嫩aⅴ一区二区三区四区| 欧美日韩高清一区二区不卡| 中文字幕一区二区三区不卡| 蜜桃久久久久久| 欧美男生操女生| 亚洲欧美日韩国产综合| 国产成人免费网站| 精品国产欧美一区二区| 亚洲成人精品影院| 色菇凉天天综合网| 国产精品成人网| 国产成人午夜精品影院观看视频| 欧美一级日韩不卡播放免费| 一区二区欧美精品| 99re8在线精品视频免费播放| 精品国产乱码久久久久久老虎 | xfplay精品久久| 日韩av电影免费观看高清完整版| 日本道精品一区二区三区| 国产精品乱子久久久久| 成人在线视频一区| 国产日韩影视精品| 国产成人自拍在线| 国产精品网站在线| 成人av动漫在线| 亚洲免费伊人电影| 色综合中文字幕国产 | av一区二区不卡| 欧美激情一二三区| gogo大胆日本视频一区| 中文字幕乱码亚洲精品一区| 国产伦精一区二区三区| 国产欧美精品一区二区色综合朱莉| 久久成人免费网站| 26uuu国产一区二区三区| 国产精品2024| 亚洲色大成网站www久久九九| 99视频精品全部免费在线| 亚洲欧洲综合另类| 在线91免费看| 久久99热这里只有精品| 久久亚洲精品小早川怜子| 国产伦精品一区二区三区视频青涩 | 成人国产在线观看| 一区二区高清视频在线观看| 欧美三级资源在线| 国产真实乱对白精彩久久| 中文在线资源观看网站视频免费不卡| 成人黄色片在线观看| 亚洲国产你懂的| 精品久久久久99| 91性感美女视频| 日韩电影免费一区| 国产精品久久国产精麻豆99网站| 欧美影院一区二区三区| 久久99精品一区二区三区| 日本一区二区三区国色天香| 一本久久精品一区二区| 日韩av在线发布| 国产精品传媒入口麻豆| 欧美人伦禁忌dvd放荡欲情| 国产在线看一区| 亚洲一区视频在线观看视频| 精品动漫一区二区三区在线观看| av不卡免费电影| 狠狠色伊人亚洲综合成人| 亚洲欧美另类小说| 久久综合精品国产一区二区三区 | 国产精品污污网站在线观看| 欧美色手机在线观看| 国v精品久久久网| 日本午夜一本久久久综合| 国产精品久久久久久久久搜平片| 欧美日韩五月天| 99re热视频精品| 国产福利一区在线| 日本免费在线视频不卡一不卡二| 中文字幕一区二区三| 久久久久久久久久看片| 日韩一级成人av| 欧美中文字幕一区二区三区亚洲| 国产精品亚洲а∨天堂免在线| 亚洲成人7777| 日韩伦理电影网| 国产精品三级电影| 久久免费的精品国产v∧| 欧美高清hd18日本| 欧美日韩精品免费| 99久久99久久综合| 成人免费的视频| 国产精品一区二区免费不卡 | 国产精品色婷婷| 精品国产乱码久久久久久免费| 欧美色综合影院| 欧美在线看片a免费观看| 97久久精品人人爽人人爽蜜臀 | 午夜视频在线观看一区二区 | 精品国产精品网麻豆系列| 欧美三级资源在线| 欧美在线免费播放| 91国产丝袜在线播放| 91精彩视频在线观看| 色视频成人在线观看免| 色婷婷综合在线| 欧美在线视频全部完| 欧美性高清videossexo| 91成人在线免费观看| 欧美无人高清视频在线观看| 欧美美女一区二区在线观看| 国产精品一区二区视频| 国产一区在线观看麻豆| 国产高清不卡一区| 成人免费av网站| 91蜜桃在线免费视频| 一本大道久久a久久精品综合| 色屁屁一区二区| 欧美日韩亚洲另类| 日韩一区二区在线看片| 精品国产一区久久| 国产清纯白嫩初高生在线观看91| 中文字幕在线观看不卡| 一区二区国产盗摄色噜噜| 日本欧美久久久久免费播放网| 久久精品噜噜噜成人av农村| 国产一区二区剧情av在线| www.欧美.com| 欧美日韩国产成人在线免费| 日韩欧美一级片| 1024精品合集| 美腿丝袜亚洲综合| 成人一道本在线| 欧美日韩免费不卡视频一区二区三区| 日韩精品资源二区在线| 国产精品亲子乱子伦xxxx裸| 亚洲综合一区二区三区| 久久成人久久爱| 99久久婷婷国产综合精品| 欧美福利一区二区| 中文字幕一区三区| 久久精品国产一区二区三| 成人综合婷婷国产精品久久蜜臀| 欧美性生活久久| 久久久精品一品道一区| 亚洲午夜电影网| 成人国产在线观看| 欧美电影免费观看高清完整版 | 亚洲精品免费在线观看| 麻豆国产一区二区| 色综合视频一区二区三区高清| 欧美一区二区三区视频免费 | 日韩影院精彩在线| 成人动漫一区二区| 久久综合狠狠综合久久激情| 亚洲狠狠丁香婷婷综合久久久| 国产一区二区三区在线看麻豆|