先来个温馨提示:不会象棋,或者不是很懂象棋规则的朋友,可以先去下载个象棋小游戏,了解一下规则,毕竟后面这些规则都是我们写的啦,但也不能乱写呀,嘎嘎嘎~~~
切入正题,在开始之前呢,我们要先缕清思路,下面我们一起来分析一下:
首先,大家要清楚,我们的首要目标是把程序编写出来,至于后期的美化工作,每个人有自己的爱好,可以说,掌握方法之后,你想美成哪样,就美成哪样,只有你想不到,没有做不到。。。
image
我们的首要目标,就是做成如上图所示的模样。
1、绘制棋盘,要注意,绘制过程中,全程用像素计数,不要想着用日常尺寸,不好用,还有选择合适的像素大小,因为后面要计算落子位置什么的,如果你选的像素大小很难算,那无非是给后面增加工作量。
2、绘制棋子,选择合适的像素大小的棋子,当然,不能重位。
3、绘制带棋子的棋盘(为什么绘制了棋盘和棋子,还要绘制带棋子的棋盘呢?因为后面每次下棋之后都要绘制一次带棋子的棋盘,如果还是想不明白,那就先放着,到后面自然就明白了)
4、走棋规则:
马:日字;相:田字;兵:过河前只能直走,过河后只能前,左,右;车:可以任意横走竖走,但所走位置和原位置中间不可有棋子,炮:和车的走法相似,但吃子时要隔一个棋子;士,将:不可出田字格。
注意:不要忘了"马’和"相’会出现鳖腿的情况!
5、吃子规则:这个可以在走棋规则的基础上附加,想要吃子,肯定要先符合走棋规则的嘛。
6、走棋(走棋前我们是不是得判断走的位置有没有棋子呢,如果有棋子,是不是得判断是否符合吃子规则呢)
7、判断是否赢棋,直接判断对方的老将在不在,对吧,对方老将被吃,本方赢。
8、按键:其实这个应该在你画棋盘之前就想好的,因为你画棋盘时要给按键留出相应的位置呀,对吧,这里要注意的是,如何判断按键按下呢,就像前面所说的,用像素大小,你要判断的是你鼠标点击的位置,是否在你所定义的按键像素里面,如果你的按键要两次转换,自然,定义一个变量,判断它是’Tru