项目开发一
实验要求:
1 git clone 小组项目
2 编译项目,提交编译成功截图(全屏,要有学号信息)
3 提交运行过程中的截图(全屏,要有学号信息)
实验过程:
之前项目小组的组长已经将android游戏开发单独建立了一个项目,小组成员可以直接将项目克隆到Android Studio里,克隆需要调试Android Studio里的git,但编译的过程需要自己进行调试。调试环境可以选择在android studio里建立虚拟安卓手机来运行,也可以连接真实的安卓手机来运行。如果是建立虚拟安卓手机来运行,则需要下载所要求的Android版本。
具体过程如下:
运行的结果如下,这里我使用的是模拟器运行,其结果和在虚拟手机上编译运行的结果相同:
可能存在的问题:编译中会遇到gradle文件路径不匹配的现象,出现的错误是文件的路径名称必须全部是英文,当出现中文时文件就会出现不匹配现象。
实例:
在查找到路径后修改就可以运行了。
另外,克隆对网速的要求很大,如果网速过慢,很可能会导致克隆失败。
项目开发二
实验要求:
- 在小组项目中,找一个合适的地方添加一个按钮,点击显示自己的学号
- 提交运行截图(全屏,要有学号信息)
- 在项目中找一个界面,自己复制一份命名为XXXbak,修改代码,替换原来的部分
- 提交运行截图(全屏,要有学号信息)
实验过程:
加入按钮,对代码进行编译,这个过程只需要在项目的activity-main里的text文本里加入新的按钮就可以了。需要注意的是需要将按钮的id资源导入,获取id在另一个类bitmap中,后来将一些辅助类一起合并到gameview类里了。而在我们的项目中只有一个主界面有布局文件,在不觉文件中加按钮是最简单的,所以我就在我们的菜单类的活动加入了有学号的按钮,结果如下:
项目开发三
实验要求:
分析小组代码:
- 数据结构的应用情况及相关代码
- 排序算法的应用情况及相关代码
- 查找算法的应用情况及相关代码
- 完成实验报告
实验过程:
本次开发的项目所使用的最多的关于数据结构的知识是二维数组,因为这个项目多次用到了二维坐标,来确定位置和地鼠的出现,以及通过二维数组创建坐标来导入图标的位置,具体的代码实现如下:
private int[][] getMapArray(int resid, int rowSize, int colSize){
String str = "";
if(RESID==0 || RESID!=resid){
RESID = resid;
str = mContext.getResources()/获取资源/.getString(resid);//获取String形式的资源id
mapArray = getMapArrayByStr(str, rowSize, colSize);//获取地图数组
}
return mapArray;//返回地图数组
}
/**
* 根据游戏关数加载地图数组
*/
public int[][] loadMapArrayByLevel(int strResid/*数字地图的id*/, int rowSize/*地图的宽度*/, int colSize/*地图的高度*/)
{
return getMapArray(strResid, rowSize, colSize);//返回数字地图的二维数组形式。
}
/**
* 根据字符串生成地图数组
*/
这段代码是生成地图所用到的。
同样,在记录数据组成排行榜的部分使用到了关于排序的知识,属于Array类中的sort方法,代码实现如下:
if (number.length != 0){
Arrays.sort(number,Collections.reverseOrder());
ranklist=new String[userList.size()];
for (int i=0;i
ranklist[i]=String.valueOf(number[i]);
}
完成了关于数据的排序,就可以对数据库里的数据在调用后进行排序。