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

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

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

班级: 1623

姓名: 蔡文琛

学号:20162328

指导教师:娄嘉鹏 王志强

实验日期:12月15日

实验密级: 非密级

预习程度: 已预习

必修/选修: 必修

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

实验内容:

1.分析系统架构

2.编译、运行、测试系统

3.修改系统

4.分析数据结构、排序、查找算法的应用

实验要求

1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程

完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是 运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决 办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可 以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导

严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。

数据结构分析

这次项目我们组从一开始就严格按照老师所讲,为我们的项目设计了非常缜密的结构层次,保证详细到每个细节,让用户拥有不同的app体验。

周五实验总结

实验一

实验要求我们对小组码云项目的代码克隆和运行。

建立个人文件夹,进入码云项目,使用bash将项目的所有代码全部克隆到自己的文件夹中。

使用Android Studio对克隆的代码进行编译运行。

实验二

添加可以显示自己学号姓名的按钮,以及改变游戏视图界面。

在布局文件中添加button,调整button的位置,改变button的名字,在主活动中添加要显示的信息。

改变设定好的游戏地图数组,显示出不同的地图。

查找算法的运用

//判断按键对象
    private boolean touch_blow_to_man(int touch_x, int touch_y, int manRow, int manColumn) {
        int width = (int) buttonWidth;
        int hight = (int) buttonHight;
        Rect belowRect = new Rect(2*width,getWidth()+2*hight,3*width,getWidth()+3*hight);
        return belowRect.contains(touch_x, touch_y);
    }

    private boolean touch_above_to_man(int touch_x, int touch_y, int manRow, int manColumn) {
        int width = (int) buttonWidth;
        int hight = (int) buttonHight;
        Rect aboveRect = new Rect(2*width,getWidth(),3*width,getWidth()+hight);
        return aboveRect.contains(touch_x, touch_y);
    }

    private boolean touch_left_to_man(int touch_x, int touch_y,  int manRow, int manColumn) {
        int width = (int) buttonWidth;
        int hight = (int) buttonHight;
        Rect leftRect = new Rect(width,getWidth()+hight,2*width,getWidth()+2*hight);
        return leftRect.contains(touch_x, touch_y);
    }

    private boolean touch_right_to_man(int touch_x, int touch_y, int manRow, int manColumn) {
        int width = (int) buttonWidth;
        int hight = (int) buttonHight;
        Rect rightRect = new Rect(3*width,getWidth()+hight,4*width,getWidth()+2*hight);
        return rightRect.contains(touch_x, touch_y);
    }
    private boolean touch_back_to_man(int touch_x, int touch_y, int manRow, int manColumn) {
        int width = (int) buttonWidth;
        int hight = (int) buttonHight;
        Rect rightRect = new Rect(4*width,0,5*width,hight);
        return rightRect.contains(touch_x, touch_y);
    }

以上代码首先用查找的方法确定每个键位的位置,也就是所谓的坐标,然后和想要实现的对象相比较,如果相等,就返回“真”,然后继续进行下一步操作。

本次实验检验了小组各个成员对于小组项目代码是否熟悉,能否自主运行并解释代码的含义。

时间: 2024-11-06 09:41:12

20162328蔡文琛 实验五 数据结构综合应用的相关文章

20162328蔡文琛 实验四 图的实现与应用

20162328蔡文琛 大二 实验四 任务详情 实验1 用邻接矩阵实现无向图(边和顶点都要保存),实现在包含添加和删除结点的方法,添加和删除边的方法,size(),isEmpty(),广度优先迭代器,深度优先迭代器 实现类 public class MatrixUDG { private char[] mVexs; // 顶点集合 private int[][] mMatrix; // 邻接矩阵 /* * 创建图(自己输入数据) */ public boolean isEmpty(){ bool

20162328蔡文琛 第二学期课程总结

学号20162328 2016-2017-2<程序设计与数据结构>课程总结 每周作业链接汇总 第一周作业 算法+程序机构=程序 渐进复杂度称为算法的阶. 算法分析是计算机科学的基础课题 第三周作业 查找是在一组项内找到指定目标或是确定目标不存在的过程. 搞高效的查找使得比较的次数最少. Comparable接口允许许多动态实现算法,而不是指应用于特定的类. 二分查找的每次比较都排除了一半的可行候选数据. 排序是按某种标准将一列数据项按确定的次序重排的过程. 教材学习内容总结 教材学习中的问题和

实验五 数据结构综合应用

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

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

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

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类也只是简单的

20162328蔡文琛 week11 大二

20162328 2017-2018-1 <程序设计与数据结构>第十一周学习总结 教材学习内容总结 在无向图中,表示边的顶点对是无序的. 如果图中的两个顶点之间有边链接,则称它们是领接的. 如果无向图中连接顶点的边数达到最大,则称为完全图. 路径是图中连接两个顶点的边的序列. 第一个顶点和最后一个顶点相图且边不重复的路径称为环. 在有向图中,边是顶点的有序对. 有向图中的路径是连接图中两个顶点的有向边的序列. 图的每条边上都有对应的权值的图称为带权图. 图的深度优先遍历与广度优先遍历的主要差异

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