当前位置:   article > 正文

C语言实现三子棋(附思路详解和代码)_tic tac toec语言画棋盘怎么和键盘上的数字联系起来

tic tac toec语言画棋盘怎么和键盘上的数字联系起来

问题:如何用C语言来实现三子棋

一.首先,我们需要知道用C语言完成三子棋需要哪些步骤

  1. 主界面

  1. 选择开始游戏或退出游戏

  1. 创建棋盘并且初始化

  1. 打印棋盘

  1. 玩家落子并且判断输赢

  1. 电脑落子并且判断输赢

  1. 显示胜负

  1. 回到第2步,等待用户选择

二.代码编写具体过程

我们将三子棋这个大的任务,拆解成了这6点小任务,底下我们一步一步的来写代码:

(1)头文件和函数定义

编译程序首先我们需要引用头文件,这里我们自己创建一个头文件,这里可能很多人要想为什么要自己创建一个头文件,直接引用头文件不就好了吗?

这里我们自己创建一个头文件的目的在于分模块编写,因为你出去工作之后,一个项目不可能是由你一个人来完成,肯定是团队合作。那既然是团队合作,就会任务分配,不可能等某人的代码写完之后,我再去接着你的代码下面写。那样既浪费时间也浪费资源,所以需要分模块来写。

所以这里的头文件和函数的定义我都放在了自己定义的头文件中,哪里需要调用这些头文件和函数,就直接在前面引用这个头文件即可,大大增加了代码的简洁性和便利;

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #define LINE 3 //LINE代表行
  5. #define COLUMN 3 //COLUMN代表列
  6. //这是给数组初始化
  7. void initialization(char arr[LINE][COLUMN], int line, int column);
  8. //打印棋盘
  9. void create(char arr[LINE][COLUMN], int line,int column);
  10. //玩家下棋
  11. void player(char arr[LINE][COLUMN], int line, int column);
  12. //判断输赢
  13. char playerwinner(char arr[LINE][COLUMN],int line, int column);
  14. //打印棋盘
  15. void create(char arr[LINE][COLUMN], int line, int column);
  16. //电脑下棋
  17. void computer(char arr[LINE][COLUMN],int line,int column);
  18. //判断输赢
  19. char playerwinner(char arr[LINE][COLUMN], int line, int column);

注:1.这里有一个需要注意的地方是自己创建的头文件使用双引号括起来的,而不是用<>括起来的;

2.边写代码边注释,这样子既有利于别人阅读你的代码,也方便于后期的维护。很长时间过去了,你写过很多的代码,再回头来维护这个代码时也能一目了然;

(2)主界面

我们作为用户第一眼看到的一定是游戏主界面,例如:1.开始游戏 0.退出游戏,所以我们第一步需要写一个主界面;

  1. void menu()
  2. {
  3. printf("************************************\n");
  4. printf("********* 三子棋 *********\n");
  5. printf("********* 1.开始游玩 *********\n");
  6. printf("********* 0.退出游戏 *********\n");
  7. printf("************************************\n");
  8. }
  9. int main()
  10. {
  11. menu();
  12. return 0;
  13. }

这样我们就可以打印出主界面了。

接下来我们需要选择开始游戏还是退出游戏,这里我们要用到scanf函数和switch选择语句为防止有些小可爱替我测试游戏的选项功能,所以在这里要加上default:,以防止其他数字的输入。

选择开始游戏之后,我们要进入游戏,所以我们在case 1: 后面加上一个函数game()方便后面程序的编写和存放,后面我们所有的游戏代码都会放在game()函数中;

  1. #include "1_18_tic-tac-toe_Header_file.h"
  2. void menu()
  3. {
  4. printf("************************************\n");
  5. printf("********* 三子棋 *********\n");
  6. printf("********* 1.开始游玩 *********\n");
  7. printf("********* 0.退出游戏 *********\n");
  8. printf("************************************\n");
  9. }
  10. int main()
  11. {
  12. menu();
  13. printf("请输入对应的
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/233791
推荐阅读
相关标签
  

闽ICP备14008679号