c语言五子棋怎么绘图函数 c语言画五子棋棋盘

如何用VC++绘制棋盘

记得以前用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语言画五子棋棋盘

************************************************************** 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;

}

}


当前标题:c语言五子棋怎么绘图函数 c语言画五子棋棋盘
转载来于:http://ybzwz.com/article/hgsjjs.html