记得以前用c语言在TC2.0上做了一个五子棋程序,画棋盘的时候是这样的
创新互联建站网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都网站设计、成都网站制作,手机APP定制开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联建站深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
假设棋盘为n行m列,每两条线之间的距离是t
int i,j;
for(i=0;in;i+=t)
{
for(j=0;jm;j++)
{
putpixel(i,j,color);
}
}
for(i=0;in;i++)
{
for(j=0;jm;j+=t)
{
putpixel(i,j,color);
}
}
其中的color是颜色,具体怎样定义你可以在网上搜以下putpixel函数的用法。希望能够帮到你。
五子棋棋盘以及下子 怎么画
都是正方形方格,越多越好
五子棋棋盘怎么画
横线竖线垂直相交,就是画方格,数量多多宜善。
五子棋的棋盘怎么画
都是正方形方格,越多越好
五子棋棋盘以及下子 怎么画
如果是用画的方式下子,那么建议16横16竖,围成225个格子,并且标识上横座标ABCD纵座标1234,类似第一象限
五子棋的棋盘怎么绘制
五子棋的棋盘就是方格,用笔后和尺子绘制,如果是在绘图软件里用直线工具,借助标尺就可以绘制了。格子的大小,略大于棋子的大小即可。一般横竖都有20来格就可以了,适当多点更好。
希望采纳。
请问如何用mfc画一个五子棋的棋盘啊?
1、打开VC++ 6.0
2、新建一个MFC AppWizard(exe)的工程,工程名为wuzi
3、点击确定
4、选择单个文档,去掉"文档/查看体系结构支持"复选框
5、点击完成
6、切换到CLassView
7、找到CChildView类下的OnPaint()函数,双击该函数
8、OnPaint()函数代码如下:
void CChildView::OnPaint()
{
CPaintDC dc(this);
CPen bi,*jbi;
bi.CreatePen(PS_DASH,2,RGB(0,255,0)); 创建绿色画笔
jbi=dc.SelectObject(bi); 选择画笔
for(int i=0;i15;i++) 画水平线
{
dc.MoveTo(40,40+i*40);
dc.LineTo(15*40,40+i*40);
}
for(i=0;i15;i++) 画垂直线
{
dc.MoveTo(40+i*40,40);
dc.LineTo(40+i*40,15*40);
}
dc.SelectObject(jbi);
}
9、编译,运行
画五子棋的子,可用以下的画圆的函数,
BOOL Ellipse( int x1, int y1, int x2, int y2 );
或
BOOL Ellipse( LPCRECT lpRect );
补充:
CChildView类没找到,可能因为你没有去掉"文档/查看体系结构支持"复选框。(第4步)
如果不去掉该复选框,选择单个文档,点击完成 ,那么你将看到CWuziView类,切换到CLassView ,找到CWuziView类,右击该类,选择Add Windows Message Handler,弹出一对话框,在左边选择WM_PAINT,双击它或点击右边的Add Handler,再点击Edit Existing,进入到CWuziView::OnPaint()函数,函数代码同上面的第8步。
最后,编译,运行 。
html5五子棋游戏的棋盘怎么画
棋盘用1个 div 作为容器,用 css 一些内边距{padding: 60px;},里面的网格也是用 div 标签,可以用脚本生成,一共输出20*20=400个格子就可以了,方便多了,格子设置样式为{width: 40px; height: 40px; float: left;}
怎样用C画五子棋棋盘
画图的函数:line(a,a,b,b)可以画线。
楼主就知道这一个函数。。。
这个得查函数,定义图形中点的问题我也不会
这个好像有点用:
getpixel
原型:extern int getpixel(int x, int y);
用法:#include
功能:返回屏幕上指定点的状态
说明:(x,y)为屏幕上点的座标,如果点为清除状态返回零,否则返回非零值。
举例:
pixel.c
#include
main()
{
int i,j;
clrscr();
printf("V");
gotoxy(10,10); Hide cursor
for(i=0;i8;i++)
for(j=0;j16;j++)
{
if(getpixel(i,j))
putpixel(10+i,10+j,1);
else
putpixel(10+i,10+j,0);
}
getchar();
return 0;
}
还有配套的:
putpixel
原型:extern void putpixel(int x, int y, int mode);
用法:#include
功能:在屏幕的指定位置上画点
说明:(x,y)为屏幕上点的座标,mode值含义如下:
mode=0:清除(x,y)处的点
1:在(x,y)处画点
2:将(x,y)处的点的状态取反
举例:
pixel.c
#include
main()
{
int i,j;
clrscr();
printf("V");
gotoxy(10,10); Hide cursor
for(i=0;i8;i++)
for(j=0;j16;j++)
{
if(getpixel(i,j))
putpixel(10+i,10+j,1);
else
putpixel(10+i,10+j,0);
}
getchar();
return 0;
}
这些都在 库里,引用的时候必须在开头注明。
再给lz一个示范吧:贪吃蛇。我现在手头就这一个了。
#define N 200
#include
#include
#include
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define DOWN 0x5000
#define UP 0x4800
#define ESC 0x011b
int i,key;
int score=0;/*得分*/
int gamespeed=500000;/*游戏速度自己调整*/
struct Food
{
int x;/*食物的横座标*/
int y;/*食物的纵座标*/
int yes;/*判断是否要出现食物的变量*/
}food;/*食物的结构体*/
struct Sna......
用VISUAL STUDIO 怎么样画出一个五子棋的棋盘?就是放张图片然后把棋子放到格子里面。
gdi+
using System.Drawing;
using System.Drawing.Drawing2D;
可以选择放一个背景图片,bitmap
也可以自己画
怎样用c语言画出五子棋棋盘
************************************************************** C++语言五子棋源程序 ************************************************************* #include
#include
#include
#include
#define backcolor CYAN
#define defaultcolor BLACK
#define linecolor MAGENTA
#define player1_color RED
#define player2_color WHITE
#define error_color RED
#define winner_color RED
const int left=40;
const int top=390;
const int d=30;
const int line_num=9;
const int turn=0;
const int r=d/3;
const int j=10;
int x,y,k=1,step=(line_num+1)*(line_num+1);
union REGS regs1,regs2;
class player1;
class player2;
class qipan{
public:
qipan();
~qipan(){};
void init_qipan();
friend void fall(player1 num1,player2 num2,qipan num);
friend void input(player1 num1,player2 num2,qipan num);
private:
int point[line_num+1][line_num+1];
};
class player1{
public:
player1();
~player1(){};
friend void fall(player1 num1,player2 num2,qipan num);
friend void input(player1 num1,player2 num2);
friend int judge_winner(player1 num1,player2 num2);
private:
int point1[line_num+1][line_num+1];
};
class player2{
public:
player2();
~player2(){};
friend void fall(player1 num1,player2 num2,qipan num);
friend void input(player1 num1,player2 num2,qipan num);
friend int judge_winner(player1 num1,player2 num2);
private:
int point2[line_num+1][line_num+1];
};
void input(player1 num1,player2 num2);
void fal......
************************************************************** C++语言五子棋源程序 ************************************************************* #include graphics.h
#include stdio.h
#include stdlib.h
#include dos.h
#define backcolor CYAN
#define defaultcolor BLACK
#define linecolor MAGENTA
#define player1_color RED
#define player2_color WHITE
#define error_color RED
#define winner_color RED
const int left=40;
const int top=390;
const int d=30;
const int line_num=9;
const int turn=0;
const int r=d/3;
const int j=10;
int x,y,k=1,step=(line_num+1)*(line_num+1);
union REGS regs1,regs2;
class player1;
class player2;
class qipan{
public:
qipan();
~qipan(){};
void init_qipan();
friend void fall(player1 num1,player2 num2,qipan num);
friend void input(player1 num1,player2 num2,qipan num);
private:
int point[line_num+1][line_num+1];
};
class player1{
public:
player1();
~player1(){};
friend void fall(player1 num1,player2 num2,qipan num);
friend void input(player1 num1,player2 num2);
friend int judge_winner(player1 num1,player2 num2);
private:
int point1[line_num+1][line_num+1];
};
class player2{
public:
player2();
~player2(){};
friend void fall(player1 num1,player2 num2,qipan num);
friend void input(player1 num1,player2 num2,qipan num);
friend int judge_winner(player1 num1,player2 num2);
private:
int point2[line_num+1][line_num+1];
};
void input(player1 num1,player2 num2);
void fall(player1 num1,player2 num2,qipan num);
int judge_winner(qipan num,player1 num1,player2 num2);
void inputerror();
void display_winner(int);
void main()
{
int driver=DETECT,mode;
initgraph(driver,mode,"e:\tc30\bgi");
qipan num;
player1 num1;
player2 num2;
while(step--)
{
input(num1,num2,num);
fall(num1,num2,num);
if(judge_winner(num1,num2))
{
display_winner(k);
}
}
// getchar();
}
qipan::qipan(void)
{ int j,i;
char ch[2]="0";
setbkcolor(backcolor);
setcolor(linecolor);
for(i=0;i=line_num;i++)
{
line(left,top-i*d,left+line_num*d,top-i*d);
}
for(i=0;i=line_num;i++)
{
line(left+i*d,top,left+i*d,top-line_num*d);
}
for(i=0;i=line_num;i++)
{ if(*ch=='9'+1) *ch='a';
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(left+i*d-2,top+r+3,ch);
(*ch)=(*ch)+1;
}
*ch='0';
for(i=0;i=line_num;i++)
{if(*ch=='9'+1) *ch='a';
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(left-r-10,top-d*i-3,ch);
(*ch)=(*ch)+1;
}
setcolor(defaultcolor);
for(i=0;i=line_num;i++)
{
for(j=0;j=line_num;j++)
point[i][j]=0;
}
}
void fall(player1 num1,player2 num2,qipan num)
{
int flag=k%2;
if(flag)
{ setcolor(player2_color);
num2.point2[x][y]=1;
num.point[x][y]=2;
circle(left+d*x,top-d*y,r);
setfillstyle(1,player2_color);
floodfill(left+d*x,top-d*y,player2_color);
}
else
{ num1.point1[x][y]=1;
num.point[x][y]=1;
setcolor(player1_color);
circle(left+d*x,top-d*y,r);
setfillstyle(1,player1_color);
floodfill(left+d*x,top-d*y,player1_color);
}
setcolor(defaultcolor);
}
void input(player1 num1,player2 num2,qipan num)
{ char xx,yy;
k++;
while(1)
{
regs1.h.ah=0;
xx=int86(22,®s1,®s1)-'0';
if(xx==('q'-'0')||xx==('Q'-'0'))
{ step=0;
return;
}
regs1.h.ah=0;
yy=int86(22,®s1,®s1)-'0';
if(yy==('q'-'0')||yy==('Q'-'0'))
{
step=0;
return ;
}
if(xx0||xxline_num)
{ inputerror();
continue;
}
if(yy0||yyline_num)
{inputerror();
continue;
}
if(num.point[xx][yy]==0)
{
break;
}
else
{
inputerror();
continue;
}
}
x=(int)xx;
y=(int)yy;
setcolor(backcolor);
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(left+d*line_num/3,top+d*2,"Input error");
setcolor(defaultcolor);
}
player1::player1()
{
int i,j;
for(i=0;i=line_num;i++)
{
for(j=0;j=line_num;j++)
point1[i][j]=0;
}
}
player2::player2()
{ int i,j;
for(i=0;i=line_num;i++)
{
for(j=0;j=line_num;j++)
point2[i][j]=0;
}
}
void inputerror(void)
{ setcolor(error_color);
settextstyle(DEFAULT_FONT,HORIZ_DIR,1);
outtextxy(left+d*line_num/3,top+d*2,"Input error");
setcolor(defaultcolor);
}
int judge_winner(player1 num1,player2 num2)
{
int count=0,m=0,n=0,a=0,b=0,xx0,yy0;
int flag=k%2;
xx0=x; yy0=y;
if(!flag)
{ //left ------- right
while(xx0=1m4) {xx0--;m++;}
while(n9xx0=line_num)
{
if(num1.point1[xx0][y]==1)
{
count++;
if(count==5) return 1;
}
else
{
count=0;
}
n++;
xx0++;
}
//up ------ down
count=0; xx0=x; m=0; n=0;
while(yy0=1m4){yy0--;m++;}
while(n9yy0=line_num)
{
if(num1.point1[x][yy0]==1)
{
count++;
if(count==5)
return 1;
}
else
{
count=0;
}
n++;
yy0++;
}
//left up ----- right down
xx0=x;
yy0=y;
m=0;
n=0;
count=0;
while(xx0=1m4){ xx0--; a++; m++;} m=0;
while(yy0=line_numm4){ yy0++; b++; m++;}
if(a=b)
{
xx0=x-a; yy0=y+a;
}
else
{
xx0=x-b; yy0=y+b;
}
while(xx0=line_numyy0=0n9)
{
if(num1.point1[xx0][yy0]==1)
{
count++;
if(count==5)
return 1;
}
else
{
count=0;
}
xx0++;
yy0--;
n++;
}
//right up ----- left down
count=0;
a=0;
b=0;
n=0;
m=0;
xx0=x;
yy0=y;
while(xx0line_numm4){ xx0++; m++; a++;} m=0;
while(yy0line_numm4){ yy0--; m++; b++; }
if(a=b)
{
xx0=x+a;
yy0=y+a;
}
else
{
xx0=x+b;
yy0=y+b;
}
while(xx0=0yy0=0n9)
{
if(num1.point1[xx0][yy0]==1)
{
count++;
if(count==5)
return 1;
}
else
count=0;
xx0--;
yy0--;
n++;
}
//no winer
return 0;
}
else
{
//left ------- right
while(xx0=1m4) {xx0--;m++;}
while(n9xx0=line_num)
{
if(num1.point1[xx0][y]==1)
{
count++;
if(count==5) return 1;
}
else
{
count=0;
}
n++;
xx0++;
}
//up ------ down
count=0; xx0=x; m=0; n=0;
while(yy0=1m4){yy0--;m++;}
while(n9yy0=line_num)
{
if(num2.point2[x][yy0]==1)
{
count++;
if(count==5)
return 1;
}
else
{
count=0;
}
n++;
yy0++;
}
//left up ----- right down
xx0=x;
yy0=y;
m=0;
n=0;
count=0;
while(xx0=1m4){ xx0--; a++; m++;} m=0;
while(yy0=line_numm4){ yy0++; b++; m++;}
if(a=b)
{
xx0=x-a; yy0=y+a;
}
else
{
xx0=x-b; yy0=y+b;
}
while(xx0=line_numyy0=0n9)
{
if(num2.point2[xx0][yy0]==1)
{
count++;
if(count==5)
return 1;
}
else
{
count=0;
}
xx0++;
yy0--;
n++;
}
//right up ----- left down
count=0;
a=0;
b=0;
n=0;
m=0;
xx0=x;
yy0=y;
while(xx0line_numm4){ xx0++; m++; a++;} m=0;
while(yy0line_numm4){ yy0--; m++; b++; }
if(a=b)
{
xx0=x+a;
yy0=y+a;
}
else
{
xx0=x+b;
yy0=y+b;
}
while(xx0=0yy0=0n9)
{
if(num2.point2[xx0][yy0]==1)
{
count++;
if(count==5)
return 1;
}
else
count=0;
xx0--;
yy0--;
n++;
}
//no winer
return 0;
}
}
void display_winner(int k)
{
int flag=k%2;
if(!flag)
{ setcolor(winner_color);
settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(left+d*2,top+40,"Red is winner");
setcolor(defaultcolor);
step=0;
getchar();
}
else
{ setcolor(winner_color);
settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(left+2*d,top+40,"White is winner");
setcolor(defaultcolor);
step=0;
}
}