毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
Android五子棋小游戏开发设计(11)
(3) 第三步分析
人工智能的第三步分析的目的就是最终选出落子位置。
这里经过了前两步分析,双方都不可以制造活4,所以只要找半活4,找到就落子,中断分析。若不存在,则通过一个方法来先对电脑的第二步分析所得结果进行排序,此处排序主要根据优势大的棋子的个数来降序排序。若人类玩家即将活四,而电脑没有半活四以上的位置,则只能落子来堵。之后通过一个方法来根据自己设置的优先级判断哪一步棋子更优,进而选择该位置落子。
4.2 功能模块实现
下面介绍一下本系统各功能模块的实现方法。
4.2.1 游戏开始模块
游戏的入口,也就是进入游戏的第一个界面。这里使用一张五子棋的图片,简单明了,也给人友好的感觉。
第一次进入游戏时会进入此界面,同时启动播放背景音乐的服务。此时界面上会提示点击屏幕,如下图:
图 4-1点击幕后,出现两个按钮,如下图:
图 4-2这里的按钮Button和文本框TextView是继承自View类的。用android.view.View.setVisibility(int visibility)方法可以设置它们的可见性。给它传递不同的参数可以完成这一功能。给按钮添加点击监听器onClickListener(),重写监听事件onClick()即可完成对按钮的相应点击事件。
4.2.2 游戏模式选择模块
在上图中,通过两个按钮进行游戏模式的选择,可以在人人对战和人机对战中选择一个模式进行游戏。这里是通过一个方法来判断游戏模式,给两个按钮添加不同的时间监听器,从而完成对游戏模式判断方法传递不同的参数,即可完成这一功能。
4.2.3 游戏界面模块
选择好游戏模式之后就将进入游戏界面。
在此界面上有一个自定义的组件Chessboard,它继承自View类,主要完成对棋盘的绘制。在绘制棋盘时,棋盘线的绘制通过Canvas.drawLine(float startX, float startY, float stopX, float stopY, Paint paint)方法完成,四个参数分别代表起点的横坐标,起点的纵坐标,终点的横坐标,终点的纵坐标。棋子的绘制则是通过Canvas.drawBitmap(Bitmap bitmap, float left, float top, Paint paint)方法完成,四个参数分别代表图像资源,图像显示左边位置,图像显示顶端位置,画笔对象。游戏会将双方最后一个落的子标记,实现方法就是在调用drawBitmap()方法时传递一个不同的bitmap对象。这些对象都是事先保存在项目的res目录下的drawable目录下。调用时需要提前调用android.content.Context.getResources()方法。人人对战模式中,双方不停通过触摸屏幕来下棋。实际上是将双方所有下的棋存放在一个list里面,每次刷新一下界面来完成下棋的动作。刷新界面调用android.view.View.invalidate()方法。当有一方连成5子时游戏结束,弹出对话框提示。如下图:
图 4-4对话框android.app.AlertDialog,使用时先使用new关键字实例化一个AlertDialog.Builder对象,之后可以使用setTitle()方法设置对话框的标题,setIcon()方法设置图标。另外对话框的按钮也和普通的按钮一样,可以添加监听器,重写监听事件方法。此处的按钮未添加任何操作,点击只是返回棋盘界面,方便玩家观察棋局。如果想进行返回或重新开局等操作可以在菜单中进行。
人机对战在游戏模式上的原理基本和人人对战相同。
共11页:
上一页
1
2
3
4
5
6
7
8
9
10
11
下一页
上一篇:
C#视频DES和RSA双重加密解密算法软件模块的设计实现
下一篇:
企业办公信息管理系统的设计与实施+ER图+需求分析
Android课程同步练习系统的设计
Android智能手机的交互式学习系统的设计
Android移动终端的网上便利...
Android移动互动学习系统学生端设计
Android移动互动学习系统教师端设计
Android大学生素质认证系统的设计
Android的网络借贷系统的设计
AT89C52单片机的超声波测距...
中国学术生态细节考察《...
C#学校科研管理系统的设计
10万元能开儿童乐园吗,我...
承德市事业单位档案管理...
神经外科重症监护病房患...
医院财务风险因素分析及管理措施【2367字】
国内外图像分割技术研究现状
志愿者活动的调查问卷表
公寓空调设计任务书