[51单片机编程编一个输出100kHz的方波程序C语言需要完整程序]100K的方波对51来说要求太高了,尽量不要用,这个程序如果频率不对,对 “TH0=0XF6;//初始值246”这句里的0xf6调整下,向上增加数值会提高精度。 /************************** MCU:S...+阅读
五子棋是我国传统的黑白棋种之一,大约在南北朝时期随围棋一起先后传入朝鲜、日本等地,发展到现代,已经成为一种国际比赛棋。它的棋盘是有15行*15列条线,棋子就放在行列相交的点上,其规则非常简单,只需要黑方或白方在不论横、竖或者斜线方向同时摆满连续的5颗棋子就算赢(规则假设没有禁手)。 编程设计一个计算机智能下五子棋的程序。 编程要求: ①使用图形界面画一个五子棋的棋盘;(10%) ②鼠标和键盘都可以作为游戏者的落子位置选择和实现落子的输入;(20%) ③能在恰当的时机提示输赢结果;(10%) ④实现人-人交战,即两名游戏者使用计算机提供的棋盘进行五子棋游戏;(30%) *⑤实现人-机交战,即一名游戏者与计算机之间进行五子棋游戏,计算机的算法应该具有一定的智能性,并同时考虑到空间与时间复杂度和可行性;(15%) ⑥为方便测试,假设一名游戏者为执黑方,另一名游戏者或计算机为执白方,人-人交战和人-机交战模式可随时进行切换;(10%) ⑦可适当增加“悔棋”等等功能。
(5%) *注:此题的最难之处在于计算机的智能算法,如果暂时不能实现,就先实现其他的界面和功能。在评比的时候根据各队实现的情况来进行相对成绩的打分。如果实现了该算法,则应该通过一系列的测试用例的测试,力争不要让计算机落子很“愚蠢”。
java五子棋课程设计
呵呵,代码自己测试:import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.awt.Color; public class enzit extends Applet implements ActionListener,MouseListener,MouseMotionListener,ItemListener { int color_Qizi=0;//旗子的颜色标识 0:白子 1:黑子 int intGame_Start=0;//游戏开始标志 0未开始 1游戏中 int intGame_Body[][]=new int[16][16]; //设置棋盘棋子状态 0 无子 1 白子 2 黑子 Button b1=new Button("游戏开始"); Button b2=new Button("重置游戏"); Label lblWin=new Label(" "); Checkbox ckbHB[]=new Checkbox[2]; CheckboxGroup ckgHB=new CheckboxGroup(); public void init() { setLayout(null); addMouseListener(this); add(b1); b1.setBounds(330,50,80,30); b1.addActionListener(this); add(b2); b2.setBounds(330,90,80,30); b2.addActionListener(this); ckbHB[0]=new Checkbox("白子先",ckgHB,false); ckbHB[0].setBounds(320,20,60,30); ckbHB[1]=new Checkbox("黑子先",ckgHB,false); ckbHB[1].setBounds(380,20,60,30); add(ckbHB[0]); add(ckbHB[1]); ckbHB[0].addItemListener(this); ckbHB[1].addItemListener(this); add(lblWin); lblWin.setBounds(330,130,80,30); Game_start_csh(); } public void itemStateChanged(ItemEvent e) { if (ckbHB[0].getState()) //选择黑子先还是白子先 { color_Qizi=0; } else { color_Qizi=1; } } public void actionPerformed(ActionEvent e) { Graphics g=getGraphics(); if (e.getSource()==b1) { Game_start(); } else { Game_re(); } } public void mousePressed(MouseEvent e){} public void mouseClicked(MouseEvent e) { Graphics g=getGraphics(); int x1,y1; x1=e.getX(); y1=e.getY(); if (e.getX()300 || e.getY()300) { return; } if (x1%20>10) { x1+=20; } if(y1%20>10) { y1+=20; } x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} public void mouseDragged(MouseEvent e){} public void mouseMoved(MouseEvent e){} public void paint(Graphics g) { draw_qipan(g); } public void set_Qizi(int x,int y) //落子 { if (intGame_Start==0) //判断游戏未开始 { return; } if (intGame_Body[x/20][y/20]!=0) { return; } Graphics g=getGraphics(); if (color_Qizi==1)//判断黑子还是白子 { g.setColor(Color.black); color_Qizi=0; } else { g.setColor(Color.white); color_Qizi=1; } g.fillOval(x-10,y-10,20,20); intGame_Body[x/20][y/20]=color_Qizi+1; if (Game_win_1(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } if (Game_win_2(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } if (Game_win_3(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } if (Game_win_4(x/20,y/20)) //判断输赢 { lblWin.setText(Get_qizi_color(color_Qizi)+"赢了!"); intGame_Start=0; } } public String Get_qizi_color(int x) { if (x==0) { return "黑子"; } else { return "白子"; } } public void draw_qipan(Graphics G) //画棋盘 15*15 { G.setColor(Color.lightGray); G.fill3DRect(10,10,300,300,true); G.setColor(Color.black); for(int i=1;i
五子棋的程序设计
// 程序“五子棋第三方版.exe”运行时,把以前下棋的棋谱保存在“棋谱.txt”文件中,
// 然后调用本程序。
// 本程序的作用是:首先读入以前的棋谱,然后调用函数“qxwz()”计算出计算机应该
// 下棋的位置,并保存在c中,然后把应下棋的位置写入文件“当前棋子.txt”
#include
typedef struct
{
char x;
char y;
} QZ;
QZ qzwz(); //取得应下棋位置,返回值为QZ类型,其中的x,y两个成员代表应下棋位置
char qp[19][19]; //用于保存棋盘上每个点的状态,0--空,1--黑棋,2--白棋
void main()
{
FILE *fp;
int tmp1,tmp2,tmp3;
QZ c;
/* 读入当前棋谱 */
if((fp=fopen("棋谱.txt","r"))==NULL)
{
printf("[棋谱.TXT]文件打开失败!\n");
return;
}
while(!feof(fp))
{
tmp1=tmp2=tmp3=-1;
fscanf(fp,"%d%d%d",&tmp1,&tmp2,&tmp3);
if(tmp3!=-1)
{
qp[tmp1][tmp2]=tmp3;
}
}
fclose(fp);
c=qzwz();
if((fp=fopen("当前棋子.txt","w"))==NULL)
{
printf("[当前棋子.TXT]文件打开失败!\n");
return;
}
fprintf(fp,"%d,%d,%d",c.x,c.y,2); //将应下棋位置传送到文件中
fclose(fp);
}
QZ qzwz()
{
(把这里面的程序补充完整就好了)
} 这个程序要求是:
1。只适用于人先下,机器后下的情况。有了“五子棋第三方版.exe”来制作下棋界面,就只需要编写下棋算法,而不必考虑其它的问题了。
2.当运行“五子棋第三方版.exe”程序时,该程序接受人下棋位置,然后调用“wzq.exe”程序,由“wzq.exe”程序计算出机器的应对并写入到“当前棋子.txt”文件中(结束),机器的应对结果由“五子棋第三方版.exe”负责读入,并等待人下一步的应对。
3.要做的工作就是,完成“wzq.cpp” 中“qxwz()”函数的设计,使之能返回一个比较好的下棋位置。在设计过程中,可以增加全局变量以保存你认为有必要保存的数据,可以增加其它文件,用来保存你认为下次调用还有必要使用的数据,可以增加其它函数以方便下棋位置的计算过程。总之,所给出的“wzq.cpp”程序只是一个框架,在不影响其功能的情况下,可以随意更改。
本文地址:https://www.39baobao.com/show/28_49455.html
以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.
以下为关联文档:
用C语言编一个迷宫程序-# --------### # ## # # ### ----# # #-## # # # #### #### # ## ## #-# ## # # # #---# ## # ## # # # # -# ### ## #### ## # # ----# # # ## # # # ## ### ## -# --# --...
C编程问题:编一个迷宫游戏程序在书找的,只打了个结构体(太多了),我利用stack做的!希望能对你有所帮助!程序如下: typedef struct{ int ord;//通道块的路径上的序号 PosType seat;//通道块在迷宫的坐标位置 int di;/...
如何用C语言编一个归并排序的程序#include "MergeSort.h"#includeusing namespace std;MergeSort::MergeSort(vector_list, int _len){ list.push_back(0); link.push_back(0); for (int i=0; ilen = _len;}//...
用汇编语言程序实现一下C效果mov ax, m mov dx, n cmp ax, dx je label1 jl label2 sub ax, dx jmp label1 label2: sub dx, ax label2: label1: 有点小错误,修改了 mov ax, m mov dx, n cmp ax, dx je l...
C语言编写什么程序可以计算分段函数1、编写如下: //100分制 #include <stdio.h> void main() { int score,t; printf("输入成绩:"); scanf("%d",&score); t=score/10;//t的取值0,1,2,3,4,5,6,7,8,9,10 switch(t) { case...
C程序编译如何编void main() {int T[8],X=0,Y=0,i; for(i=0;i<8;i++) { scanf("%d",&t[i]); if(t[i]%2==0) X++; else Y++; } if(X>Y) printf("B"); else if(X=Y) printf("C"); else printf("A"); }...
c语言程序输入一个小写字母输出他的大写形式怎么编啊?记住编码不太容易,记住 'a' 是 a 的码值, 'A' 是 A 的码值 很容易。 c = c - 'a' + 'A' ; 小写变大写 c = c - 'A' + 'a'; 大写变小写 好记吧! #include int main() { char c; pr...
怎么用C语言编求最大公约数和最小公倍数的程序就发第一个吧,没分没动力。。。 因为2个题目是有联系的,向1楼说的那样#include main() { int a,b,c,i; printf("求2个数的最大公约数 "); printf("输入两个数用空格隔开,再回车: "); scanf...
c语言编个小程序c语言编个小程序,C语言小程序:本题的一个完整c程序如下,win-tc和Dev-c++下已调试通过。其中通用排序函数为void sort() #include "stdio.h" #include "stdlib.h" #include "conio.h"...