对于很多刚学习完C语言的同学来说很迷茫,除了学校的期末考,完全不知道还能干什么。
学校学的泛,教科书也是本分的介绍基本用法,而实现推箱子,五子棋等小游戏,不但会激起同学们的兴趣,而且其实现原理会启发很多同学即便只有书上的基本用法,经过巧妙的使用,会使同学们明白,任何复杂的变化也都是由最基本的一条条语句构成!!!!基础,很重要。
五子棋实现关键原理分析:
1 二维数组实现棋盘
二维数组,用两个for 循环,随便输出一个固定符号做棋盘,如 *
2判定玩家
设计一个计步变量step, 每走一步 step++, 则玩家=step%2+1;
3判定输赢(重点)
设计方向数组 dircX[4] ,dircY[4],因为如果要判断是否练成五子,只有1竖着2横着3斜下4斜上
竖着的话就是 x-1,y不变 横着的话就是x不变,y+1; 斜下: x+1,y+1; 斜上 x-1;y+1
这样你就可以赋值dircX={-1,0,1,-1} dercY={0,1,1,1}
每当玩家落下一子,就全局判断每个子的四个方向有没有第二子,如果有,循环判断有没有第三子(利用 x+=dircX[1]),直到五子完成,结束。