20162302 实验五《数据结构综合应用》实验报告

实 验 报 告

课程:程序设计与数据结构

姓名:杨京典

班级:1623

学号:20162302

实验名称:数据结构综合应用

实验器材:装有IdeaU的联想拯救者15ISK


实验目的与要求:

1.编译运行测试

2.代码修改

3.代码分析

实验内容、步骤与体会:

实验内容:


编译运行测试

  • 点击红色圈出来的地方

  • 选择虚拟机也可以选择连在usb上的物理机,在这里就选择虚拟机

  • 运行成功

  • 测试按下方向键会向不同方向移动,并记录按键步数

  • 把箱子推到指定位置会出现过关画面并播放一小段音乐

代码修改

  • 增加按键效果

    原来的代码是

        choose.setOnClickListener(new View.OnTouchListener() {
            @Override
            public void onTouch(View v) {
                    Intent intent = new Intent(MainActivity.this, GameOption.class);
                    startActivity(intent);
            }
        })

    setOnClickListener改为setOnTouchListener以获取点击抬起来的事件。在按下的时候更换图片,在抬起来后更换新的图片。

        choose.setOnTouchListener(new View.OnTouchListener() {
            @Override
            //设置监听事件
            public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_DOWN) {
                    //更改为按下时的背景图片
                    v.setBackgroundResource(R.mipmap.chooes1);
                } else if (event.getAction() == MotionEvent.ACTION_UP) {
                    //改为抬起时的图片
                    v.setBackgroundResource(R.mipmap.chooes);
                    //新建一个本活动到排行榜界面的intent
                    Intent intent = new Intent(MainActivity.this, GameOption.class);
                    //启动这个intent
                    startActivity(intent);
                }
                return false;
            }
        });
  • 增加新的关卡

    这一更改相对来说要简单得多,关卡以二维数组的形式存储在GameLevels里面,增加关卡首先要增加一个二维数组。

    public static final int [][] LEVEL_11 = {
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0,0 ,0 ,0 ,0, 0, 0,  0, 0, 0, 0},
            {0, 0, 0, 0, 0 ,0, 0, 0, 0, 0, 0, 0 ,0, 0, 0, 0},
            {0, 0, 0, 0, 0 ,5 ,1 ,4 ,1 ,1 ,1, 2, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0, 0, 0, 0},
            {0, 0, 0, 0, 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0 ,0 ,0 ,0 ,0 ,0 ,0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0 ,0, 0 ,0 ,0 ,0 ,0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
    };

    然后把这一关卡加到list里面

    OriginalLevels.add(LEVEL_11);

    运行结果

代码分析

  • 主界面是MainActivity上面有四个按键是到各个界面的枢纽。
  • SysApplication类实现了对活动的管理,把所有的活动都放到list里面,在结束活动的时候可以逐一结束所有活动。
  • 选项按钮连接到GameOption活动,可以实现对于音乐的打开和关闭。
  • 开始按钮连接到GameLevelActivity界面,这个按钮是选关按钮,这个界面使用ArrayAdapter自动生成相应关卡数目的按钮。
  • 这一方法调用GameLevels类,这个类是用来储存关卡的,可以获取所点击到的相应的关卡数。
  • 然后将获取的二维数组传递到下一活动GameActivity,这一活动是负责关卡的核心,调用GameState进行矩阵运算实时生成新的矩阵。
  • GameBitmaps类负责将矩阵实时转换成图像界面。
时间: 2024-10-10 09:18:26

20162302 实验五《数据结构综合应用》实验报告的相关文章

实验五 数据结构综合应用

20162317袁逸灏 实验五 数据结构综合应用 实验内容 实验五-1-编译.运行.测试 git clone 小组项目 编译项目,提交编译成功截图(全屏,要有学号信息) 提交运行过程中的截图(全屏,要有学号信息) 实验五-2-代码修改 在小组项目中,找一个合适的地方添加一个按钮,点击显示自己的学号 提交运行截图(全屏,要有学号信息) 实验要求 分析系统架构 编译.运行.测试系统 修改系统 分析数据结构.排序.查找算法的应用 实验过程 实验五-1-编译.运行.测试 这个实验考察的是学生对于代码项目

实验五 数据结构综合应用 20162305

实验五 数据结构综合应用 20162305 0 分析系统架构 我们本次做的是一个飞机大战的游戏,本次游戏是想让使用者通过操控一个飞机进行击毁敌机和躲避敌机的操作.这个APP总体是基于精灵类ISpirte实现了战斗机类,走直线的精灵类和爆炸类,这些类构成了整个APP的整体架构,所有的功能都集中在这几个类中. 战斗机类CombatAircraft: 战斗机类,定义一个由玩家操控的战斗机,这个战斗机每隔7帧发射子弹,并且设定方法确定战斗机一直处在界面中.战斗机如果被击中,执行爆炸效果.具体来说,首先隐

20162328蔡文琛 实验五 数据结构综合应用

实验五:数据结构综合应用 课程:程序设计与数据结构 班级: 1623 姓名: 蔡文琛 学号:20162328 指导教师:娄嘉鹏 王志强 实验日期:12月15日 实验密级: 非密级 预习程度: 已预习 必修/选修: 必修 实验名称: 数据结构综合应用 实验内容: 1.分析系统架构 2.编译.运行.测试系统 3.修改系统 4.分析数据结构.排序.查找算法的应用 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 完成实验.撰写实验报告,

20162308 实验五 数据结构综合应用

style: ocean 实验四 -图的实现与应用 实验内容 实验五-1-编译.运行.测试 1 git clone 小组项目.2 编译项目,提交编译成功截图(全屏,要有学号信息).3 提交运行过程中的截图(全屏,要有学号信息). 实验五-2-代码修改 1. 在小组项目中,找一个合适的地方添加一个按钮,点击显示自己的学号.2. 提交运行截图(全屏,要有学号信息).3. 在项目中找一个界面,自己复制一份命名为XXXbak,修改代码,替换原来的部分.4. 提交运行截图(全屏,要有学号信息). 实验五-

20162303 实验五 数据结构综合应用

北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级: 1623 姓名: 石亚鑫 学号:20162303 成绩: 2分 指导教师:娄嘉鹏 王志强 实验日期:12月15日 实验密级: 非密级 预习程度: 已预习 实验时间:10:00-12:00 必修/选修: 必修 实验序号: cs_03 实验内容 实验 分析系统架构 首先分析一下各部分代码 card类 card是用来显示2048游戏中的数字卡片,首先设定的是card的背景 /* * LayoutParams类也只是简单的

20162320刘先润大二 实验五 数据结构综合应用

一.分析系统架构 二.编译.运行.测试系统 1.首先进入团队项目的码云? Java演绎法?,点击克隆/下载按钮下的复制 2.打开Android Studio,点击VCS列表下的Git,然后点击clone 3.将复制的地址粘贴到Git Repository URL下,然后选择克隆路径和名称,点击clone,等待克隆完成就相当于编译成功 4.点击run并配置相应的虚拟手机设备,运行截图如下 三.修改系统 1.首先打开主界面的xml文件,进入design模式,从左边添加一个按钮进入任意位置,查看其id

实验五数据结构综合应用 20162310

分析系统架构 Sprite精灵类 ISprite精灵类是所有类的父类 CombatAircraft战斗机类 首先确保战斗机完全位于Canvas范围内,每隔7帧发射单发黄色子弹. protected void beforeDraw(Canvas canvas, Paint paint, GameView gameView) { if(!isDestroyed()){ //确保战斗机完全位于Canvas范围内 validatePosition(canvas); //每隔7帧发射子弹 if(getFr

2017-2018-1 20155235 实验五 通讯协议设计 实验内容

2017-2018-1 20155235 实验五 通讯协议设计 实验内容 一.安装OpenSSL 二.通过混合密码系统进行防护 实验步骤 一.安装OpenSSL 在Ubuntu中完成 http://www.cnblogs.com/rocedu/p/5087623.html 中的作业 提交运行结果截图 在运行中出现了一些问题,会在下面的测试中遇到的问题详解 二.通过混合密码系统进行防护 在Ubuntu中实现对实验二中的"wc服务器"通过混合密码系统进行防护 提交测试截图) 实验流程 在虚

2019-2020-2314《数据结构与面向对象程序设计》实验五报告

学号 2019-2020-2314<数据结构与面向对象程序设计>实验四报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 鞠明翰 学号:20182314 实验教师:王志强 实验日期:2019年10月18日 必修/选修: 必修 1.实验内容 1.1 Android Stuidio的安装测试 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十四章: 参考http://www.cnblogs.com