博文

农历公历换算(ZT)(2005-08-08 11:04:00)

摘要:完全是标准的c函数,不过我在vc下写的,。相信移植没问题。 另外,我还用php写了一遍。 /************************************************* 计算阴历日期 范围从2000/02/05开始的20年 代码实现:耙子 2001/08/17 最后修订: 2001/08/18 **************************************************/ #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> typedef unsigned int DWORD; /************************************************** sLunar: 返回阴历日期字符串 dwDays: 所求日期距离 2000/02/05的天数差 **************************************************/ void Lunar2Solar(char *sLunar, const DWORD dwDays) { const char sTG[][3]= {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"}; const char sDZ[][3]= {"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"}; const char sSX[][3]= {"鼠","牛","虎","兔",&qu......

阅读全文(7273) | 评论:0

五子棋AI(IV)(2005-08-07 11:05:00)

摘要:(10)    程序流程的部分控制: void CMyChessDlg::OnTimer(UINT nIDEvent) {     // TODO: Add your message handler code here and/or call default     IsWin();//是否已有一方获胜     if(pwin)     {//玩家获胜         KillTimer(0);         MessageBox("恭喜,您真厉害!");         player=false;         computer=false;         m_binit=true;     }     else if(cwin)     {//计算机获胜         KillTimer(0);         MessageBox("抱歉,您输了");         player=false;         computer=false;     ......

阅读全文(3578) | 评论:0

五子棋AI(III)(2005-08-07 11:04:00)

摘要://        ChangeStatus(ptempboard);         pi=i;         pj=j;         while(SearchBlank(i,j,ptempboard))         {//进行第二不查找             ptempboard[i][j]=3;//标记已被查找             ptemp=GiveScore(0,i,j);             if(pscore>ptemp)//此时为玩家下子,运用极小极大法时应选取最小值                 pscore=ptemp;         }         for(m=0;m<n;m++)         {//恢复玩家信息             ptab......

阅读全文(3597) | 评论:0

五子棋AI(II)(2005-08-07 11:03:00)

摘要:(3)    给出下了一个子后的分数: int CMyChessDlg::GiveScore(int type, int x, int y) {         int i,score=0;     for(i=0;i<572;i++)     {         //计算机下         if(type==1)         {             if(ctable[x][y][i])             {                 switch(win[1][i])                 {                 case 1:                     score......

阅读全文(14894) | 评论:0

五子棋的AI(I)(2005-08-07 11:02:00)

摘要:  “五子棋”软件设计报告 杭州电子科技大学 胡峰令    在本次“五子棋“程序的编写中,只编写了人机对弈部分,运用了博弈树进行搜索,在选取最优的走步时使用极大极小分析法,考虑到搜索的时间复杂度和空间复杂度,在程序中只进行了2步搜索,即计算机在考虑下一步的走法时,只对玩家进行一步的推测。(程序中的棋盘规格为15*15)    下面对具体做法进行描述: 1.    数据结构定义: 棋盘定义:int board[15][15]; 在15*15的棋盘上,获胜的情况总共有572种, 如: *    *    *    *    *    …… ……    ……    ……    ……    ……    …… ……    ……    ……    ……    ……    …… ……    ……    ……    ……    ……    …… ……    ……    ……    ……    ……    …… ……    …… &n......

阅读全文(19889) | 评论:1