c语言小游戏代码_C语言实现五子棋

5b5baea4de6b9d7c2a146c73ee610ce7.png

很多同学说C语言难学,不知道C语言学了能做什么,如果说不涉及嵌入式设备编程,我们可以用它来写游戏?是的,C语言能写的游戏有很多,推箱子五子棋,等等

这里说一下,本人搞嵌入式编程的,主要是Linux平台,说起五子棋想必大家都不陌生,我的一个初中同学就是五子棋高手,几乎没人能下赢他,自号“十步一杀”,扯远了,今天这篇应该是我最后一篇C语言实现游戏系列了,期间收到许多朋友支持,在此我深表感谢,后面我主要会写一些讲算法的程序,毕竟算法是程序的灵魂嘛,希望大家一如既往的支持

还是那句话,程序=数据结构+算法,在写代码前,脑中先得有个基本建模,流程图,编码实现,最后调通。用最简明扼要的代码实现心中的功能就是好的程序员

废话不多说,上效果:

154c592c02b8fd91c209ec286d1972ca.png

在20x20的棋盘上,找个小伙伴,我们来下一把五子棋,一方执黑子,一方执白子

06cefd75769b94ddef59d8521a4a7a89.png

通过轮流输入要放的棋子的位置坐标,来放置棋子

7a9aab1268fc8626323f0c49e0ae1bda.png

按照五子棋规则,谁先在一条直线上下够五个子,谁就赢棋

这个游戏是用C语言在windows下实现的,用到的大部分是标准库,没有平台依赖,源码只要稍作修改,就可以直接放到Linux下编译运行,源码获取方式请参考推箱子

不知觉间,用C语言写了一系列小游戏,回头看去,期间的付出历历在目,可编程就是这样,充满乐趣,好似在玩,让人乐此不疲,想起一句名言“做你喜欢的事,做你擅长的事”,每个人都可以成为好的程序员,Just Do It

一个很好的五子棋c语言源程序代码,最重要的是能运行正确!!! #include #include #include #include #include #define CROSSRU 0xbf /*右上角点*/ #define CROSSLU 0xda /*左上角点*/ #define CROSSLD 0xc0 /*左下角点*/ #define CROSSRD 0xd9 /*右下角点*/ #define CROSSL 0xc3 /*左边*/ #define CROSSR 0xb4 /*右边*/ #define CROSSU 0xc2 /*上边*/ #define CROSSD 0xc1 /*下边*/ #define CROSS 0xc5 /*十字交叉点*/ /*定义棋盘左上角点在屏幕上的位置*/ #define MAPXOFT 5 #define MAPYOFT 2 /*定义1号玩家的操作键键码*/ #define PLAY1UP 0x1157/*上移--'W'*/ #define PLAY1DOWN 0x1f53/*下移--'S'*/ #define PLAY1LEFT 0x1e41/*左移--'A'*/ #define PLAY1RIGHT 0x2044/*右移--'D'*/ #define PLAY1DO 0x3920/*落子--空格键*/ /*定义2号玩家的操作键键码*/ #define PLAY2UP 0x4800/*上移--方向键up*/ #define PLAY2DOWN 0x5000/*下移--方向键down*/ #define PLAY2LEFT 0x4b00/*左移--方向键left*/ #define PLAY2RIGHT 0x4d00/*右移--方向键right*/ #define PLAY2DO 0x1c0d/*落子--回车键Enter*/ /*若想在游戏中途退出, 可按 Esc 键*/ #define ESCAPE 0x011b /*定义棋盘上交叉点的状态, 即该点有无棋子 */ /*若有棋子, 还应能指出是哪个玩家的棋子 */ #define CHESSNULL 0 /*没有棋子*/ #define CHESS1 'O'/*一号玩家的棋子*/ #define CHESS2 'X'/*二号玩家的棋子*/ /*定义按键类别*/ #define KEYEXIT 0/*退出键*/ #define KEYFALLCHESS 1/*落子键*/ #define KEYMOVECURSOR 2/*光标移动键*/ #define KEYINVALID 3/*无效键*/ 下载可看到完整的...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值