资源简介
b7bc79d087b2d734fb41e951f0b7454e.rar

代码片段和文件信息
#include
#include
#include
#include
#include
#define CROSSRU 0xbf /*右上角点*/
#define CROSSLU 0xda /*左上角点*/
#define CROSSLD 0xc0 /*左下角点*/
#define CROSSRD 0xd9 /*右下角点*/
#define CROSSL 0xc3 /*左边*/
#define CROSSR 0xb4 /*右边*/
#define CROSSU 0xc2 /*上边*/
#define CROSSD 0xc1 /*下边*/
#define CROSS 0xc5 /*十字交叉点*/
/*定义棋盘左上角点在屏幕上的位置*/
#define MAPXOFT 5
#define MAPYOFT 2
/*定义1号玩家的操作键键码*/
#define PLAY1UP 0x1157/*上移--‘W‘*/
#define PLAY1DOWN 0x1f53/*下移--‘S‘*/
#define PLAY1LEFT 0x1e41/*左移--‘A‘*/
#define PLAY1RIGHT 0x2044/*右移--‘D‘*/
#define PLAY1DO 0x3920/*落子--空格键*/
/*定义2号玩家的操作键键码*/
#define PLAY2UP 0x4800/*上移--方向键up*/
#define PLAY2DOWN 0x5000/*下移--方向键down*/
#define PLAY2LEFT 0x4b00/*左移--方向键left*/
#define PLAY2RIGHT 0x4d00/*右移--方向键right*/
#define PLAY2DO 0x1c0d/*落子--回车键Enter*/
/*若想在游戏中途退出 可按 Esc 键*/
#define ESCAPE 0x011b
/*定义棋盘上交叉点的状态 即该点有无棋子 */
/*若有棋子 还应能指出是哪个玩家的棋子 */
#define CHESSNULL 0 /*没有棋子*/
#define CHESS1 ‘O‘/*一号玩家的棋子*/
#define CHESS2 ‘X‘/*二号玩家的棋子*/
/*定义按键类别*/
#define KEYEXIT 0/*退出键*/
#define KEYFALLCHESS 1/*落子键*/
#define KEYMOVECURSOR 2/*光标移动键*/
#define KEYINVALID 3/*无效键*/
/*定义符号常量: 真 假 --- 真为1 假为0 */
#define TRUE 1
#define FALSE 0
/**********************************************************/
/* 定义数据结构 */
/*棋盘交叉点坐标的数据结构*/
struct point
{
int xy;
};
/**********************************************************/
/*自定义函数原型说明 */
void Init(void);
int GetKey(void);
int CheckKey(int press);
int ChangeOrder(void);
int ChessGo(int Orderstruct point Cursor);
void DoError(void);
void DoOK(void);
void DoWin(int Order);
void MoveCursor(int Orderint press);
void DrawCross(int xint y);
void DrawMap(void);
int JudgeWin(int Orderstruct point Cursor);
int JudgeWinLine(int Orderstruct point Cursorint direction);
void ShowOrderMsg(int Order);
void EndGame(void);
/**********************************************************/
/**********************************************************/
/* 定义全局变量 */
int gPlayOrder; /*指示当前行棋方 */
struct point gCursor; /*光标在棋盘上的位置 */
char gChessBoard[19][19];/*用于记录棋盘上各点的状态*/
/**********************************************************/
/**********************************************************/
/*主函数*/
void main()
{
int press;
int bOutWhile=FALSE;/*退出循环标志*/
Init();/*初始化图象,数据*/
while(1)
{
press=GetKey();/*获取用户的按键值*/
switch(CheckKey(press))/*判断按键类别*/
{
/*是退出键*/
case KEYEXIT:
clrscr();/*清屏*/
bOutWhile = TRUE;
break;
/*是落子键*/
case KEYFALLCHESS:
if(ChessGo(gPlayOrdergCursor)==FALSE)/*走棋*/
DoError();/*落子错误*/
else
{
DoOK();/*落子正确*/
/*如果当前行棋方赢棋*/
if(JudgeWin(gPlayOrdergCursor)==TRUE)
{
DoWin(gPlayOrder);
bOutWhile = TRUE;/*退出循环标志置为真*/
}
/*否则*/
else
/*交换行棋方*/
ChangeOrder();
ShowOrderMsg(gPlayOrder);
}
break;
/*是光标移动键*/
case KEYMOVECURSOR:
MoveCursor(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10204 2008-10-06 16:46 实验二\afive.c
文件 9188 2008-10-06 16:45 实验二\afive.exe
文件 3663 2008-10-06 16:45 实验二\afive.obj
文件 3 2008-10-04 21:41 实验二\TCTEMP.DAT
文件 9188 2008-10-06 16:45 实验二\tempfile.exe
..A.SH. 26624 2008-10-04 21:41 实验二\Thumbs.db
文件 9714 2002-09-28 10:09 实验二\五子棋.txt
文件 95744 2008-09-28 20:35 实验二\五子棋算法研究.doc
文件 28160 2008-09-28 21:06 实验二\实验二.doc
文件 51 2008-11-17 16:21 实验二\新建 文本文档.txt
目录 0 2009-06-15 18:04 实验二
----------- --------- ---------- ----- ----
192539 11
相关资源
- Delphi时钟助手源码,定时关机、提醒
- Cisco无线AP全部配置文件(AIR-1200系列
- 安卓手机PC端一键重启工具
- ManualIciMapping_v3.1
- 集客9341固件ap
- 遍历USB设备,获取USB序列号
- delphi源码-实现软件注册机
- Microservices_Designing_Deploying
-
Design for em
bedded Image Processing on FPG - GNU/Linux系统开发者需要从桌面突破
- Concurrency in Go(EarlyRelease) 无水印p
- cfx中ccl语言使用手册
- 单元测试一条龙1.50final
- 金丰300T级进冲床电气控制原理图1
- DSP实验(10次实验有详细步骤)
- HP Compaq 8200 Elite 系列商用台式机
- 2019年软考高级下半年信息系统项目管
- Assembly Language for x86 Processors (7th Ed
- Mule基础教程中文版
- 易语言凡哥记事本V1源码易语言凡哥记
- 易语言码表文本加解密模块源码
- DIR2病毒源代码(汇编语言编写)
- ADC0809的采样控制电路的实现.doc
- CRichEditView显示行号的代码
- STM8S代码例程
- 上海交大计算机图形学课程视频31集
- Source Insight 4.0.0080破解文件 替换lic
- Apk加固Demo
- VMware Workstation Pro 15 注册机
- HumanDet(公交车系统模式识别)
评论
共有 条评论