当前位置: 首页 > wzjs >正文

做网站的个人心得设计邦官网

做网站的个人心得,设计邦官网,深圳画册公司,家乡特产网络营销方案c语言 IsWin判赢 display 画 10 x 10 的棋盘 判断落子的坐标是否已有棋子 判断落子坐标范围是否超出范围 // 五子棋 #include <stdio.h> #include <stdlib.h>// 画棋盘 10 x 10的棋盘&#xff0c;len为行数 void display(char map[][10], int len) {system(&q…

c语言

IsWin判赢

display 画 10 x 10 的棋盘

判断落子的坐标是否已有棋子

判断落子坐标范围是否超出范围

// 五子棋
#include <stdio.h>
#include <stdlib.h>// 画棋盘 10 x 10的棋盘,len为行数
void display(char map[][10], int len)
{system("clear");printf("   0 1 2 3 4 5 6 7 8 9\n");for (int i = 0; i < len; i++) {printf("%d ", i);for (int j = 0; j < 10; j++) {printf("|%c", map[i][j]);}printf("|\n");}
}// 判断是否赢棋
int IsWin(char map[][10], int len, int x, int y)
{int xx;int yy;int saves = 0;int count = 1;// 判断是否棋盘下满for (int i = 0; i < len; i++) {for (int j = 0; j < 10; j++) {if (map[i][j] == ' ') {saves += 1;}}}if (saves == 0) {printf("棋盘下满,平局!\n");return -1;}//判断赢棋,从横、纵、斜、反斜四个方向判断// 横向判断// count == 1 是因为下面 for循环判断是从坐标的横移左一个、横移右一个开始判断的for (yy = y-1; yy > -1; yy--) {if (map[x][yy] == map[x][y] && map[x][y] != ' ') {count += 1;}}for (yy = y+1; yy < 10; yy++) {if (map[x][yy] == map[x][y] && map[x][y] != ' ') {count += 1;}}if (count >= 5) {if (map[x][y] == 'O') {printf("白棋赢\n");return 1;} else {printf("黑棋赢\n");return 2;}}count = 1;// 纵向判断for (xx = x-1; xx > -1; xx--) {if (map[xx][y] == map[x][y] && map[x][y] != ' ') {count += 1;}}for (xx = x+1; xx < len; xx++) {if (map[xx][y] == map[x][y] && map[x][y] != ' ') {count += 1;}}if (count >= 5) {if (map[x][y] == 'O') {printf("白棋赢\n");return 1;} else {printf("黑棋赢\n");return 2;}}count = 1;// 反斜方向判断for (xx = x-1,yy = y + 1; xx > -1 && yy < 10; xx--,yy++) {if (map[xx][yy] == map[x][y] && map[x][y] != ' ') {count += 1;}}for (xx= x+1,yy = y-1; xx < len && yy > -1; yy--,xx++) {if (map[xx][yy] == map[x][y] && map[x][y] != ' ') {count += 1;}}if (count >= 5) {if (map[x][y] == 'O') {printf("白棋赢\n");return 1;} else {printf("黑棋赢\n");return 2;}}count = 1;// 斜线 方向判断for (xx = x-1,yy = y - 1; xx > -1 && yy > -1; xx--,yy--) {if (map[xx][yy] == map[x][y] && map[x][y] != ' ') {count += 1;}}for (xx= x+1,yy = y+1; xx < len && yy < 10; yy++,xx++) {if (map[xx][yy] == map[x][y] && map[x][y] != ' ') {count += 1;}}if (count >= 5) {if (map[x][y] == 'O') {printf("白棋赢\n");return 1;} else {printf("黑棋赢\n");return 2;}}return 0;
}int main(void)
{char map[10][10] = {};for (int i = 0; i < 10; i++) {for (int j = 0; j < 10; j++) {map[i][j] = ' ';}}display(map, 10);int x = 0, y = 0,ret = -1;while (1) {while (1) {printf("白旗落子\n"); // 'O'printf("请输入横坐标:");scanf("%d", &x);printf("请输入纵坐标:");scanf("%d", &y);if (x >= 0 && x <= 9 && y >=0 && y <= 9) {if (map[x][y] != ' ') {printf("该坐标已落子,请重新输入坐标\n");continue;} else {map[x][y] = 'O';display(map, 10);break;}}else {printf("输入坐标超出棋盘范围,请重新输入\n");continue;}}ret = IsWin(map, 10, x, y);if (ret != 0) {break;}while (1) {printf("黑旗落子\n"); // 'X'printf("请输入横坐标:");scanf("%d", &x);printf("请输入纵坐标:");scanf("%d", &y);if (x >= 0 && x <= 9 && y >=0 && y <= 9) {if (map[x][y] != ' ') {printf("该坐标已落子,请重新输入坐标!\n");continue;} else {map[x][y] = 'X';display(map, 10);break;}}else {printf("输入坐标超出棋盘范围,请重新输入!\n");continue;}}ret = IsWin(map, 10, x, y);if (ret != 0) {break;}}return 0;
}    

http://www.dtcms.com/wzjs/560524.html

相关文章:

  • 花园设计网站推荐低价网站制作
  • 360网站卖东西怎么做的应用商店软件
  • 网站项目建设合同图片制作软件免费版
  • wordpress微站wordpress 添加模块
  • 便宜网站建设 优帮云做网络推网站推广的目的
  • 建设礼品网站的策划书山西长治做网站公司
  • 专业建站网网站运营推广免费申请空间的地址有哪些
  • 做音频的网站网站建设必须在服务器
  • 杭州优质网站建设免费空间网站怎么做的
  • 即墨网站建设在哪app网站建设多少钱
  • 建网站公司要钱吗个人做论坛网站需要哪些备案
  • linux做网站教程老区建设网站
  • 青岛公司网站设计展览展会网站建设
  • 周村网站建设yx718关键词排名的排名优化
  • windows配置wordpress做优化网站能以量取胜么
  • 高密哪里做网站网站开发难点
  • 广西网站建设公司wordpress实现中英文切换
  • 软件论坛网站有哪些怎么做网站端口代理
  • 网站建设项目可行性研究报告网站开发好了如何上线
  • 大学生学风建设专题网站外贸做那种网站有哪些
  • 搭建网站商城全国信息企业公示系统查询
  • 竞价排名网站优化实习报告
  • 山东网站备案公司中国新农村建设促进会网站
  • 网站新闻图片尺寸七牛WordPress代码
  • 网站怎么做权重阿里云做的网站这么卡的
  • 广安网站开发国家企业信用信息公示系统网官网
  • 阿里巴巴做网站的凡科注册的网站怎么被百度收录
  • 网站策划案4500网站的关键词排名
  • 常州地区做网站企业服务 免费网站建设
  • 南宁比较有好的网站制作公司asp加dw做网站