安卓大作业

团队成员:

盖星辰:https://www.cnblogs.com/161gxc/

杨虎秀:https://www.cnblogs.com/yanghuxiu/

张雄:https://www.cnblogs.com/zhangxiongwx/

代码链接:https://git.coding.net/gxc161/android3.git

apk链接:https://git.coding.net/gxc161/android3.git

演示视频:https://www.bilibili.com/video/av39963775

项目介绍:

这是一个类似是男人就下一百层的闯关游戏,玩家控制着小人不断下落,积累积分。

刚进入游戏的界面:

其他操作界面:

游戏运行界面:

实现的功能:

1、小人左右移动。

2、自动生成挡板。

3、检测失败条件。

4、实现难度控制。

5、记录得分并实现排行榜。

6、播放音乐。

7、流畅播放小人下落的动画。

关键代码:

1、难度控制:

private void setGameLevelAndMen(){   //难度修改
        switch (level){
            case "小儿科":
                moveTime =12;
                addPadelTime =150;
                break;
            case "老年痴呆":
                moveTime =8;
                addPadelTime =180;
                break;
            case "精神病":
                moveTime =5;
                addPadelTime =250;
                break;
            case "疯人院":
                moveTime =3;
                addPadelTime =200;
                break;
        }
    }
View Code

 

2、按键响应

public void onClick(View view) {  //用户点击了暂停按钮
        sp.play(songID,1,1,0,0,1);
        padel.suspendGame();
        mp.pause();
       new AlertDialog.Builder(this).setTitle("暂停").setMessage("暂停了游戏").setPositiveButton("返回主菜单"
               , new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialogInterface, int i) {
                        mp.release();
                        mp=null;
                        finish();
                   }
               }).setNegativeButton("继续游戏", new DialogInterface.OnClickListener() {
           @Override
           public void onClick(DialogInterface dialogInterface, int i) {
               padel.continueGame();
               mp.start();
           }
       }).setCancelable(false).show();
    }
View Code
public void onBackPressed() {   //用户按下返回键的监听事件
        padel.suspendGame();
        mp.pause();
        new AlertDialog.Builder(this).setTitle("暂停").setMessage("暂停了游戏").setPositiveButton("返回主菜单"
                , new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        mp.release();
                        mp=null;
                        finish();
                    }
                }).setNegativeButton("继续游戏", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                padel.continueGame();
                mp.start();
            }
        }).setCancelable(false).show();

    }
View Code

 

3、小人移动代码

public boolean onTouchEvent(MotionEvent event) {
       if(event.getX()>x){  //右边
          if((menX +man.getWidth())<dm.widthPixels)
           man.setTranslationX(menX +=10);
       }
       if(event.getX()<x){  //左边
           if(menX >0)
           man.setTranslationX(menX -=10);
       }
        return true;
    }
View Code

 

遇到的问题:

盖星辰,学号:1600802007,在做项目遇到的问题有:

1、踏板的生成位置不好控制,不能出现必死局面。

解决方法:设计踏板类与算法。

2、小人移出踏板后的运动轨迹太难计算,且游戏难度太高。

解决方法:不计算运动轨迹,让玩家在小人在空中时也能控制小人移动。

张雄,学号:1600802032在编写该游戏的代码时,我遇见了两个问题,一是数据传输和存储,二是数据库被锁异常。
(1)数据传输存储:最初用Inyent来传输数据,但是数据没有正常传输,后来通过设置继承了一个Application的类解决了数据在不同Activity中传输的问题
(2)数据库被锁异常:可以出现此问题的一种情况是:创建多个SQLiteOpenHelper实例,一个对应的连接正在写,另一个getWritableDatabase 。 需要避免创建多个实例。

.杨虎秀,学号1600802029

(1)不知道怎么保持竖屏,上网查询之后,在xml文件里加上android:screenOrientation="portrait"语句就好了。
(2)不知道怎么实现页面的跳转,解决方法是后面直接用canvas函数配合switch进行绘画界面。

对其他组的评价

1)洪居兴组:旅游APP

总结:完成了注册和手机号验证登录,功能齐全,界面做的比较好

优点:功能实现多,手机验证码登录和地图位置两个功能做的很棒,界面也比较美观。

缺点:每次打开时就要重新登录一次,景区和酒店搜索功能还没有实现。

如果我们优化:我们会实现可以搜索景区和酒店这块功能。

(2)李怡龙组  网络连接APP

总结:他做的这个很新奇,时效型很好。

优点:他做的有pc部分与安卓部分,涉及到了很多没有学过的,实现的功能为对局域网的连接与各种设置。

缺点:app在某些情况下会出现闪退情况。

如果我们优化:先将app的闪退问题解决,然后再对项目的其他需求进行完善。
(3)李钊组

总结:整体设计不错,功能齐全

优点:这个app不仅可以查看世界排名,还可以查找自己喜欢的或者查看优秀球员的视频。布局不错,看的很清楚

缺点:有的查看视频看不了,希望可以处理一下

如果我们优化:可以添加进行查看实时视频的模块。

(4)韩璐组  音乐播放器APP

总结:界面,包括APP的图标都比较好看

优点:可以把从内存卡中获取的本地音乐添加到另外一个播放列表中,包括APP的图标都比较有特色。

缺点:音量控制没有写出来。

如果我们优化:我们会把音量控制这个功能实现。

(5)李凌龙组  简易账本APP

总结:记录一些生活中的小开销,让人们对自己的日常资金流向很清楚。

优点:在新建的账本中可以插入多条信息,对已经记录的账目可以进行修改。

缺点:没有加密和录音这两个模块

如果我们优化:我们会把加密和录音这两个功能实现。


 

姓名

分工 工作比例 分数
盖星辰 后端代码 4 4
杨虎秀 前端界面 3 3
张雄 数据库、收集素材、播放歌曲 3 3

 

posted @ 2019-01-02 16:00  盖星辰  阅读(774)  评论(0编辑  收藏  举报