<=r*r || pow(qx-x-tx/2,2)+pow(qy-y+ty/2,2)<=r*r || pow(qx-x+tx/2,2)+pow(qy-y-ty/2,2)<=r*r || pow(qx-x-tx/2,2)+pow(qy-y-ty/2,2)<=r*r) {flag=-flag; zhuan[gi]=zhuan[gi]|l; sum-=1; if(sum==0) {printf("Win!\n");getch();goto star;} setfillstyle(1, 0); bar((jx+tx)*i+pianx+jx,(jy+ty)*j+piany+jy,(jx+tx)*i+pianx+jx+tx,(jy+ty) *j+piany+jy+ty); } }l=l*2;}} /*棍棒的反弹*/ if(qx<=mx+bx/2 && qx>=mx-bx/2 && pow(qy+r-my,2)<1) {k=-(k/pow(k*k,0.5))*(0.3*bx/(pow(pow (qx-mx,2),0.5)+0.000001));} if((int)(qy+r)>my+0.5) {printf("DEAD!");Setmouse(0,0,640,480);getch();exit(1);} b=qy-qx*k; if(flag==1) qx=qx+speech/pow(1.0+k*k,0.5); if(flag==-1) qx=qx-speech/pow(1.0+k*k,0.5); qy=qx*k+b;/*计算球心坐标*/ setcolor(14); circle((int)qx,(int)qy,r); delay(1); if(mb==1) {Setmouse(0,0,640,480);exit(1);} } } /*这个函数用于实现鼠标的初始化*/ int Msinit() {int recored; regs.x.ax=0; int86 (0x33, & regs, & regs); recored=regs.x.ax; if(recored==0) {printf("Mouse not foundd or Mouse driver not installed.\n"); return 0; } else return recored; } /*下面的函数用于实现设置鼠标的移动范围*/ void Setmouse(int left,int right,int top,int buttom) { regs.x.ax=7; regs.x.cx=left; regs.x.dx=right; int86(0x33,& regs,& regs); regs.x.ax=8; regs.x.cx=top; regs.x.dx=buttom; int86(0x33,& regs,& regs); } /*下面这个函数用于实现鼠标的读取*/ int Msread(int *xp,int *yp,int *bup) {int xnew,ynew,ch; if(kbhit()) return getch(); regs.x.ax=3; int86(0x33,& regs,& regs); xnew=regs.x.cx; ynew=regs.x.dx; *bup=regs.x.bx; *xp=xnew; *yp=ynew; return -1; } /*下面这个子程序是完成描绘一个按钮*/ void Draw(int x,int y,int sizex,int sizey)/* x, y为左上角坐标sizex,sizey为长和宽*/ {int sizx=sizex-1; int sizy=sizey-1; setcolor(15);/*这里最好用白色*/ line(x,y,x+sizx-1,y); line(x,y+1,x+sizx-2,y+1); line(x,y,x,y+sizy-1); line(x+1,y,x+1,y+sizy-2); setcolor(8);/*这里最好用深灰色*/ line(x+1,y+sizy,x+sizx,y+sizy); line(x+2,y+sizy-1,x+sizx,y+sizy-1); line(x+sizx-1,y+1,x+sizx-1,y+sizy); line(x+sizx,y+2,x+sizx,y+sizy); setcolor(7);/*这里最好用灰色*/ putpixel(x,y+sizy,3); putpixel(x+1,y+sizy-1,3); putpixel(x+sizx,y,3); putpixel(x+sizx-1,y+1,3); setfillstyle(1, 7);/*这里最好用灰色,设置填充模式*/ bar(x+2,y+2,x+sizx-2,y+sizy-2); } 参考资料: 。
4.用C语言怎样做一个五子棋的程序为整个棋盘建立一张表格用以记录棋子信息,使用一个15*15的二维数组 chessman[15][15] (15*15是五子棋棋盘的大小),数组的每一个元素对应棋盘上的一个交叉点,用“0”表示空位、“1”代表己方棋子、“2”代表对方棋子 。这张表也是今后分析的基础 。其次要建立一个结构,主要用于搜索过程中,定义如下:
typedef struct five_chess* point;
struct five_chess{
int x;
int y;
int layer;
int value;
int score;
int chess[LENGTH][LENGTH];
int record[LENGTH][LENGTH];
};
这个上面
,user; char c; srand((unsigned)time(NULL)); //初始化随机数,如果没有这条语句,每次运行电脑产生的随机数序列都是一样的 printf("进入游戏\n"); do{ printf("请出拳(1.剪刀、2.石头、3.布):"); scanf("%d",&user); com=rand()%3+1; //产生1-3范围内的随机数 printf("电脑出%s\n",com==1?"剪刀":com==2?"石头":"布"); switch(com-user) //用电脑产生的数和用户输入的数的差值来判断胜负 { case 0:printf("平手\n"); break; case 1:case -2:printf("电脑赢了\n"); break; case -1:case 2:printf("你赢了\n"); } printf("继续游戏按Y键、其它键退出"); getchar(); c=getchar(); }while(c=='y' || c=='Y'); printf("已经退出游戏"); } 扩展资料 C++编程: 石头剪子布#include
- 油菜花是什么意思 油菜花是什么意思网络用语
- 电脑打字打不出来 电脑打字打不出来字只有字母
- 怎样上淘宝网购物 如何使用淘宝购物
- 赛尔号雷纳多在哪 赛尔号雷伊雷纳多怎么打?
- 打开qq空间 电脑无法打开qq空间
- 仿真菜 仿真菜是用什么材料做的
- 花生仁的功效与作用 花生仁的作用与功效吃法大全
- *** 次数:888888 已用完请联系开发者***bullshit什么意思
- 支付宝怎么办理 支付宝怎么办理信用卡
- 感叹号怎么打 键盘感叹号怎么打
