急C设计象棋打谱程序的源代码
整理:yaobaiwang.com 时间:07月29日
[JAVA设计的五子棋源程序]java编写五子棋程序:import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.geom.*; import java.util.*; class PaintPanel extends JPanel...+阅读
急C设计象棋打谱程序的源代码
这是一个简单的程序,会自动计算提子,但不会数目。其它的运行一次估计就差不多会用了。稍微写了点注释。 #include#includechar board[21][21]; char move[5][2]=,,,,}; void initBoard();//初始化棋盘 void showBoard();//输出棋盘 char set(int x,int y,char color);//下子 void process(int xx,int yy);//计算提子 int main() { FILE * fptr=NULL; char pufile[256]=; char op; int s; int x,y,r; char color; char win; int cnt; start: s=8; while(s!=1 & s!=2) { printf("选择模式:\n1---下棋\n2---看棋谱\n0---退出\n"); printf("下棋模式下,下子请输入s x y(x,y为位置),认输输入g,和棋输入h\n选择:"); scanf("%d",&s); if(s==0) return 0; //Egg1 if(s==10) printf("Programmer: swordlance :)\n"); //Egg1 end } getchar(); printf("输入棋谱路径:"); gets(pufile); if(s==1) fptr=fopen(pufile,"w"); else fptr=fopen(pufile,"r"); if(!fptr) { printf("文件无法打开(创建)!\n"); system("PAUSE"); return -1; } initBoard(); cnt=0;; while(op!='g') { system("CLS"); showBoard(); printf("(第%d手)",++cnt); if(s==1) { printf("%c 方:",color); scanf("%c",&op); //printf("[%c]",op); if(op=='s') { scanf("%d %d",&x,&y); getchar(); if(set(x,y,color)!=0) { printf("该处不能落子!\n"); cnt--; system("PAUSE"); } else { process(x,y); fprintf(fptr,"%d %d\n",x,y); if(color=='B'); else; } } else if(op=='g') { printf("%c 方认输。
\n",color); if(color=='B') fprintf(fptr,"0 1\n"); else fprintf(fptr,"0 -1\n"); fflush(fptr); fclose(fptr); system("PAUSE"); goto start; } else if(op=='h') { printf("和棋。\n"); fprintf(fptr,"0 0\n"); fflush(fptr); fclose(fptr); system("PAUSE"); goto start; } else { printf("参数错误,下子请输入s x y(x,y为位置),认输输入 g,和棋输入h"); cnt--; system("PAUSE"); } } else { fscanf(fptr,"%d %d",&x,&y); if(x==0) { if(y>0) printf("W 方胜!\n"); else if(y
中国象棋打谱的方法
打棋谱的问题,由于每个人的爱好不同,理解能力不同,可依靠辅助训练的对象和其他条件也不同,不能强一致,但无论是精打、粗打,全面或有选择地打,总的要是不要死板地单纯背谱,而必须把自己摆进去,多动脑筋(必须时还要动手棋),深入领会谱中运子取势、兑子争先、弃子抢攻等妙处,进而学会观察形势和提高下棋的攻守能力,这样才会有收益。不要妄想看了一两本棋谱,就能一下子把比自己水平高的对手击败,须知你懂得一些布局圈套或一些杀着,下棋时不一定用得上,何况你懂别人也懂,打棋谱只能增加理论知识,要真正提高棋艺水平,还要多下棋、拆棋。看棋谱时,没有自己的见解,只是死记硬背,便不能达到触类旁通、举一反三的目的,收不到打谱的效果。举例如下:
(1)炮二平五 马2进3 (2)马二进三 马8进9 (3)车一平二 车9进1 (4)兵七进一 炮8平6 这是“中炮直车对单提马横车”的布局。如果对黑方平士角炮没有疑问,,就继续往下看,假如你认为走车9平4,先过车会更好一些,那就要想想:过车之后,红方有无不利于黑方的走法?不管想出的结果如何,最好带着问题到实战中去找答案,或请教别人。这样得来的结论就比较巩固。黑方如走车9平4,红则兵七进一,卒3进1;炮八平七,车4进1;炮五进四,红方得“空头炮”较优。
(5)炮八进四 象3进5 (6)炮八平五 士4进5 (7)马八进七 车1平4 (8)车九平八 马3进5 (9)炮五进四 车4进7 (10)仕六进五...... 除非懂得这棋局的变化,否则一定会问,为什么弃马?吃哪个马好?吃完之后,红方有什么妙手? 必须带着这些问题多想想,不管想出的结论如何,再往下看。只有这样打谱,才能深刻 领会,运用自如。...
中国象棋如何成为业余高手怎么打谱
首先看你要成为怎样的高手,如果你只是想杀杀周围的朋友或者棋摊老头,个人觉得你只要把精力主要放在开局谱,基本的实用残局会即可。如果想成为市级高手,提高残局水平残局就非常必要了,因为中残才是基本功,是内功。打开局谱的时候切莫贪多急躁,比如你研究中炮对屏风马平炮兑车的时候,就多花些时间和精力研究其中各种分支变化,哪怕研究一两个月也不过分。把它研究透在看别的布局。研究的时候适当的练习和复习也是必要的。当你研究某布局练习的时候就下这种布局,学以致用。下完一盘棋一定要复盘,用软件分析每一步的得失情况,分析这盘棋你赢在哪里输在哪里。再复习一下你学的谱,看看你这盘棋你在哪里脱谱了,只有这样,你学习的东西才能真正掌握。
至于残局谱重在理解每一步的意图,然后还是要多摆摆,多复习。我个人残局功底也不是很好,就不多说了,希望能和你共同进步,谢谢!
象棋棋谱在哪个网上有
象棋乐园: http://.xqpark.com 网站上有
程序名称: XQonHand 中文名称: 掌上棋谱 版本: 1.63c 作者: 胡玉平 最后修订时间:2009年7月19日 说明:写这个程序是为了在手机上查看XQF格式的中国象棋棋谱文件,可以看做是XQStudio1.63的手机简化版本,目标平台是Windows Mobile 5.0中文版。在Windows Mobile 5.0和6.0简体中文版,240x320分辨率的真机上测试可以正常使用,其它系统没有测试。 程序的使用很简单,聪明的朋友一看就知道。文件菜单里“上一个文件”和“下一个文件”的功能在一个目录里有很多棋谱文件时非常好用,就是关闭当前文件,然后打开当前目录的上一个或下一个文件。所谓上一个和下一个文件是系统自动排序的,通常按拼音字母顺序。 程序启动的时候会查找和exe文件在同一目录下的config.txt文件,如果有的话读取配置,没有的话则不处理。 在设置窗口点击“确定”按钮会在exe文件目录里产生config.txt文件,文件格式很简单,每行都有注释。这个版本是完美版。 不但可以打谱,还可以增加删除棋谱记录,输入注释,
以下为关联内容:
俄罗斯方块 Java程序源代码Java俄罗斯方块的源代码能在eclipse上运行的:import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Els extends JFrame implements KeyListene...
一个c语言不用c编的五子棋程序用C语言在linux下编写一个五子棋程序!#include#include#include#include#include#include#define SHURU 1#define FANGXIANG 2#define WUXIAO 0#define TUICHU 3/***********...
谁有五子棋的c程序代码请帮忙分析一下java五子棋中的这段源代码:/*turboc2.0下编译通过*/#include #include #include #include #define N 15#define B 7#define STOP -10000#define OK 1#define N...
高分悬赏五子棋C程序五子棋的程序用C怎么编:#include#include#include#include#define CRRU 0xbf /*右上角点 197*/ #define CRLU 0xda /*左上角点 218*/ #define CRLD 0xc0 /*左下角点 192*/ #d...
C俄罗斯方块程序卡顿跪俄罗斯方块C语言的解析 WINTC的那种:1、如果你用的是vc写的,windows图形界面:检查一下cpu,如果是cpu占满了一个核心说明你程序效率十分低。每下降一格就整个屏幕重刷一次不应...
VB编写中国象棋的源代码VB中国象棋源代码:贴保存棋局和读取棋局部分的,你先看看:Rem 读取棋局Private Sub mnuRead_Click()Dim s As String, i As Integer, tIf Dir(App.Path & "\cchess.che") = "" Then...
JAVA俄罗斯方块程序设计C俄罗斯方块程序:import java.awt.*; import java.awt.event.*; //俄罗斯方块类 public class ERS_Block extends Frame{ public static boolean isPlay=false; public static...
如何用C编写简单的数独程序用java写一个数独游戏:写了个C语言的,供楼主参考:难度可以通过int leave[3]={45,54,63};调整/*****************************************************************************...
JAVA中国象棋程序AIJava版中国象棋人机对战源代码 cchess ......\commons-logging.jar ......\data ......\....\book.txt ......\....\pieceObj ......\META-INF ......\........\MANIFEST.MF...