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

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

?? piecep~1.cpp

?? 經典的一款俄羅斯方塊-源程序.java.~
?? CPP
字號:
/////////////////////////////////////////////////////////////////////////////
// This file is part of the completely free tetris clone "CGTetris".
//
// This is free software.
// You may redistribute it by any means providing it is not sold for profit
// without the authors written consent.
//
// No warrantee of any kind, expressed or implied, is included with this
// software; use at your own risk, responsibility for damages (if any) to
// anyone resulting from the use of this software rests entirely with the
// user.
/////////////////////////////////////////////////////////////////////////////


// PiecePreview.cpp : implementation file
//

#include "stdafx.h"
#include "tetris.h"
#include "PiecePreview.h"
#include "Piece.h"

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

/////////////////////////////////////////////////////////////////////////////
// CPiecePreview

IMPLEMENT_DYNAMIC(CPiecePreview, CWnd);


BOOL	CPiecePreview :: m_bRegistered = Register();

CPiecePreview::CPiecePreview()
{
	m_pPiece = 0;
	m_clrPiece = RGB(0,0,255);
}

CPiecePreview::~CPiecePreview()
{
}

BOOL CPiecePreview :: Register()
{
	WNDCLASS wc;
	wc.style = CS_GLOBALCLASS | CS_HREDRAW | CS_VREDRAW;
	wc.lpfnWndProc = PiecePreviewWndProc;
	wc.cbClsExtra = 0;
	wc.cbWndExtra = 0;
	wc.hInstance = 0;
	wc.hIcon = 0;
	wc.hCursor = 0;
	wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
	wc.lpszMenuName = 0;
	wc.lpszClassName = TEXT("TetrisPreview");
	VERIFY(RegisterClass(&wc));
	return TRUE;
}

LRESULT CALLBACK PiecePreviewWndProc(HWND hWnd, UINT uiMsg, WPARAM wParam, LPARAM lParam)
{
	switch (uiMsg)									// Dispatch on message type
	{
	case WM_NCCREATE:								// On WM_NCCREATE we create a C++ object and attach it to the control
		{
			CPiecePreview * pCtl = new CPiecePreview();
			ASSERT(pCtl);							// Better not fail!
			BOOL b = pCtl->SubclassWindow(hWnd);	// Attach the window handle to the new object
			ASSERT(b);								// Better not fail!
			return b;								// Return result to continue/abort window creation
			break;
		}
	default:										// All other messages go through default window processor
		return ::DefWindowProc(hWnd, uiMsg, wParam, lParam);
	}
}


BEGIN_MESSAGE_MAP(CPiecePreview, CWnd)
	//{{AFX_MSG_MAP(CPiecePreview)
	ON_WM_NCDESTROY()
	ON_WM_CREATE()
	ON_WM_PAINT()
	ON_WM_MOUSEMOVE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CPiecePreview message handlers

void CPiecePreview::OnNcDestroy() 
{
	CWnd::OnNcDestroy();

	// Make sure the window was destroyed
	ASSERT(NULL == m_hWnd);

	delete this;
}

int CPiecePreview::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	// Set the styles for the parent control
	ModifyStyleEx(0, WS_EX_CLIENTEDGE | WS_EX_NOPARENTNOTIFY);

	return 0;
}

void CPiecePreview::ViewPiece(CPiece * pPiece)
{
	m_pPiece = pPiece;
	Invalidate();
}

void CPiecePreview::OnPaint() 
{
	if( m_pPiece ) {
		CPaintDC dc(this);

		CRect rect;
		GetClientRect(rect);

		COLORREF clrTopLeft = ::GetSysColor(COLOR_BTNHILIGHT);
		COLORREF clrBottomRight = ::GetSysColor(COLOR_BTNSHADOW);

		register const int nLines = m_pPiece->GetLines();
		register const int nCols  = m_pPiece->GetColumns();

		register const int nSquareWidth  = (rect.Width()  / nCols)  - 1;
		register const int nSquareHeight = (rect.Height() / nLines) - 1;

		register const int nHOffset = (rect.Width()  - (nSquareWidth  * nCols )) / 2;
		register const int nVOffset = (rect.Height() - (nSquareHeight * nLines)) / 2;

		for( register int l = nLines-1 ; l >= 0 ; --l )
			for( register int c = 0 ; c < nCols ; ++c )
				if( m_pPiece->IsSquare(nLines-1-l, c) )	{ // have to mirror horizontal ...
					dc.FillSolidRect(nHOffset+(c*nSquareWidth), nVOffset+(l*nSquareHeight), nSquareWidth, nSquareHeight, m_clrPiece);
					dc.Draw3dRect(nHOffset+(c*nSquareWidth), nVOffset+(l*nSquareHeight), nSquareWidth, nSquareHeight, clrTopLeft, clrBottomRight);
				}
	} else
		CWnd::OnPaint();
}

void CPiecePreview::OnMouseMove(UINT nFlags, CPoint point) 
{
	//::SetCursor(0);
	CWnd::OnMouseMove(nFlags, point);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区系列电影| 国产成人精品在线看| 制服丝袜成人动漫| 成人精品小蝌蚪| 国产精品美女www爽爽爽| av一二三不卡影片| 亚洲综合色视频| 国产精品人成在线观看免费| 99久久99久久免费精品蜜臀| 亚洲摸摸操操av| 国产精品综合一区二区三区| 综合网在线视频| 99国产精品国产精品毛片| 亚洲国产日韩精品| 欧美一区二区精品| 国产传媒日韩欧美成人| 丝袜亚洲另类欧美| 国产日韩精品一区二区浪潮av| 国产精品一线二线三线| 国内精品视频666| 丝袜亚洲另类欧美| 国产日韩成人精品| 欧美日韩在线观看一区二区 | 国产精品久久久久毛片软件| 欧美最新大片在线看| 精品一区二区综合| 精品一区二区三区视频| 青青青伊人色综合久久| 欧美一区二区视频在线观看2020 | 精品国产伦一区二区三区观看体验| 精品在线播放免费| 亚洲欧美视频在线观看| 91精品国产91热久久久做人人| 亚洲成人自拍网| 亚洲精品日韩一| 久久看人人爽人人| 欧美性大战久久久| 欧美日本一道本| 不卡欧美aaaaa| 青草av.久久免费一区| 美腿丝袜亚洲一区| 亚洲精品一卡二卡| 久久婷婷国产综合精品青草| 欧美系列亚洲系列| 欧美日韩视频在线观看一区二区三区 | 99久久精品国产毛片| 高清国产一区二区三区| 日本不卡一区二区| 一区二区成人在线| 久久久国产午夜精品| 国产精品免费人成网站| 精品国产污污免费网站入口| 欧美视频精品在线观看| 五月综合激情婷婷六月色窝| 亚洲欧洲精品一区二区三区| www久久久久| 日韩视频一区二区三区在线播放| 欧美一级国产精品| 欧美老肥妇做.爰bbww视频| av一区二区三区四区| 欧美性淫爽ww久久久久无| 成人毛片老司机大片| 国产美女主播视频一区| 成+人+亚洲+综合天堂| 国产精品伊人色| 亚洲妇熟xx妇色黄| 18成人在线观看| 日韩国产欧美在线视频| 亚洲黄一区二区三区| 国产精品乱人伦| 欧美喷潮久久久xxxxx| 欧美午夜精品一区二区三区| 日本福利一区二区| 91一区在线观看| 欧美精品1区2区3区| 欧美精品在欧美一区二区少妇| 色综合色狠狠综合色| 91精品国产综合久久久久久| 欧美日本在线播放| 欧美日韩成人在线一区| 欧美丰满少妇xxxbbb| 久久噜噜亚洲综合| 中文字幕巨乱亚洲| 国产欧美一区二区精品忘忧草| 亚洲精品少妇30p| 亚洲成人精品影院| 日韩精品视频网| 91丨porny丨中文| eeuss鲁片一区二区三区在线观看| 国产精品1024| 精品婷婷伊人一区三区三| 91精选在线观看| 欧美成人女星排行榜| 亚洲国产欧美日韩另类综合| 国产麻豆精品在线| 成人午夜看片网址| 一区二区三区精品| 国产成人在线视频网站| 高清不卡一二三区| 亚洲国产美国国产综合一区二区| 国产精品69久久久久水密桃| 国内精品视频666| av在线一区二区三区| 日韩欧美资源站| 久久综合久久久久88| 日本一区二区不卡视频| 久久电影国产免费久久电影| 国产成人亚洲精品狼色在线| 91丨九色丨黑人外教| 久久久影视传媒| 亚洲丝袜制服诱惑| 天天色综合成人网| 欧美性xxxxxx少妇| 久久久久久久久久久电影| 国产欧美视频在线观看| 麻豆91在线观看| 成人黄色在线网站| 欧美日韩你懂的| 亚洲成av人影院在线观看网| 视频一区视频二区中文| 国产一区二区三区免费播放| 91精品国产高清一区二区三区蜜臀| 久久久www免费人成精品| 亚洲精品伦理在线| 国产欧美一区二区三区在线看蜜臀| 免费成人在线播放| 色综合亚洲欧洲| 欧美顶级少妇做爰| 一区二区三区国产| 国产美女主播视频一区| 成人av电影免费在线播放| 国产精品美女视频| 日本一道高清亚洲日美韩| 欧美又粗又大又爽| 久久伊99综合婷婷久久伊| 亚洲最大的成人av| 国产成人精品免费视频网站| 欧美日韩国产不卡| 国产亚洲欧洲一区高清在线观看| 韩国欧美国产1区| 国产99精品视频| 欧美喷水一区二区| 免费观看91视频大全| 在线观看欧美日本| 中文字幕在线一区| 成人h版在线观看| 久久伊99综合婷婷久久伊| 懂色av一区二区三区蜜臀| 欧美日韩1区2区| 中文成人av在线| 色综合久久中文字幕综合网| 精品国产一区二区三区不卡| 亚洲精品国产第一综合99久久 | 日韩美女一区二区三区| 亚洲一区二区三区国产| 极品尤物av久久免费看| 欧美三级电影在线看| 国产精品久久久久久久久久久免费看 | 成人精品免费网站| 最近日韩中文字幕| 丁香天五香天堂综合| 精品国内二区三区| 国产98色在线|日韩| 精品国精品国产尤物美女| 亚洲成人资源在线| 精品国产区一区| 美女网站在线免费欧美精品| 在线视频中文字幕一区二区| 日本 国产 欧美色综合| 欧美一级视频精品观看| 日日夜夜精品视频天天综合网| 欧美日韩黄色影视| 亚洲综合一区在线| 在线精品视频小说1| 美国毛片一区二区三区| 日韩一区二区三区观看| 国产肉丝袜一区二区| 91色视频在线| 亚洲欧美福利一区二区| 亚洲男人的天堂av| 精品国产一二三| 狠狠色丁香久久婷婷综合_中| 欧美一区二区视频在线观看| 亚洲国产欧美一区二区三区丁香婷| 在线免费观看日韩欧美| 亚洲自拍偷拍麻豆| 欧美揉bbbbb揉bbbbb| 亚洲日本乱码在线观看| 97久久人人超碰| 一区二区三区在线观看动漫| 精品卡一卡二卡三卡四在线| 国产一区二区导航在线播放| 欧美久久久久久蜜桃| 国产91丝袜在线播放| 亚洲丝袜美腿综合| 国产三级一区二区| 国产成人精品免费| 国产欧美日韩精品一区| 欧美性大战久久久久久久蜜臀| 午夜精品久久久久久久|