2 Star 3 Fork 2

Huoty / gobang

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
operate.c 6.43 KB
一键复制 编辑 原始数据 按行查看 历史
Huoty 提交于 2014-12-04 21:35 . version 3.0
#include <stdio.h>
#include <stdlib.h>
#include "operate.h"
void twoarr_init(char (*p)[COLUMN], int row, int column)
{
int i, j;
for (i = 0; i < row; i++)
for (j = 0; j < column; j++)
p[i][j] = '+';
}
void draw_chessbd(char (*p)[COLUMN], int row, int column)
{
int i, j;
printf("* L ");
for (i = 0; i < column; i++)
printf("%x ", i);
putchar(10);
printf("H * ");
for (i = 0; i < row; i++)
printf("- ");
putchar(10);
for (i = 0; i < row; i++)
{
printf("%x | ", i);
for (j = 0; j < column; j++)
{
printf("%c ", p[i][j]);
}
putchar(10);
}
}
void startx(void)
{
system("clear");
putchar(10);
printf("\t╔══════════════════════════════════════════════════════════════╗\n");
printf("\t║ ║\n");
printf("\t║ 欢迎使用五子棋对战程序 祝您玩的愉快挑战无极限 ║\n");
printf("\t║ ║\n");
printf("\t║ ._______________________. ║\n");
printf("\t║ | _____________________ | ║\n");
printf("\t║ | I I | ║\n");
printf("\t║ | I 五 子 棋 I | ║\n");
printf("\t║ | I I | ║\n");
printf("\t║ | I made by HUOTY I | ║\n");
printf("\t║ | I___________________I | ║\n");
printf("\t║ !_______________________! ║\n");
printf("\t║ ._[__________]_. ║\n");
printf("\t║ .___|_______________|___. ║\n");
printf("\t║ |::: ____ | ║\n");
printf("\t║ | ~~~~ [CD-ROM] | ║\n");
printf("\t║ !_____________________! ║\n");
printf("\t║ ║\n");
printf("\t║ ║\n");
printf("\t║ 寒 星 溪 月 疏 星 首,花 残 二 月 并 白 莲。 ║\n");
printf("\t║ 雨 月 金 星 追 黑 玉,松 丘 新 宵 瑞 山 腥。 ║\n");
printf("\t║ 星 月 长 峡 恒 水 流,白 莲 垂 俏 云 浦 岚。 ║\n");
printf("\t║ 黑 玉 银 月 倚 明 星,斜 月 明 月 堪 称 朋。 ║\n");
printf("\t║ 二 十 六 局 先 弃 二,直 指 游 星 斜 彗 星。 ║\n");
printf("\t║ ║\n");
printf("\t║ ║\n");
printf("\t║ 1: 人机对战 2: 人人对战 q: 退出 ║\n");
printf("\t║ ║\n");
printf("\t╚══════════════════════════════════════════════════════════════╝\n");
}
void get_in(int *x, int *y)
{
printf("Please enter your position of chess pieces\n");
LOOP: printf("row: ");
scanf("%x", x);
getchar();
printf("column: ");
scanf("%x", y);
getchar();
if (*x < 0 || *x >= ROW || *y < 0 || *y >= COLUMN)
{
putchar(10);
puts("Your input position is illegal!");
printf("Row and Column is a number of 0~%d\n", ROW);
puts("Please input again");
goto LOOP;
}
}
/* 判断行 */
char yn_row(char (*p)[COLUMN], int row, int column)
{
int i, j;
int c;
for (i = 0; i < row; i++)
{
c = 0;
for (j = 0; j < column; j++)
{
if (p[i][j] == 'Y')
c++;
else if ( c < 5)
c = 0;
}
if (c >= 5)
return 'y';
}
return 'n';
}
/* 判断列 */
char yn_column(char (*p)[COLUMN], int row, int column)
{
int i, j;
int c;
for (i = 0; i < row; i++)
{
c = 0;
for (j = 0; j < column; j++)
{
if (p[j][i] == 'Y')
c++;
else if (c < 5)
c = 0;
}
if (c >= 5)
return 'y';
}
return 'n';
}
/* 判断对角 */
char yn_diagonal(char (*p)[COLUMN], int row, int column)
{
int m;
int i, j;
int c;
/* 左上方 */
for (m = 0; m < row; m++)
{
c = 0;
for (i = m, j = 0; i >= 0; i--, j++)
if (p[i][j] == 'Y')
c++;
else if (c < 5)
c = 0;
if (c >= 5)
return 'y';
}
/* 右下方 */
for (m = 0; m < row - 1; m++)
{
c = 0;
for (i = row - 1, j = i - m; j <= row - 1; i--, j++)
if (p[i][j] == 'Y')
c++;
else if (c < 5)
c = 0;
if (c >= 5)
return 'y';
}
/* 左下方 */
for (m = row - 1; m >= 0; m--)
{
c = 0;
for (i = m, j = 0; i <= row - 1; i++, j++)
if (p[i][j] == 'Y')
c++;
else if (c < 5)
c = 0;
if (c >= 5)
return 'y';
}
/* 右上方 */
for (m = row - 1; m >= 1; m--)
{
c = 0;
for (i = 0, j = m; j <= row - 1; i++, j++)
if (p[i][j] == 'Y')
c++;
else if (c < 5)
c = 0;
if (c >= 5)
return 'y';
}
return 'n';
}
#ifdef DEBUG
/*************************************************************************
* FuncName: main
* Input: None
* Output: None
* Val-Res: None
* Return: 0
* Brief: Main program body!
*************************************************************************/
int main(void)
{
return 0;
}
#endif
/************************ (C) COPYRIGHT HOUTY PRIVATE ********END OF FILE****/
C
1
https://gitee.com/konghy/gobang.git
git@gitee.com:konghy/gobang.git
konghy
gobang
gobang
master

搜索帮助