c语言程序设计五子棋棋盘怎么画,五子棋的棋盘画不出来,求助!!
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#define MAX 20
#define TextWidth 200
#define Time1 1
#define Time2 2
#define times 1
#define NO1 1
#define NO2 2
#define ERROR 0
#define NO 0
#define OK 1
int leng=1;
#define DEFAULT 0;
HDC hdc,hdc1,hdc2;
int xw,yw;
int iGame[MAX][MAX];
POINT point;
enum {Default,Player1,Player2}play;
enum {Stop,Play,Paush}plays;
void Init(HWND hwnd);
void paint(int play,int x,int y);
void chagePlayer();
int Look(int x,int y,int play);
void over(HWND hwnd,int play);
void timechage(HWND hwnd);
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
char szClassName[ ] = "五子棋 -WIN32版";
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nFunsterStil)
{
HWND hwnd;
MSG messages;
WNDCLASSEX wincl;
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof (WNDCLASSEX);
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
if (!RegisterClassEx (&wincl))
return 0;
hwnd = CreateWindowEx (
1,
szClassName,
szClassName,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
800,
600,
HWND_DESKTOP,
NULL,
hThisInstance,
NULL
);
ShowWindow (hwnd, nFunsterStil);
while (GetMessage (&messages, NULL, 0, 0))
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}
return messages.wParam;
}
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
static HPEN hpen,hpen1,hpen2;
static HBRUSH hbrush,hbrush1,hbrush2;
int x,y;
switch (message) /* handle the messages */
{
case WM_KEYDOWN:
switch (wParam)
{
case VK_F5:
Init(hwnd);
Rectangle(hdc,0,0,100,100); //这个没画刷我知道
for(x=0;x
{
for(y=0;y
{
Rectangle(hdc,x*100/MAX,y*100/MAX,(x+1)*100/MAX,(y+1)*100/MAX) ;
//如果改为Rectangle(hdc,x*xw/MAX,y*yw/MAX,(x+1)*xw/MAX,(y+1)*yw/MAX);画不出来小格子啊,为啥??
iGame[x][y]=Default;
}
}
};break;
//case WM_SIZE:x=LOWORD(lParam),y=HIWORD(lParam);
case WM_DESTROY:PostQuitMessage(0);break;
default: /* for messages that we don't deal with */
return DefWindowProc (hwnd, message, wParam, lParam);
}
}
void Init(HWND hwnd)
{
hdc1=GetDC(hwnd);
hdc2=GetDC(hwnd);
//初始背景
SelectObject(hdc,CreatePen(0,1,RGB(255,0,0)));
SelectObject(hdc,CreateSolidBrush(RGB(0,0,0)));
//初始玩家一图形
SelectObject(hdc1,CreatePen(0,1,RGB(0,0,0)));
SelectObject(hdc1,CreateSolidBrush(RGB(0,255,0)));
//初始玩家二图形
SelectObject(hdc2,CreatePen(0,1,RGB(0,0,0)));
SelectObject(hdc2,CreateSolidBrush(RGB(0,0,255)));
SetBkMode(hdc,0);
Rectangle(hdc,xw+1,1,xw+30,yw);
Rectangle(hdc,xw+31,29,xw+200,30);
TextOut(hdc,xw+80,10,"五子棋",6);
TextOut(hdc,xw+45,100,"F2 - 开始游戏",13);
TextOut(hdc,xw+45,120,"F3 - 暂停/继续游戏",18);
TextOut(hdc,xw+45,140,"F5 -重新开始游戏",16);
Rectangle(hdc,xw+31,180,xw+200,181);
TextOut(hdc,xw+49,189," 帮助文档 ",15);
TextOut(hdc,xw+45,210,"*建议最大化窗口游戏",19);
TextOut(hdc,xw+45,240," 1) 按 F2启动游戏",18);
TextOut(hdc,xw+45,260," 2) 鼠标点击棋盘",17);
TextOut(hdc,xw+30,320,"注意:滚动条为限制时间",22);
}
问题1:如果hdc有画刷,只能画出一个大格子,其中的小格子画不出,为啥??rectangle函数有什么特别的地方吗?
c语言程序设计五子棋棋盘怎么画,五子棋的棋盘画不出来,求助!!相关推荐
- c语言程序设计五子棋论文,C语言程序设计 课程设计(论文) 五子棋游戏
内容简介: C语言程序设计 课程设计(论文) 五子棋游戏,正文共21页,4231字. 目 录 第1章 课程设计的目的与要求1 1.1 课程设计目的1 1.2 课程设计的实验环境1 1.3 课程设计的预 ...
- java画五子棋盘_Java实现两人五子棋游戏(二) 画出棋盘
本文为大家分享了java画出五子棋游戏棋盘的方法,供大家参考,具体内容如下 棋盘模块: 画五子棋棋盘:19条横线.19条竖线 步骤一:显示棋盘 我有一张名为chessboard.png的棋盘,位置为根 ...
- C语言大一课设——不会五子棋
大一课程设计--不会五子棋 在编写此次课程设计后,我了解到其实C语言不但可以在黑白色的命令提示符界面进行运行,还可以有很美观的窗口界面.课程设计中我完成了自学EasyX这一图形库内各种函数的使用,不仅 ...
- 关于五子棋程序的实现(一)——画出五子棋盘界面
(一)实现基本界面之前需要知道的 五子棋界面与之前的画图板程序相比功能多了不少,如果对图形界面了解得不是很清晰实现起来将会非常困难.所以在正式开始之前有必要回顾学过的东西. 一. Java的图形界面实 ...
- 【C语言实现】玩家互战五子棋(具体步骤和代码)
文章目录 前言 一.问题描述 二.基本流程 三.步骤 1.构建程序主体框架以及菜单的实现 2.良好的宏定义增强代码可读性 3.构建游戏入口PlayersGame()函数 4.实现打印棋盘函数 5.实现 ...
- 【C语言】-三子棋游戏(+五子棋详细版)
目录 前言 一.三子棋的实现 1.代码实现步骤: 2.模块化代码 二.代码示例及解析 1.game.h 2.test.c(main()函数+game()函数) 3.game.c(实现game()各个功 ...
- c语言五子棋如何添加计时,五子棋教程:计时
计时 你能准确无误地说出五子棋项目的类别归属吗?五子棋等棋类项目属于以棋盘和棋子为中介的人和人之间用智力直接对抗性的体育项目.既然归属体育,那它就不是表演项目,而是比赛项目,所以,我们五子棋爱好者很多 ...
- c语言二重循环的盒图怎么画,全国计算机二级C语言程序设计讲义 循环嵌套.ppt...
全国计算机二级C语言程序设计讲义 循环嵌套 第7讲 循环的嵌套 一.continue 语句和 break 语句 1.continue语句 2.break语句 二.循环的嵌套 三.goto语句 葛挑破隶 ...
- c语言程序设计棋盘不对齐,经典c语言程序设计例(55页)-原创力文档
经典C语言程序设计100例1-10 [程序 1] 题目:有 1 .2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数? 都是多少? 1 .程序分析:可填在百位.十位.个位的数字都是1 .2. ...
最新文章
- python数据结构与算法(13)
- [C][变量作用域]语句块
- mysql导入source注意点
- qt中的菜单QMenu QAction
- java微信公众号支付开发平台_Java微信公众平台开发之公众号支付(微信内H5调起支付)...
- Redis 官方文档译注
- ci框架基础详解(入门学习)
- spring boot全局日期格式化配置
- 如何同步企业微信的标签?
- 全球及中国商业航天产业应用模式探析及投资布局态势分析报告2021-2027年版
- pikachu靶场之暴力破解
- 索尼Xperia XZ1拆机换上听筒和电池
- linux C 基于事件回调的epoll反应堆模型
- Java递归解决老鼠走迷宫问题
- uniapp生成canvas商品海报
- 黑群辉DSM 6.2.3 系统安装
- 市场调研报告-全球与中国关键字研究工具市场现状及未来发展趋势
- 【BZOJ】4355: Play with sequence
- 微软计算机键盘上Tab,电脑键盘上的tab键有什么功能
- Intellij IDEA如何修改文件的打开方式,创建文件添加后缀名无效!始终默认text文件打开