c语言—三子棋
来源:互联网 发布:mysql greatest 编辑:程序博客网 时间:2024/06/05 18:57
test.c:
#define _CRT_SECURE_NO_WARNINGS 1 #include"game.h"void menu(){printf("*************************************\n");printf("****** 1.play game. 0.exit. ********\n");}int main(){ int num=2;char chess_road[3][3]={0};menu();while(num!=1||num!=0){printf("请选择:"); scanf("%d",&num);if(num==1){game_road(chess_road); while(is_full(chess_road)) {computer_game(chess_road);is_win(chess_road);player_game(chess_road);is_win(chess_road);}}else if(num==0)return;elseprintf("请重新输入:");} }
game.h:
#ifndef _GAME_H_#define _GAME_H_#include<stdio.h> #include<malloc.h> #include<time.h> #include<stdlib.h> void game_road(char chess_road[3][3]);void printf_road(char chess_road[3][3]);int is_full(char chess_road[3][3]);void computer_game(char chess_road[3][3]);void player_game(char chess_road[3][3]);int is_win(char chess_road[3][3]);#endifgame.c:
#define _CRT_SECURE_NO_WARNINGS 1 #include"game.h"void game_road(char chess_road[3][3])//设置游戏棋盘 {int i=0;int j=0;for(i=0;i<3;i++){for(j=0;j<3;j++){chess_road[i][j]=' ';}}for(i=0;i<3;i++){printf("%c|%c|%c\n",chess_road[i][0],chess_road[i][1],chess_road[i][2]);if(i!=2)printf("-|-|-\n");}}void printf_road(char chess_road[3][3])//打印游戏中的棋盘{int i=0; printf("\n");for(i=0;i<3;i++){printf("%c|%c|%c\n",chess_road[i][0],chess_road[i][1],chess_road[i][2]);if(i!=2)printf("-|-|-\n");}}int is_full(char chess_road[3][3])//判断棋盘中的棋子是否满{int i=0,j=0;for(i=0;i<3;i++){for(j=0;j<3;j++){if (chess_road[i][j]==' ')return 1;}}return 0;}void computer_game(char chess_road[3][3])//电脑开始落子{int line=0;int column=0;int count=0;printf("电脑开始游戏...\n");if(is_full(chess_road)==0){exit(0);}while(line=rand()%3,column=rand()%3,chess_road[line][column]==' '){count++;chess_road[line][column]='*';if(count==1)break;}printf_road(chess_road);}void player_game(char chess_road[3][3])//玩家开始落子{int line=-1;int column=-1;if(is_full(chess_road)==0){exit(0);}do{ printf("玩家开始游戏...\n");printf("请输入坐标:");scanf("%d%d",&line,&column);}while(line>3||line<1||column<1||column>3||chess_road[line-1][column-1]!=' '); chess_road[line-1][column-1]='+'; printf_road(chess_road);}int is_win(char chess_road[3][3])//判断胜负{int i=0;if(chess_road[0][0]==chess_road[1][1]&&chess_road[1][1]==chess_road[2][2]){if(chess_road[0][0]=='*'){ printf("电脑赢\n"); exit(0);}if(chess_road[0][0]=='+'){printf("玩家赢\n");exit(0);}}for( i=0;i<3;i++){if(chess_road[i][0]==chess_road[i][1]&&chess_road[i][1]==chess_road[i][2]){if(chess_road[i][0]=='*'){printf("电脑赢\n");exit(0);} if(chess_road[i][0]=='+') {printf("玩家赢\n");exit(0);}}} if(is_full(chess_road)==0) { printf("平局\n"); exit(0); } return 0;}
阅读全文
0 0
- c语言—三子棋
- C语言—三子棋
- C语言——三子棋
- C语言实现三子棋——详解
- C语言之三子棋
- C语言实现三子棋
- C语言实现三子棋
- C语言小游戏"三子棋"
- 三子棋(C语言)
- C语言-三子棋游戏
- c语言编写三子棋
- c语言实现三子棋
- C语言实现三子棋
- 【C语言】三子棋游戏
- C语言实现三子棋
- C语言实现三子棋
- 三子棋小游戏--C语言
- c语言三子棋游戏
- windows环境Python配置:同时安装Python2.7和Python3.6开发环境
- java8 利用 stream,lambda 将一个数组转化为字符串String
- ubuntu 16.04的快捷键
- bootstrap模态框弹出后如何获得焦点
- 浅读Tomcat源码(四)---session、servletContext、listener浅析
- c语言—三子棋
- Kali Linux2017更新源
- 鲜为人知的 Linux 命令(2)
- 重建二叉树-确定唯一的二叉树
- Scrapy Shell
- 目标检测fastrcnn算法详解
- mysql
- AndroidStudio 升级到3.0后输入法中文状态下无法选词解决方案
- 数据库系统概论