炸弹

Java飞机大战游戏设计与实现

一笑奈何 提交于 2019-12-03 09:35:16
1 概述 1.1 项目简介 本次Java课程设计是做一个飞机大战的游戏,应用Swing编程,完成一个界面简洁流畅、游戏方式简单,玩起来易于上手的桌面游戏。该飞机大战项目运用的主要技术即是Swing编程中的一些窗口类库、事件监听以及贴图技术。 1.2 实训功能说明 1.2.1 基本功能 通过键盘,方向键和ASWD键可控制战机的位置,空格键和鼠标左键发射子弹 界面中敌机出现的位置,以及敌机和Boss炸弹的发射均为随机的,敌机与敌机炸弹、Boss炸弹均具有一定的速度,且随着关卡难度的增大,数量和速度均随着关卡数增加而增加 对于随机产生的敌机和敌机炸弹,若超过矩形区域,则释放该对象 添加碰撞效果,包括战机子弹打中敌机爆炸、敌机炸弹打中战机爆炸、战机与敌机相撞爆炸、战机子弹与敌机炸弹相撞爆炸、战机子弹打中Boss、战机与Boss碰撞以及战机吃到血包七种碰撞效果。且碰撞发生后子弹、炸弹、血包均消失,战机生命值减一,敌机和Boss生命值减少当前战机炮弹威力的生命值,若敌机或Boss生命值归零,则删除敌机或Boss 血包:随着关卡游戏进程的进行,会出现一定量的血包供战机补给生命值,血包会在客户区矩形框内运动,10秒后消失;若战机在10秒内吃到血包,则会增加5点生命值知道生命值上限 每关中战机有三条命,每条命10点生命值,生命使用完后,会进入GameOver界面显示得分数

第二次结对编程作业

时光总嘲笑我的痴心妄想 提交于 2019-12-03 00:10:15
一、链接 结对同学博客链接(刘伟楠) 本次作业博客链接 GitHub项目地址 二、具体分工 前端: 刘伟楠 后端: 林易丰 博客: 两人共同完成 三、PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 15 · Estimate · 估计这个任务需要多少时间 20 15 Development 开发 780 720 · Analysis · 需求分析 (包括学习新技术) 160 160 · Design Spec · 生成设计文档 120 130 · Design Review · 设计复审 40 40 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 60 60 · Design · 具体设计 60 120 · Coding · 具体编码 80 80 · Code Review · 代码复审 20 20 · Test · 测试(自我测试,修改代码,提交修改) 30 45 Reporting 报告 40 40 · Test Report · 测试报告 10 10 · Size Measurement · 计算工作量 10 10 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 40

第二次结对编程作业

廉价感情. 提交于 2019-12-03 00:09:03
一、链接 结对同学博客链接(林易丰) 本次作业博客链接 GitHub项目地址 二、具体分工 前端: 刘伟楠 后端: 林易丰 博客: 两人共同完成 三、PSP表格 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 15 · Estimate · 估计这个任务需要多少时间 20 15 Development 开发 780 720 · Analysis · 需求分析 (包括学习新技术) 160 160 · Design Spec · 生成设计文档 120 130 · Design Review · 设计复审 40 40 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 60 60 · Design · 具体设计 60 120 · Coding · 具体编码 80 80 · Code Review · 代码复审 20 20 · Test · 测试(自我测试,修改代码,提交修改) 30 45 Reporting 报告 40 40 · Test Report · 测试报告 10 10 · Size Measurement · 计算工作量 10 10 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 40

拆炸弹!bomb-whu,phase-1

匿名 (未验证) 提交于 2019-12-02 23:57:01
6个关卡,难度随关卡升级而提升; 通过解读汇编代码来推断其对应的函数结构(推断过程不唯一),某些关卡答案不唯一; 尽力而为,能通几关就几关。 提示: 第一关(知识点:string,函数调用,栈) 第二关(知识点:循环语句,数组) 第三关(知识点: switch语句) 第四关(知识点:递归) 第五关(知识点:字串变换,ascii转换,寻址) 第六关(知识点:寻址) (第1-5关,各15分。第6关10分。实验总结15分。) 注1: 当前用户可能对bomb文件没有执行权限,建议先用ls查看文件权限,若没有执行权限,请用chmod +x bomb命令增加当前用户对bomb文件的执行权限。 注2: 若用命令./bomb执行该文件提示no such file时,请先用 su szu 切换到szu账户,然后输入命令sudo apt-get install lib32z1,等待下载安装完毕即可。 三、实验环境: 1. 计算机(Intel CPU) 2. Linux64位操作系统(Ubuntu 17) 3. GDB调试工具 4. objdump反汇编工具 四、实验方法与步骤 1. 首先对bomb文件进行反汇编,并将结果输出到1.txt。 $ objdump -d bomb_64 > 1.txt 080488c0 <phase_1> : 80488c0 : 83 ec 1c sub $0x1c ,%

激光炸弹

匿名 (未验证) 提交于 2019-12-02 23:49:02
题目描述 输入格式 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi 。 输出格式 输出文件名为output.txt 输出文件仅有一个正整数,表示一颗炸弹最多能炸掉地图上总价值为多少的目标(结果不会超过32767)。 输入输出样例 输入 #1 复制 2 1 0 0 1 1 1 1 输出 #1 复制 1 #include<bits/stdc++.h> #define MAX 5010 #define N 10010 using namespace std; int n,r,ans,maxn,maxm,s[MAX][MAX],r1,r2; int main(){ scanf("%d%d",&n,&r); if(n==0){ printf("0\n"); return 0; } if(r==0){ printf("0"); return 0; } for(int i=1;i<=n;i++){ int x,y,v; scanf("%d%d%d",&x,&y,&v); x++;y++; maxn=max(maxn,x); maxm=max(maxm,y); s[x][y]=v; } for(int i=1;i<=maxn;i++){ int l=0; for(int j=1;j<=maxm;j++){ l=l+s

[LOJ#2255][BZOJ5017][Snoi2017]炸弹

匿名 (未验证) 提交于 2019-12-02 23:48:02
#include<iostream> #include<cstring> #include<cstdio> #include<vector> #include<queue> #define int LL #define LL long long #define mod 1000000007 #define MAXN 500010 using namespace std; struct edge { int u,v,nxt; #define u(x) ed[x].u #define v(x) ed[x].v #define n(x) ed[x].nxt #define u2(x) ed2[x].u #define v2(x) ed2[x].v #define n2(x) ed2[x].nxt }ed[1000000],ed2[1000000]; int first[MAXN],num_e; #define f(x) first[x] int first2[MAXN],num_e2; #define f2(x) first2[x] int n,du[MAXN]; int x[MAXN],r[MAXN]; int dfn[MAXN],low[MAXN],cnt; int stack[MAXN],top; int belong[MAXN],tot; bool v[MAXN]; vector

第六届蓝桥杯省赛C/C++B组

ぃ、小莉子 提交于 2019-12-02 10:59:50
编程的大题因为没有办法在OJ上提交,不知道是否能过100%的数据,但是大致就是这个意思。 1.奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。 请提交该数字(一个整数),不要写任何多余的内容或说明性文字。 52488 #include<stdio.h> #include<string.h> int main() { int num=0; for(int i=10000; i<=99999; i++) { int x=i; while(x) { if(x%10==4) { num++; break; } x/=10; } } printf("%d\n",90000-num); return 0; } 2.星系炸弹 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。 请填写该日期,格式为 yyyy-mm-dd

2015第六届蓝桥杯JavaA组省赛真题详解

柔情痞子 提交于 2019-12-02 10:59:35
目录 第一题:熊怪吃核桃 第二题:星系炸弹 第三题:九数分三组 第四题:循环节长度 第五题:打印菱形 第六题:加法变乘法 第七题:牌型种数 第八题:移动距离 第九题:垒骰子 第十题:灾后重建 题解待更新 第一题:熊怪吃核桃 题目描述 森林里有一只熊怪,很爱吃核桃。不过它有个习惯,每次都把找到的核桃分成相等的两份,吃掉一份,留一份。如果不能等分,熊怪就会扔掉一个核桃再分。第二天再继续这个过程,直到最后剩一个核桃了,直接丢掉。 有一天,熊怪发现了1543个核桃,请问,它在吃这些核桃的过程中,一共要丢掉多少个核桃。 请填写该数字(一个整数),不要填写任何多余的内容或说明文字。 第二题:星系炸弹 题目描述 在X星系的广袤空间中漂浮着许多X星人造“炸弹”,用来作为宇宙中的路标。 每个炸弹都可以设定多少天之后爆炸。 比如:阿尔法炸弹2015年1月1日放置,定时为15天,则它在2015年1月16日爆炸。 有一个贝塔炸弹,2014年11月9日放置,定时为1000天,请你计算它爆炸的准确日期。 请填写该日期,格式为 yyyy-mm-dd 即4位年份2位月份2位日期。比如:2015-02-19 请严格按照格式书写。不能出现其它文字或符号。 第三题:九数分三组 题目描述 1~9的数字可以组成3个3位数,设为:A,B,C, 现在要求满足如下关系: B = 2 * A C = 3 * A

【SNOI2017】炸弹

南笙酒味 提交于 2019-12-01 05:28:48
在一条直线上有 N 个炸弹,每个炸弹的坐标是 Xi , 爆炸半径是 Ri 当一个炸弹爆炸时,如果另一个炸弹在其爆炸范围内,那么,该炸弹也会被引爆 现在,请你帮忙计算一下,先把第 i 个炸弹引爆,将引爆多少个炸弹呢? 答案对1000000007取模 要求输出的是 \(\sum_{i=1}^{n} i*ans[i]\) 这么经典的线段树优化建边,居然现在才做…… 而且搞的还是玄学方法,每次lower_bound和upper_bound找其单独能炸到的所有炸弹 然后用一棵线段树来维护…… 代码: #include<bits/stdc++.h> #define LL long long #define mod 1000000007 #define mid ((l+r)>>1) #define N 500005 #define M 1000005 using namespace std; LL n,x[N],r[N],lef[N],rig[N]; LL tl[N<<2],tr[N<<2]; LL xx,yy,ll,rr; LL ans=0; template<class T>inline void read(T &res) { char c;T flag=1; while((c=getchar())<'0'||c>'9')if(c=='-')flag=-1;res=c-'0'; while(

A1139-引爆炸弹 计蒜客 bfs剪枝

半城伤御伤魂 提交于 2019-11-29 06:30:44
题目链接 https://nanti.jisuanke.com/t/A1139 在一个 n \times m n × m 的方格地图上,某些方格上放置着炸弹。手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去。 现在为了引爆地图上的所有炸弹,需要手动引爆其中一些炸弹,为了把危险程度降到最低,请算出最少手动引爆多少个炸弹可以把地图上的所有炸弹引爆。 输入格式 第一行输两个整数 n,m n , m,用空格隔开。 接下来 n n 行,每行输入一个长度为 m m 的字符串,表示地图信息。 0 表示没有炸弹, 1 表示炸弹。 数据约定: 对于 60\% 6 0 % 的数据: 1 \le n, m \le 100 1 ≤ n , m ≤ 1 0 0; 对于 100\% 1 0 0 % 的数据: 1 \le n, m \le 1000 1 ≤ n , m ≤ 1 0 0 0; 数据量比较大,不建议用 cin 输入。 输出格式 输出一个整数,表示最少需要手动引爆的炸弹数。 样例输入 复制 5 5 00010 00010 01001 10001 01000 样例输出 复制 2思路:我开始认为是简单的bfs,便开始用bfs实现,但是很明显在第8个样例时卡住了我想如果是1000*1000个点都是1就要重复遍历1e9这样就会超时