游戏开始界面C++实现3.0

37 篇文章 2 订阅
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
string p=" M!|=.123456789%&_~?Win";
void color(int a)//打印颜色
{
/*亮白*/    if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
/*蓝色*/    if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
/*绿色*/    if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
/*紫色*/    if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
/*红色*/    if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
/*黄色*/    if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
/*深蓝色*/    if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
/*土黄色or金黄色*/    if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN);
/*灰色接近白*/    if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
}

long long numberaio(string n){
    for (int i = 0; i < 100000; i++) {
        if(n[i]=='\0')
        {
            return i;
        }
    }
}
void coutAIO(string b,int happyday = 20,bool truefalse1 = 0){
    int i=0,s=0;
    long long a=numberaio(b);
    while(a!=0){
        s=rand()%9;
        if(a!=0&&s==0)
        {
            color(0);
            cout << b[i];
            a--;
            i++;
        }
        if(a!=0&&s==1)
        {
            color(1);
            cout << b[i];
            a--;
            i++;
        }
        if(a!=0&&s==2)
        {
            color(2);
            cout << b[i];
            a--;
            i++;
        }
        if(a!=0&&s==3)
        {
            color(3);
            cout << b[i];
            a--;
            i++;
        }
        if(a!=0&&s==4)
        {
            color(4);
            cout << b[i];
            a--;
            i++;
        }
        if(a!=0&&s==5)
        {
            color(5);
            cout << b[i];
            a--;
            i++;
        }
        if(a!=0&&s==6)
        {
            color(6);
            cout << b[i];
            a--;
            i++;
        }
        if(a!=0&&s==7)
        {
            color(7);
            cout << b[i];
            a--;
            i++;
        }
        if(a!=0&&s==8)
        {
            color(8);
            cout << b[i];
            a--;
            i++;
        }
        Sleep(happyday);
        
    }
    if(truefalse1!=false){
        system("cls");
        int getch(a);
    }
    
    cout << endl;
}
void ksjm()
{
	system("color f0");
	cout<<"按任意键开始游戏";
	getch();
	system("cls"); 
	for(long long i=1;i<=3;i++)
	{
		system("color 07");
		system("color 10");
		system("color 20");
		system("color 30");
		system("color 40");
		system("color 50");
		system("color 60");
		system("color 70");
		system("color 80");
		system("color 90");
		system("color a0");
		system("color b0");
		system("color c0");
		system("color d0");
		system("color e0");
		system("color f0");
	}
	cout<<"\n\n\n\n\n\n\n\n\n\n\n                                                      ";
	coutAIO("走迷宫",2);
	cout<<"\n";
	cout<<"                                                   ";
	coutAIO("出品:饼干,修改:努力的AIO",5);
	Sleep(1500);
} 
int start()
{
	system("cls");
	cout << "□□□□□□■□□□□□□□□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□■■□□□□□□□□□□□□□□□□□■□□" << endl;
	cout << "□□□□□□■■■□□□□□□□□□□□□□□□■■□□" << endl;
	cout << "□□□■■■■■■■■■■■■■■■□□□□■■■■□□" << endl;
	cout << "□□■□■□■□■□■□■□■□■□■■■■■■■■□□" << endl;
	cout << "□□□■■■■■■■■■■■■■■■■■■■■■■□□□" << endl;
	cout << "□□□□□□□□■■■■■□□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□■■■■■□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□■■■□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□□■■■□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□□□■■■□□□□□□□□□□□□" << endl;
	coutAIO("一天,你坐着飞机,正打算去美国...",30);
	Sleep(1000);
	system("cls");
	cout << "□□□□□□■□□□□□□□□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□■■□□□□□□□□□□□□□□□□□■□□" << endl;
	cout << "□□□□□□■■■□□□□□□□□□□□□□□□■■□□" << endl;
	cout << "□□□■■■■■■■■■■■■■■■□□□□■■■■□□" << endl;
	cout << "□□■□■□■□■□■□■□■□■□■■■■■■■■□□" << endl;
	cout << "□□□■■■■■■■■■■■■■■■■■■■■■■□□□" << endl;
	cout << "□□□□□□□□■■■■■□□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□■■■■■□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□■■■□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□□■■■□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□□□■■■□□□□□□□□□□□□" << endl;
	coutAIO("一边看着电影,一边喝着饮料",30);
	Sleep(1000);
	system("cls");
	cout << "□□□□□□■□□□□□□□□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□■■□□□□□□□□□□□□□□□□□■□□" << endl;
	cout << "□□□□□□■■■□□□□□□□□□□□□□□□■■□□" << endl;
	cout << "□□□■■■■■■■■■■■■■■■□□□□■■■■□□" << endl;
	cout << "□□■□■□■□■□■□■□■□■□■■■■■■■■□□" << endl;
	cout << "□□□■■■■■■■■■■■■■■■■■■■■■■□□□" << endl;
	cout << "□□□□□□□□■■■■■□□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□■■■■■□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□■■■□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□□■■■□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□□□■■■□□□□□□□□□□□□" << endl;
	coutAIO("突然,飞机开始颠簸,你手中饮料摔到了地上,洒了一地",30);
	Sleep(1000);
	system("cls");
	cout << "□□□□□□□□□□□□□□□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□■■■■□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□■■■■■■■■□□□□□□□□□□□" << endl;
	cout << "□□□□■■■■■■□□■■□□■■■■■■□□□□□□" << endl;
	cout << "□□□□□□□□□■■■■■■■■□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□■■■■■■□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□□■■□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□□□□□□□□□□□□□□□□□□" << endl;
	coutAIO("一秒钟后,飞机开始往下坠落",30);
	Sleep(1000);
	system("cls");
	cout << "□□□□□□□□□□□□□□□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□■■■■□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□■■■■■■■■□□□□□□□□□□□" << endl;
	cout << "□□□□■■■■■■□□■■□□■■■■■■□□□□□□" << endl;
	cout << "□□□□□□□□□■■■■■■■■□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□■■■■■■□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□□■■□□□□□□□□□□□□□□" << endl;
	cout << "□□□□□□□□□□□□□□□□□□□□□□□□□□□□" << endl;
	coutAIO("行李架上的行李掉了下来,砸中了你,你眼前一黑,昏了过去...",30);
	Sleep(1000);
	system("cls");
	Sleep(3000);
	coutAIO("醒来后,你发现你躺在石头上。");
	getch();
	return 0;
}
void start(int n)
{
	system("cls");
    cout<<"加载中请稍等";
    Sleep(1000);
    system("cls");
	for (int i=1;i<=n; i++)
	{
		cout<<"加载中."<<endl;
		cout<<"▏";
		Sleep(20);
		system("cls");
		cout<<"加载中.."<<endl;
		cout<<"▎";
		Sleep(20);
		system("cls");
		cout<<"加载中..."<<endl;
		cout<<"▍";
		Sleep(20);
		system("cls");
		cout<<"加载中."<<endl;
		cout<<"▋";
		Sleep(20);
		system("cls");
		cout<<"加载中.."<<endl;
		cout<<"▊";
		Sleep(20);
		system("cls");
		cout<<"加载中..."<<endl;
		cout<<"▉";
		Sleep(20);
		system("cls");
		cout<<"加载中."<<endl;
		cout<<"▉▏";
		Sleep(20);
		system("cls");
		cout<<"加载中.."<<endl;
		cout<<"▉▎";
		Sleep(20);
		system("cls");
		cout<<"加载中..."<<endl;
		cout<<"▉▍";
		Sleep(20);
		system("cls");
		cout<<"加载中."<<endl;
		cout<<"▉▌";
		Sleep(20);
		system("cls");
		cout<<"加载中.."<<endl;
		cout<<"▉▋";
		Sleep(20);
		system("cls");
		cout<<"加载中..."<<endl;
		cout<<"▉▊";
		Sleep(20);
		system("cls");
		cout<<"加载中."<<endl;
		cout<<"▉▉";
		Sleep(20);
		system("cls");
		cout<<"加载中.."<<endl;
		cout<<"▉▉▏";
		Sleep(20);
		system("cls");
		cout<<"加载中..."<<endl;
		cout<<"▉▉▎";
		Sleep(20);
		system("cls");
		cout<<"加载中."<<endl;
		cout<<"▉▉▍";
		Sleep(20);
		system("cls");
		cout<<"加载中.."<<endl;
		cout<<"▉▉▌";
		Sleep(20);
		system("cls");
		cout<<"加载中..."<<endl;
		cout<<"▉▉▋";
		Sleep(20);
		system("cls");
		cout<<"加载中."<<endl;
		cout<<"▉▉▊";
		Sleep(20);
		system("cls");
		cout<<"加载中.."<<endl;
		cout<<"▉▉▉▏";
		Sleep(20);
		system("cls");
		cout<<"加载中..."<<endl;
		cout<<"▉▉▉▎";
		Sleep(20);
		system("cls");
		cout<<"加载中."<<endl;
		cout<<"▉▉▉▍";
		Sleep(20);
		system("cls");
		cout<<"加载中.."<<endl;
		cout<<"▉▉▉▌";
		Sleep(20);
		system("cls");
		cout<<"加载中..."<<endl;
		cout<<"▉▉▉▋";
		Sleep(20);
		system("cls");
		cout<<"加载中."<<endl;
		cout<<"▉▉▉▋";
		Sleep(20);
		system("cls");
		cout<<"加载中.."<<endl;
		cout<<"▉▉▉▊";
		Sleep(20);
		system("cls");
		cout<<"加载中..."<<endl;
		cout<<"▉▉▉▉";
		Sleep(20);
		system("cls");
	}
	coutAIO("加载完成!请等待十秒",4);
    Sleep(2000);
    system("cls");
    Sleep(8000);
    ksjm();
    start();
}
void tc()//关闭界面
{
	system("cls");
	cout<<"\n\n\n\n\n                    欢迎下次再玩,拜拜!!!\n";
	cout<<"                    原作:\n";
	cout<<"                  (按空格结束)";
	long long ok='\0';
	while(ok=getch(),ok!=' ');
	system("cls");
	return ;
}
void hf()//皮肤
{
    int r,jg;
	char t='\0';
	while(t!=' ')
	{
		system("cls");
		cout<<"\n\n\n\n	    			   	A D键换皮肤    空格确定\n\n";
		cout<<"\n\n\n\n						  "<<p[r]<<"\n";
		t=getch();
		if(t=='a')r--;
		else
		if(t=='d')r++;
		if(r<1)r=jg;
		if(r>jg)r=1;
	}
	system("cls");
	return ;
}
void sm()//说明
{
	system("cls");
	cout<<"\n\n		说明:\n\n\n";
	cout<<"					按空格开始游戏后\n";
	cout<<"					  W\n";
	cout<<"					A S D   移动\n";
	cout<<"			按空格继续···";
	long long ok='\0';
	while(ok=getch(),ok!=' ');
	system("cls");
	return ;
}
void sd()//商店,可删除可不删
{
	system("cls");
	cout<<"\n\n		欢迎来到【X2G超市】!你想买什么?\n\n\n";
	cout<<"			   		1.加血羹(加满血,花20金币)\n\n\n";
	cout<<"			   		2.复活券\n\n\n";
	int what;
	cin>>what;
	if(what==1){
	    
	}
	system("cls");
	return ;
}

void full_screen()
{   
    HWND hwnd = GetForegroundWindow();
    int cx = GetSystemMetrics(SM_CXSCREEN);            /* 屏幕宽度 像素 */
    int cy = GetSystemMetrics(SM_CYSCREEN);            /* 屏幕高度 像素 */

    LONG l_WinStyle = GetWindowLong(hwnd,GWL_STYLE);   /* 获取窗口信息 */
    /* 设置窗口信息 最大化 取消标题栏及边框 */
    SetWindowLong(hwnd,GWL_STYLE,( l_WinStyle |WS_MAXIMIZE| WS_POPUP) & ~WS_CAPTION & ~WS_THICKFRAME & ~WS_BORDER);//  
    SetWindowPos(hwnd, HWND_TOP, 0, 0, cx, cy, 0);
}
void hys()//背景
{
	system("cls");
	cout<<"\n\n\n\n\n\n\n\n\n按1【日间色】\n";
	cout<<"按2【夜间色】\n";
	cout<<"按3【黑客】\n";
	cout<<"按4【科幻】\n";
	cout<<"按5【紫水晶】\n";
	char s;
	s=getch();
	while(s!='1'&&s!='2'&&s!='3'&&s!='4'&&s!='5')s=getch();
	switch(s-'0')
	{
		case 1:
			system("color f0");
			break;
		case 2:
			system("color 0f");
			break;
		case 3:
			system("color 0a");
			break;
		case 4:
			system("color 09");
			break;
		case 5:
			system("color 01");
			break;
	}
	system("cls");
	return ;
}
int main()
{
    srand((unsigned)time(NULL));
    system("title 游戏名");
	system("color f0");
	coutAIO("要不要全屏(推荐全屏)?输入要或不要");
	string ytytyty;
	cin>>ytytyty;
	if (ytytyty=="要") {
		full_screen();
	}
	coutAIO("你眼里作者们帅不帅?",3);
    string a;
    cin >> a;
    if(a=="quasmajshsuhsjashasznjajazuozheshuaibi!shagsyqshqsyuqhsush&^$@$%^&*^#@!@#$%^&*()*&^%$#@!@#$%^&*(~!!!!!!!"||a=="我是作者你是神魔人"||a=="SBisme"||a=="帅死了helaxnhsnahaioshuwhsjsjajshuwhsuqu%^#"){
        coutAIO("哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈……");
        Sleep(1000);
        system("cls");
        coutAIO("哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈……");
        Sleep(1000);
        system("cls");
        coutAIO("竟然知道密码?这只是个样子而已,快退出吧!不然我放病毒了!给你五秒钟");
        Sleep(5000);
        system("cls");
	    if ( MessageBox(NULL, "我再问一句,你是不是聪明的?","问题", MB_ICONQUESTION|MB_YESNO) == IDYES );
	    else{
	        coutAIO("你也太不自信了吧!",3,1);
	        return 0;
	    }
		if (MessageBox (NULL, "你想玩下大神做的游戏么?我现在不放病毒,给你一个机会(胆小慎入,可能有病毒哦~)", "作者们", MB_YESNO) == IDYES) {
		    coutAIO("能闯过前面的关卡,你是个大胆、有自信、又懂代码的人!",30,1);
		}
		else {
		    coutAIO("胆小鬼!",3,1);
			return 0;
		}
        coutAIO("游戏正式开始!!!!!",5);
    }
    else{
        coutAIO("不会暗号的一边去!!!!!!!!!!!!!!");
        goto dad;
    }
    startone:
    start(4);
	dad:
    return 0;
}

C++写的一个简单的界面演示系统 void CMiniDrawDoc::AddFigure (CFigure *PFigure) { m_FigArray.Add (PFigure); SetModifiedFlag (); } CFigure *CMiniDrawDoc::GetFigure (int Index) { if (Index m_FigArray.GetUpperBound ()) return 0; return (CFigure *)m_FigArray.GetAt (Index); } int CMiniDrawDoc::GetNumFigs () { return m_FigArray.GetSize (); } void CMiniDrawDoc::DeleteContents() { // TODO: Add your specialized code here and/or call the base class int Index = m_FigArray.GetSize (); while (Index--) delete m_FigArray.GetAt (Index); m_FigArray.RemoveAll (); CDocument::DeleteContents(); } void CMiniDrawDoc::OnEditClearAll() { // TODO: Add your command handler code here DeleteContents (); UpdateAllViews (0); SetModifiedFlag (); } void CMiniDrawDoc::OnUpdateEditClearAll(CCmdUI* pCmdUI) { // TODO: Add your command update UI handler code here pCmdUI->Enable (m_FigArray.GetSize ()); } void CMiniDrawDoc::OnEditUndo() { // TODO: Add your command handler code here int Index = m_FigArray.GetUpperBound (); if (Index > -1) { delete m_FigArray.GetAt (Index); m_FigArray.RemoveAt (Index); } UpdateAllViews (0); SetModifiedFlag (); } void CMiniDrawDoc::OnUpdateEditUndo(CCmdUI* pCmdUI) { // TODO: Add your command update UI handler code here pCmdUI->Enable (m_FigArray.GetSize ()); } // implementation of figure classes: IMPLEMENT_SERIAL (CFigure, CObject, 3) CRect CFigure::GetDimRect () { return CRect (min (m_X1, m_X2), min (m_Y1, m_Y2), max (m_X1, m_X2) + 1, max (m_Y1, m_Y2) + 1); } void CFigure::Serialize (CArchive& ar) { if (ar.IsStoring ()) ar << m_X1 << m_Y1 << m_X2 << m_Y2 <> m_X1 >> m_Y1 >> m_X2 >> m_Y2 >> m_Color; } IMPLEMENT_SERIAL (CLine, CFigure, 3) CLine::CLine (int X1, int Y1, int X2, int Y2, COLORREF Color, int Thickness) { m_X1 = X1; m_Y1 = Y1; m_X2 = X2; m_Y2 = Y2; m_Color = Color; m_Thickness = Thickness; } void CLine::Serialize (CArchive& ar) { CFigure::Serialize (ar); if (ar.IsStoring ()) ar <> m_Thickness; } void CLine::Draw (CDC *PDC) { CPen Pen, *POldPen; // select pen/brush: Pen.CreatePen (PS_SOLID, m_Thickness, m_Color); POldPen = PDC->SelectObject (&Pen); // draw figure: PDC->MoveTo (m_X1, m_Y1); PDC->LineTo (m_X2, m_Y2); // remove pen/brush: PDC->SelectObject (POldPen); } IMPLEMENT_SERIAL (CRectangle, CFigure, 3) CRectangle::CRectangle (int X1, int Y1, int X2, int Y2, COLORREF Color, int Thickness) { m_X1 = X1; m_Y1 = Y1; m_X2 = X2; m_Y2 = Y2; m_Color = Color; m_Thickness = Thickness; } void CRectangle::Serialize (CArchive& ar) { CFigure::Serialize (ar); if (ar.IsStoring ()) ar <> m_Thickness; } void CRectangle::Draw (CDC *PDC) { CPen Pen, *POldPen; // select pen/brush: Pen.CreatePen (PS_INSIDEFRAME, m_Thickness, m_Color); POldPen = PDC->SelectObject (&Pen); PDC->SelectStockObject (NULL_BRUSH); // draw figure: PDC->Rectangle (m_X1, m_Y1, m_X2, m_Y2); // remove pen/brush: PDC->SelectObject (POldPen); } IMPLEMENT_SERIAL (CRectFill, CFigure, 3) CRectFill::CRectFill (int X1, int Y1, int X2, int Y2, COLORREF Color) { m_X1 = min (X1, X2); m_Y1 = min (Y1, Y2); m_X2 = max (X1, X2); m_Y2 = max (Y1, Y2); m_Color = Color; } void CRectFill::Draw (CDC *PDC) { CBrush Brush, *POldBrush; CPen Pen, *POldPen; // select pen/brush: Pen.CreatePen (PS_INSIDEFRAME, 1, m_Color); POldPen = PDC->SelectObject (&Pen); Brush.CreateSolidBrush (m_Color); POldBrush = PDC->SelectObject (&Brush); // draw figure: PDC->Rectangle (m_X1, m_Y1, m_X2, m_Y2); // remove pen/brush: PDC->SelectObject (POldPen); PDC->SelectObject (POldBrush); } IMPLEMENT_SERIAL (CRectRound, CFigure, 3) CRectRound::CRectRound (int X1, int Y1, int X2, int Y2, COLORREF Color, int Thickness) { m_X1 = min (X1, X2); m_Y1 = min (Y1, Y2); m_X2 = max (X1, X2); m_Y2 = max (Y1, Y2); m_Color = Color; m_Thickness = Thickness; } void CRectRound::Serialize (CArchive& ar) { CFigure::Serialize (ar); if (ar.IsStoring ()) ar <> m_Thickness; } void CRectRound::Draw (CDC *PDC) { CPen Pen, *POldPen; // select pen/brush: Pen.CreatePen (PS_INSIDEFRAME, m_Thickness, m_Color); POldPen = PDC->SelectObject (&Pen); PDC->SelectStockObject (NULL_BRUSH); // draw figure: int SizeRound = (m_X2 - m_X1 + m_Y2 - m_Y1) / 6; PDC->RoundRect (m_X1, m_Y1, m_X2, m_Y2, SizeRound, SizeRound); // remove pen/brush: PDC->SelectObject (POldPen); } IMPLEMENT_SERIAL (CRectRoundFill, CFigure, 3) CRectRoundFill::CRectRoundFill (int X1, int Y1, int X2, int Y2, COLORREF Color) { m_X1 = min (X1, X2); m_Y1 = min (Y1, Y2); m_X2 = max (X1, X2); m_Y2 = max (Y1, Y2); m_Color = Color; } void CRectRoundFill::Draw (CDC *PDC) { CBrush Brush, *POldBrush; CPen Pen, *POldPen; // select pen/brush: Pen.CreatePen (PS_INSIDEFRAME, 1, m_Color); POldPen = PDC->SelectObject (&Pen); Brush.CreateSolidBrush (m_Color); POldBrush = PDC->SelectObject (&Brush); // draw figure: int SizeRound = (m_X2 - m_X1 + m_Y2 - m_Y1) / 6; PDC->RoundRect (m_X1, m_Y1, m_X2, m_Y2, SizeRound, SizeRound); // remove pen/brush: PDC->SelectObject (POldPen); PDC->SelectObject (POldBrush); } IMPLEMENT_SERIAL (CCircle, CFigure, 3) CCircle::CCircle (int X1, int Y1, int X2, int Y2, COLORREF Color, int Thickness) { m_X1 = min (X1, X2); m_Y1 = min (Y1, Y2); m_X2 = max (X1, X2); m_Y2 = max (Y1, Y2); m_Color = Color; m_Thickness = Thickness; } void CCircle::Serialize (CArchive& ar) { CFigure::Serialize (ar); if (ar.IsStoring ()) ar <> m_Thickness; } void CCircle::Draw (CDC *PDC) { CPen Pen, *POldPen; // select pen/brush: Pen.CreatePen (PS_INSIDEFRAME, m_Thickness, m_Color); POldPen = PDC->SelectObject (&Pen); PDC->SelectStockObject (NULL_BRUSH); // draw figure: PDC->Ellipse (m_X1, m_Y1, m_X2, m_Y2); // remove pen/brush: PDC->SelectObject (POldPen); } IMPLEMENT_SERIAL (CCircleFill, CFigure, 3) CCircleFill::CCircleFill (int X1, int Y1, int X2, int Y2, COLORREF Color) { m_X1 = min (X1, X2); m_Y1 = min (Y1, Y2); m_X2 = max (X1, X2); m_Y2 = max (Y1, Y2); m_Color = Color; } void CCircleFill::Draw (CDC *PDC) { CBrush Brush, *POldBrush; CPen Pen, *POldPen; // select pen/brush: Pen.CreatePen (PS_INSIDEFRAME, 1, m_Color); POldPen = PDC->SelectObject (&Pen); Brush.CreateSolidBrush (m_Color); POldBrush = PDC->SelectObject (&Brush); // draw figure: PDC->Ellipse (m_X1, m_Y1, m_X2, m_Y2); // remove pen/brush: PDC->SelectObject (POldPen); PDC->SelectObject (POldBrush); }
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值