大庆师范学院
《ANDROID开发基础》
题目:基于安卓开发的五
子棋游戏
专业班级:
计算机科学与技术一班
设计者:
KKKKKKKKKKKKKKKKKKK
指导老师:2016-2017 (1)
报告完成日期 2016 年 12月27日
1设计任务及要求
五子棋的棋文化源渊流长,具有东方的神秘和西方的直观,是中西文化的交
流点,是古今哲理的结晶。现在人们压力日益增大,需要劳逸结合才能获得更 高的工作效率,工作之余 的娱乐对每一个人来说都是必不, 是人可少的。 五子 棋这种娱乐方式简单易学又具有深 奥的技巧,非常富有趣味性和消遣性。在经
过不断发展后,基于安卓开发的五子棋已经成为棋盘娱乐的一个重要的组成部
分,它能够增强思维能力、开发智力们休闲娱乐的不错选择。
五子棋主要实现的功能:
①显示一个十五行十五列的五子棋棋盘。
②在棋盘上面对应位置通过触屏点击下子,棋盘上将在相应的位置上显
示棋子,并且棋 子在纵横交点上。
③可以自动判断游戏是否结束,判断胜负,是否黑方或者白方已经胜出,并
③可以自动判断游戏是否结束,判断胜负,是否
黑方或者白方已经胜出,并
且通过提示信息来提醒玩家。
④在游戏上方会有一个游戏信息,这个游戏信息是用来提示当前游戏状态和 当前是黑白双方的哪一方下子,玩家可以根据这个提示来相应的下棋,而不 会导致不清楚轮到哪一方下棋的情况出现。
2设计原理及总体框图
本次设计主要是设计一个能够在 An droid手机上运行的五子棋游戏。玩家
打开游戏软件后将先进选择游戏,然后进入游戏的主界面开始游戏。开始游戏界 面,就可以开始对弈了,黑白双方都是玩家,用鼠标点击方式进下棋,然后考虑 下一步对方如何进行走位。然后可以直接根据对手的走位选择自己合适的走法来 击败对手。
3详细设计
部分代码:
p ublic class GameView exte nds View {
Con text con text = nu II;
int scree nWidth,scree nH eight;
Stri ng message ="";
int row,col;
int ste pLen gth = 30;
in t[][] chess = n ull;
boolea n isBlack = true;
boolea n canPlay = true;
p ublic GameView(C on text con text,i ntscree nWidth,i ntscree nH eight)
super(con text);
this.c on text = con text;
this.scree nWidth = scree nWidth; this.scree nHeight = scree nH eight; this.message ="黑棋先行";
row = (screenHeight-50)/stepLength+1; col = (screenWidth-10)/stepLength+1; chess = new int[row][col];
代码中:
代码中:
1)提示轮到哪个玩家:
1)提示轮到哪个玩家:
String message = "";
2)划线的行数和列数:int row,col;(3)
2)划线的行数和列数:
int row,col;
(3) 棋盘每格间距 int :
stepLength = 30;
(4) 0 代表没有棋子, 1 代表是黑棋, 2 代表白旗: int[][] chess = null;
部分代码: public boolean onTouchEvent(MotionEvent event) { if(!canPlay){return false;} float x = event.getX(); float y = event.getY();
int r = Math.round((y-50)/stepLength);
int c = Math.round((x-10)/stepLength);
if(r<0 || r>row-1 || c<0 || c>col-1){return false;} if(chess[r][c]!=0){return false;} if(isBlack){
chess[r][c] = 1;
isBlack = false; message = " 轮到白棋 ";
}else{ chess[r][c] = 2; isBlack = true; message = " 轮到黑棋 ";
若有棋子则不再画棋子了: if(chess[r][c]!=0){return false;}
控制轮到那方棋子: if(i