五子棋人机对战详解;

/*
    项目2:五子棋人机对战
    制作人:flywindwyy
   
    规划时间:2010,11,3
    完成时间:2010,11,16
*/


#ifndef _COMMAND_H_
#define _COMMAND_H_

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/fb.h>
#include <sys/mman.h>
#include <math.h>

#define N 30                        //    每个方格间的宽度;
#define R 13                        //     棋子半径
#define C_WIDTH 10
#define C_HEIGBT 17
#define T___ 0xFFFFFFFF
#define BORD 0x0
#define X___ 0xFFFF


extern short *fbmem;
extern int cx,cy,cz;
extern int w,h;
extern int fd1;
extern short buf_tmp[2000];            //记录鼠标原来地址的内容;
extern int hx;
extern int hy;                    //棋盘顶点坐标;
extern int statu;
extern int player[16][16];            //记录棋盘上所有棋子的状态,无棋子为0,黑棋子为1(player),白棋子为2(computer).
extern int k1;
extern int k2;
extern int k3;
extern int k4;
extern int p1;
extern int p2;
extern int p3;
extern int p4;
extern int fb_flag;
extern int back[15][15],white[15][15];        //记分数组,分别记录电脑的 和 玩家的。
extern unsigned char fontdata_8x16[160];

int fb_players(void);               
short rgb24to16(int color);
void fb_point(int x,int y, short color);
void fb_hline(int x1,int x2,int y,int color);
void fb_wline(int x1,int x2,int y,int color);
void fb_fline(int x1,int x2,int y,int color);
void fb_rline(int x1,int x2,int y,int color);
void fb_qipan(int x1,int x2);

int  init_mouse(void);                //鼠标处理:初始化,画鼠标,保存原来地址内容,释放原来地址内容,读取鼠标移动轨迹。
void fb_mouse(int x1,int x2);
int judge1_mouse(int x1,int x2);
int judge2_mouse(int x1,int x2);
int  read_mouse(int fd);

int fb_judge_he(int x1,int x2,int statu);    //判断各个方向的棋子多少记分;
int fb_judge_su(int x1,int x2,int statu);
int fb_judge_sy(int x1,int x2,int statu);
int fb_judge_xz(int x1,int x2,int statu);

int fb_computer1();            //将所有状态的分值放入到数组中;

int fb_judge_hewin(int x1,int x2,int statu);    //判断各个方向棋子状态有几个,决定是否为赢;
int fb_judge_suwin(int x1,int x2,int statu);
int fb_judge_sywin(int x1,int x2,int statu);
int fb_judge_xzwin(int x1,int x2,int statu);

int fb_win();                //判断谁先赢

void fb_math(int x1,int x2);        //鼠标上面写数字。

int fb_computer_judge();
int fb_player_judge();            //找出最大分值的坐标。


int fb_computer();       
void fb_player();            //电脑下棋,玩家下棋;





#endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值