2023/4/18总结

我的项目是五子棋

今天写了一些基本的页面

主菜单页,调用函数运行相关的游戏

void CreatMenu()//建立主菜单
{
	IMAGE img;//数据类型为图像,可用于存储图像的像素信息
	loadimage(&img, L"bj1.jdp", 670, 550);
	putimage(0, 0, &img);//插入图片
	//initgraph(670, 550);
	//loadimage(NULL, L"bj1.jpg");
	//putimage(0, 0, &img);//插入图片
	mciSendString(L"open bgmusic.mp3", 0, 0, 0);
	mciSendString(L"play bgmusic.mp3 repeat", 0, 0, 0);//循环播放背景音乐

	setlinestyle(PS_SOLID, 1);//设置主菜单选项边框为实线,宽度为1像素
	setfillcolor(RGB(187, 128, 96));//设置填充颜色
	setlinecolor(WHITE);//设置线条颜色
	int left = 80, top = 180, right = 300, bottom = 240;
	for (int i = 1;i <= 4;i++)//设置四个主菜单选项边框
	{
		fillrectangle(left, top, right, bottom);
		top += 90, bottom += 90;
	}
	//setfillcolor(RGB(88,88,88));//设置填充颜色
	//fillrectangle(50,50,120,90);
	//settextstyle(30,0,"楷体");//设置字体
	setbkmode(TRANSPARENT);//设置字体背景模式

	settextstyle(50, 0, L"楷体");//设置字体
	setfillcolor(RGB(105, 55, 29));//设置字体颜色,暗棕色
	outtextxy(85, 185, L"双人模式");
	outtextxy(85, 275, L"人机模式");
	outtextxy(85, 365, L"排行榜");
	outtextxy(85, 455, L"退出游戏");

	/*fillrectangle(80, 180, 300, 240);
	fillrectangle(80,270,300,330);
	fillrectangle(80, 360, 300, 420);
	fillrectangle(80, 450, 300, 510);*/
	MOUSEMSG msg;//响应用户的鼠标操作
  while (1)
  { 
    //fillrectangle(50,50,120,90);
	msg = GetMouseMsg();//接收鼠标信息
	if (msg.uMsg == WM_LBUTTONDOWN)//如果鼠标状态为按下左键
	{
		if (msg.x > 80 && msg.x < 300 && msg.y>180 && msg.y < 240)
		{
			//mciSendString(L"play./开始音效.wav", 0,0,0);
			//DoubleGame();//开始双人模式
			break;
		}
		if (msg.x > 80 && msg.x < 300 && msg.y>270 && msg.y < 330)
		{
			//mciSendString(L"play./开始音效.wav", 0, 0, 0);
			//MachineGame();//开始人机模式
			break;
		}
		if (msg.x > 80 && msg.x < 300 && msg.y>360 && msg.y < 420)
		{
			//mciSendString(L"play./开始音效.wav", 0, 0, 0);
			//RankList();//排行榜
			break;
		}
		if (msg.x > 80 && msg.x < 300 && msg.y>450 && msg.y < 510)
		{
			closegraph();//退出游戏
			break;
		}
	}
  }
  system("pause");//暂停程序执行,按任意键继续
}

 画出棋盘,15*15格的标准棋盘,还有相关的提示显示在旁边

void CreatBoard()
{
	setbkcolor(RGB(190, 152, 122));//棋盘颜色,浅棕色
	cleardevice();//清屏
	setlinecolor(BLACK);
	setlinestyle(PS_SOLID, 2);//绘制线条
	rectangle(30, 30, 520, 520);
	int space = 50;//设置棋盘左上角的位置
	setlinestyle(PS_SOLID,1);
	for (int i = 0;i < 16;i++)//绘制棋盘
	{
		line(space, space + i * 30, 500, space + i * 30);//水平线
	}
	for (int i = 0;i < 16;i++)
	{
		line(space + i * 30, space, space + i * 30, 500);//垂直线
	}
	setlinecolor(BLACK);
	setfillcolor(RGB(126, 89, 61));//深咖色
	fillrectangle(540, 270, 650, 310);//绘制矩阵并填充颜色
	fillrectangle(540, 330, 650, 370);
	fillrectangle(540, 390, 650, 430);
	settextstyle(15, 0, L"宋体");//字体大小15,宋体
	settextcolor(WHITE);	
	rectangle(553, 97, 650, 138);
	rectangle(553, 137, 650, 178);
	outtextxy(560, 100, L"P1 白棋");
	outtextxy(560, 120, L"P2 黑棋");
	outtextxy(560, 145, L"Enter键下棋");
	settextstyle(20, 0, L"黑体");//设置字体
	setbkmode(TRANSPARENT);//设置字体背景模式(透明背景)
	settextcolor(BLACK);//设置选项字体颜色
	outtextxy(548, 278, L"按C键求和");
	outtextxy(548, 338, L"按R键悔棋");
	outtextxy(548, 398, L"按B键返回");

	for (int i = 0;i < 16;i++)
	{
		for (int j = 0;j < 16;j++)
		{
			if (map[i][j] == 1)
			{
				setfillcolor(WHITE);
				fillcircle(50 + j * 30, 50 + i * 30, 10);
			}
			if (map[i][j]== 2)
			{
				setfillcolor(BLACK);
				fillcircle(50 + j * 30, 50 + i * 30, 10);
			}
		}
	}
}

你可能感兴趣的:(服务器,运维)