井字棋想必大家都玩过,今天教大家一个用C语言写一个井字棋小游戏

这个游戏大致可以分为两个部分:游戏菜单和游戏过程。

首先就是创建一个menu()函数来写菜单页面

这里出现了不同指令对应的结果,即输入1开始游戏,输入0退出游戏

再用一个创建的变量 i 和一个scanf函数来完成接受命令

这样一个菜单就完成了一半

之后需要用一个switch语句对不同指令进行不同的处理,如图:

但是这时重新一个问题:如果输入的数值不是1和0,程序就会运行结束。

为了解决这个问题,就需要嵌套一个do-while语句

如图

这样一来如果输入不为0的数值,里面的语句就会再次执行一遍,从来达到了重新输入和玩完一次后再次输入指令的功能。

现在,游戏菜单就已经大功告成了

之后就游戏主体,这里写在game()函数里面

首先就是创建一个数组a[3][3]来分别代表井字棋的9个下棋点

然后把数组元素全部变成 ' '(空格),用于表示初始的棋盘

然后再是打印棋盘

打印出来的效果就是这样子

然后就是玩家下棋

这里对每个点都有解释,就不多说了

然后是电脑下棋

然后就是对比赛结果进行判断

这里对每次下完棋都要就行判断,所以用了while进行循环

如果没分出结果进行循环

分出结果后通过if语句中的打印游戏结果

并break;跳出循环

下面展示一下效果如何

这样一个三子棋游戏就做好了,家人们快试试吧。

C语言小游戏->井字棋相关推荐

  1. C语言小游戏井字棋(三子棋)

    1.自定义game.h头文件 #pragma once#include <stdio.h>//符号定义 #define Row 3 #define Col 3//函数声明//棋盘 void ...

  2. 用c语言编写的打字母游戏,用C语言编写小游戏——“井字棋”

    原标题:用C语言编写小游戏--"井字棋" 作者:Milo Yip 来源:知乎 原文链接:https://zhuanlan.zhihu.com/p/39581573 在 Milo Y ...

  3. C++ 小游戏 井字棋

    c++井字棋小游戏,里面有人机对战 和 双人对战 先创建一个游戏类 #pragma once #include<iostream> #include<vector> #incl ...

  4. javafx写一个小游戏-井字棋

    学了几天的javafx,感觉非常好用,自己写了一个小游戏,如有不足,希望大佬加以指正,谢谢. 1.先写UI界面 新建一个ui.fxml文件,用于显示ui界面 界面效果如下: 代码如下: <?xm ...

  5. python小游戏井字棋(人机对战)

    游戏简介:在九宫格内进行,如果一方抢先于另一方向(横.竖.斜)连成3子,则获得胜利.游戏中输入方格位置代号的形式如下: 设计前的思路: 游戏中,board棋盘存储玩家.计算机的落子信息,未落子处未EM ...

  6. vb小游戏——井字棋

    欠了一个星期的小游戏..我得补一补.以下效果图: 特别简单,其实学一段就能做的小东西,愣是给我拖了不知道多久orz 新手初学,错误和不好的习惯请一定要纠正我.Thanks♪(・ω・)ノ 以下实现方法: ...

  7. C语言小项目——井字棋游戏(升级版)

  8. 用IE网页学游戏-井字棋

    IE网页学游戏-井字棋 井字棋实现交互的简单小游戏,学习使用表格,理解javascript函数. 1.构造棋盘 用table元素的行列构造三行三列的表格.设置好120像素的井字棋背景,三个小图表示方格 ...

  9. 【C语言小游戏】三子棋(井字棋)

    hello,csdn的伙伴们,大家好,我们已经学习到了分支与循环,函数,数组这三大块知识,那么我们现在就可以尝试综合运用前面所学的知识,来完成一个简单的小游戏-----三子棋(井字棋) 目录 一.采用 ...

  10. 井字棋小游戏c语言简单编码,井字棋小游戏(C语言)

    1 #include 2 #include 3 #include 4 #include 5 #include 6 7 void drawBoard(char *board) //绘制棋盘 8 {9 p ...

最新文章

  1. 一种消息和任务队列——beanstalkd
  2. web自动化测试之百度经验-HTTP层面的Web Service自动化测试
  3. python如何使用sdk_七牛云存储Python SDK使用教程 - 基本介绍
  4. qt5.6.3版本移植arm
  5. android play gif,Play.gif image in android without using webview
  6. JavaScript时间事件:setTimeout和setInterval
  7. 02----mockjs基本使用
  8. python获取mysql数据为excel中的sheet_python 从excel、csv、mysql、txt获取数据源
  9. [Luogu 2486] SDOI2011 染色
  10. cmd xcopy 拷贝文件夹_u盘文件夹被病毒隐藏怎么解决 u盘文件夹被病毒隐藏解决方法【详细步骤】...
  11. 一个数学公式求解的优化
  12. 数据结构与算法汇总详解(一)
  13. Docker docker-compose 配置lnmp开发环境
  14. 数据字典怎么写_做数据分析,我只会同环比,谁能教我怎么写结论?
  15. 李彦宏PK马云:后发制人与厚积博发
  16. index.highlight.max_analyzed_offset
  17. 响应时间与滤波器截止频率的关系
  18. 极大极小搜索 α-β剪枝的实现
  19. oppok9pro电池续航怎么样
  20. gulp入门详解之基本操作

热门文章

  1. css盒模型(css的两种盒模型:标准盒模型、怪异盒模型)和 css3指定盒子模型种类的box-sizing属性
  2. 电子商务系统怎么开发,有哪些流程_OctShop
  3. 从wolai转移到Notion
  4. Java 之父:找Bug最浪费时间,现在不是开源的黄金时代,程序员如何自我学习和成长
  5. 实战即时聊天,一文说明白:聊天服务器+聊天客户端+Web管理控制台。
  6. 如何成为一位Unity3D游戏开发者:对游戏开发抱有热情
  7. 【BIOS】主板BIOS的两种启动模式,传统模式(Legacy)和UEFI模式
  8. 王半仙儿的日记-0008
  9. android获取用户手机信息,Android – 使用AccountManager /手机所有者的姓氏和姓氏获取用户数据...
  10. Google 真的抄百度了吗?