资源简介
Linux环境下的五子棋游戏,使用了Makefile,用make命令即可运行使用,有界面。
代码片段和文件信息
#include
static char chess_stat[RAW][COL] = {[3][3]=Player_WHITE[5][5]=Player_BLACK};
int player_flag=0; //BLACK
/*边框的水平线绘画函数*/
static void draw_hline(int lxint lyint len)
{
int i;
for(i=0;i set_pos_xy(lx+ily);
printf(“-“);
}
}
void draw_ehline(int lxint ly)
{
draw_hline(lxlyCOL*3+1);
}
/*边框的垂直线绘画函数*/
static void draw_vline(int txint tyint len)
{
int i;
for(i=0;i set_pos_xy(tx+ity);
printf(“|“);
}
}
void draw_evline(int txint ty)
{
draw_vline(txty2*RAW-1);
}
/*内部的水平线绘画函数*/
void draw_ihline(int lxint ly)
{
int i;
for(i=0;i set_pos_xy(lx+3*ily);
printf(“--+“);
}
printf(“--“);
fflush(stdout);
}
//画所有的内部水平分割线
void draw_all_ihline(int lxint ly)
{
int i;
for(i=1;i // set_pos_xy(lx+1ly+2*i);
draw_ihline(lx+1ly+i*2);
}
}
/*内部的垂直线绘画函数*/
void draw_ivline(int txint ty)
{
int i=0;
for(i=0;i set_pos_xy(txty+i*2);
printf(“|“);
}
}
void draw_all_ivline(int lxint ly)
{
int i;
for(i=1;i draw_ivline(lx+3*ily+1);
}
}
void give_col_raw_num(int lxint ly)
{
int i;
for(i=0;i set_pos_xy(lx-3ly+1+i*2);
printf(“%02d“i);
}
for(i=0;i set_pos_xy(lx+1+i*3ly-1);
printf(“%02d“i);
}
}
void draw_subchess(int lxint ly)
{
int ij;
set_front_col(GREEN);
for(i=0;i for(j=0;j if(chess_stat[i][j] == Player_BLACK){
set_pos_xy(lx+1+j*2ly+1+i*2);
set_back_col(BLACK);
printf(“[]“);
fflush(stdout);
}else if(chess_stat[i][j]==Player_WHITE){
set_pos_xy(lx+1+j*2 ly+1+i*2);
set_back_col(RED);
printf(“[]“);
fflush(stdout);
}
}
}
}
/*绘画五子棋棋盘*/
void draw_chess_board(int lxint ly)
{
clear_screan();
save_hide_curse();
//上
draw_ehline(lxly);
//下
draw_ehline(lxly+2*RAW);
//右
draw_evline(lx+3*COLly+1);
//画内部分割竖直线
draw_all_ivline(lxly);
//画所有内部水平分割线
draw_all_ihline(lxly);
//显示行号和列号
give_col_raw_num(lxly);
//画棋子
draw_subchess(lxly);
//左
draw_evline(lxly+1);
// set_pos_xy();
}
/*判断棋子坐标是否合法,合法返回0,否则返回-1 */
int check_if_ok_pos(int rawint col)
{
if(raw<0||raw>=RAW){
return -1;
}
if(col<0||col>=COL){
return -1;
}
if(chess_stat[raw][col] == 0){
return 0;
}else{
return -1;
}
}
/*判断输赢 */
int check_if_win(void)
{
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-01-16 10:43 fivechess\
文件 2526 2019-01-06 14:11 fivechess\chess.c
目录 0 2019-01-16 10:43 fivechess\include\
文件 758 2019-01-06 14:16 fivechess\include\chess.h
文件 512 2019-01-04 14:05 fivechess\include\vt.h
文件 631 2019-01-06 14:18 fivechess\main.c
文件 324 2019-01-04 10:21 fivechess\Makefile
文件 806 2019-01-04 12:23 fivechess\vt.c
相关资源
- 剖析Linux系统下基于NUMA构建的服务
- linux SPI设备注册和驱动小结
- 周立功PCI CAN卡LINUX驱动ubuntu16.04内核
- 实现Windows与Linux两系统间自由切换
- 在双引导Linux系统上实现OS自动切换
- 如何删除Linux系统后找回Windows的启动
- Linux命令详解,循序渐进Linux
- Linux系统文件命令精通指南(下)
- Linux系统命令及Shell脚本实践指南
- RK3308 LINUX开发者指南(1).pdf
- S3C4510 开发板中uCLinux系统开发
- 嵌入式操作系统的解析
- Linux点阵字库和字库生成器.rar
- Linux-UNIX系统编程手册上、下册中文版
- 基于ARM的电子相册源码含动态库可运
- PSFTP.EXE 工具
- 如何实现Linux与windows文件互传
- Linux内核函数Start_kernel()的功能
- 一只老鸟的嵌入式ARM学习心得
- cximage的linux版本源码
- yaf-2.1.17.tgz
- IBM eServer xSeries 445 EXP400在Linux下的双
- 如何在本地无光驱软驱时通过PXE远程
- Linux操作系统下配置无密码的RSH访问
- 如何利用mdadm在Linux中配置RAID
- db2 v9.5 linux 许可证
- linux telnet服务安装包
- SUSE Linux Enterprise——助力曙光高
- 运行LINUX的中高端HP INTEGRITY服务器
- lsoflist open files命令
评论
共有 条评论