📄 feiji_canvas.java
字号:
void next_pengzhuang_feiji_daoju(){//飞机碰道具
for(int i=0;i<daoju_shuzu.length;i++){
if(daoju_shuzu[i][4]!=0){
if(panduan_pengzhuang(feiji_ziji_x,feiji_ziji_y,feiji_ziji_W,feiji_ziji_H,daoju_shuzu[i][0],daoju_shuzu[i][1],daoju_shuzu[i][5],daoju_shuzu[i][6])){
switch(daoju_shuzu[i][4]){
case 1:
feiji_ziji_zidan_weili+=10;
daoju_shuzu[i][4]=0;
break;
}
}
}
break;
}
}
void next_pengzhuang_npc_zidan_ziji(){//npc的子弹碰自己
for(int i=0;i<npc_zidan_shuzu.length;i++){
if(npc_zidan_shuzu[i][4]!=0){
if(panduan_pengzhuang(npc_zidan_shuzu[i][0],npc_zidan_shuzu[i][1],npc_zidan_shuzu[i][5],npc_zidan_shuzu[i][6],feiji_ziji_x,feiji_ziji_y,feiji_ziji_W,feiji_ziji_H)){
feiji_ziji_hp-=npc_zidan_shuzu[i][4];
npc_zidan_shuzu[i][4]=0;
}
break;
}
}
}
void paint_pengzhuang_ziji_zidan_feiji(Graphics g){//自己的子弹碰敌机
for(int i=0;i<feiji_ziji_zidan_shuzu.length;i++){
for(int j=0;j<npc_feiji_shuzu.length;j++){
if(feiji_ziji_zidan_shuzu[i][5]!=0&&npc_feiji_shuzu[j][5]!=0){
if(panduan_pengzhuang(feiji_ziji_zidan_shuzu[i][0],feiji_ziji_zidan_shuzu[i][1],feiji_ziji_zidan_W,feiji_ziji_zidan_H,npc_feiji_shuzu[j][0],npc_feiji_shuzu[j][1],npc_feiji_shuzu[i][10],npc_feiji_shuzu[i][11])){
npc_feiji_shuzu[j][4]-=feiji_ziji_zidan_shuzu[i][4];
if(npc_feiji_shuzu[j][4]<=0){
switch(npc_feiji_shuzu[j][5]){
case 1:
npc_feiji_shuzu[j][5]=0;
g.setClip(npc_feiji_shuzu[j][0],npc_feiji_shuzu[j][1],33,29);
g.drawImage(baozha,npc_feiji_shuzu[j][0]-4*33,npc_feiji_shuzu[j][1],0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]-5*33,npc_feiji_shuzu[j][1],0);
break;
case 4:
npc_feiji_shuzu[j][5]=0;
g.setClip(npc_feiji_shuzu[j][0]+14,npc_feiji_shuzu[j][1]+15,33,29);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+14-3*33,npc_feiji_shuzu[j][1]+15,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+14-4*33,npc_feiji_shuzu[j][1]+15,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+14-5*33,npc_feiji_shuzu[j][1]+15,0);
for(int k=0;k<daoju_shuzu.length;k++){
if(daoju_shuzu[k][4]==0){
daoju_shuzu[k][0]=npc_feiji_shuzu[j][0]+20;
daoju_shuzu[k][1]=npc_feiji_shuzu[j][1]+20;
daoju_shuzu[k][2]=1;
daoju_shuzu[k][3]=1;
daoju_shuzu[k][4]=1;
daoju_shuzu[k][5]=19;
daoju_shuzu[k][6]=19;
break;
}
}
break;
case 5:
npc_feiji_shuzu[j][5]=0;
g.setClip(npc_feiji_shuzu[j][0]+14,npc_feiji_shuzu[j][1]+15,33,29);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-0*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-1*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-2*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-3*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-4*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-5*33,npc_feiji_shuzu[j][1]+22,0);
win=true;
break;
}
}
feiji_ziji_zidan_shuzu[i][5]=0;
g.setClip(feiji_ziji_zidan_shuzu[i][0]-7,feiji_ziji_zidan_shuzu[i][1]-8,33,29);
g.drawImage(baozha,feiji_ziji_zidan_shuzu[i][0]-7-0*33,feiji_ziji_zidan_shuzu[i][1]-8,0);
g.drawImage(baozha,feiji_ziji_zidan_shuzu[i][0]-7-1*33,feiji_ziji_zidan_shuzu[i][1]-8,0);
}
}
}
}
for(int i=0;i<feiji_ziji_zidan_paopao_shuzu.length;i++){
for(int j=0;j<npc_feiji_shuzu.length;j++){
if(feiji_ziji_zidan_paopao_shuzu[i][5]!=0&&npc_feiji_shuzu[j][5]!=0){
if(panduan_pengzhuang(feiji_ziji_zidan_paopao_shuzu[i][0],feiji_ziji_zidan_paopao_shuzu[i][1],feiji_ziji_zidan_paopao_W,feiji_ziji_zidan_paopao_H,npc_feiji_shuzu[j][0],npc_feiji_shuzu[j][1],npc_feiji_shuzu[i][10],npc_feiji_shuzu[i][11])){
npc_feiji_shuzu[j][4]-=feiji_ziji_zidan_paopao_shuzu[i][4];
if(npc_feiji_shuzu[j][4]<=0){
switch(npc_feiji_shuzu[j][5]){
case 1:
npc_feiji_shuzu[j][5]=0;
g.setClip(npc_feiji_shuzu[j][0],npc_feiji_shuzu[j][1],33,29);
g.drawImage(baozha,npc_feiji_shuzu[j][0]-4*33,npc_feiji_shuzu[j][1],0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]-5*33,npc_feiji_shuzu[j][1],0);
break;
case 4:
npc_feiji_shuzu[j][5]=0;
g.setClip(npc_feiji_shuzu[j][0]+14,npc_feiji_shuzu[j][1]+15,33,29);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+14-3*33,npc_feiji_shuzu[j][1]+15,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+14-4*33,npc_feiji_shuzu[j][1]+15,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+14-5*33,npc_feiji_shuzu[j][1]+15,0);
for(int k=0;k<daoju_shuzu.length;k++){
if(daoju_shuzu[k][4]==0){
daoju_shuzu[k][0]=npc_feiji_shuzu[j][0]+20;
daoju_shuzu[k][1]=npc_feiji_shuzu[j][1]+20;
daoju_shuzu[k][2]=1;
daoju_shuzu[k][3]=1;
daoju_shuzu[k][4]=1;
daoju_shuzu[k][5]=19;
daoju_shuzu[k][6]=19;
break;
}
}
break;
case 5:
npc_feiji_shuzu[j][5]=0;
g.setClip(npc_feiji_shuzu[j][0]+14,npc_feiji_shuzu[j][1]+15,33,29);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-0*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-1*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-2*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-3*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-4*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-5*33,npc_feiji_shuzu[j][1]+22,0);
win=true;
break;
}
}
feiji_ziji_zidan_paopao_shuzu[i][5]=0;
g.setClip(feiji_ziji_zidan_paopao_shuzu[i][0]-5,feiji_ziji_zidan_paopao_shuzu[i][1]-3,33,29);
g.drawImage(baozha,feiji_ziji_zidan_shuzu[i][0]-5-0*33,feiji_ziji_zidan_shuzu[i][1]-3,0);
g.drawImage(baozha,feiji_ziji_zidan_shuzu[i][0]-5-1*33,feiji_ziji_zidan_shuzu[i][1]-3,0);
}
}
}
}
}
void paint_daoju(Graphics g){
for(int k=0;k<daoju_shuzu.length;k++){
if(daoju_shuzu[k][4]!=0){
g.setClip(daoju_shuzu[k][0],daoju_shuzu[k][1],daoju_shuzu[k][5],daoju_shuzu[k][6]);
g.setColor(0xffff00);
g.fillArc(daoju_shuzu[k][0],daoju_shuzu[k][1]+3,daoju_shuzu[k][5],daoju_shuzu[k][6]-6,0,360);
}
}
}
void next_daoju_yidong(){
int b=Math.abs(r.nextInt()%3+1)-2;
for(int i=0;i<daoju_shuzu.length;i++){
switch(daoju_shuzu[i][4]){
case 1:
daoju_shuzu[i][0]-=b*daoju_shuzu[i][2];
daoju_shuzu[i][1]-=b*daoju_shuzu[i][3];
break;
}
}
for(int i=0;i<daoju_shuzu.length;i++){
if(daoju_shuzu[i][4]!=0){
if(daoju_shuzu[i][0]<=-30||daoju_shuzu[i][0]>=200||daoju_shuzu[i][1]<=-30||daoju_shuzu[i][1]>=250){
daoju_shuzu[i][4]=0;
}
}
}
}
void next_ziji_feijishifoucunhuo(){//自己飞机是否存活
if(feiji_ziji_hp<=0){
feiji_ziji_cunzai=false;
}
}
void next_youxijieshu(){
if(feiji_ziji_cunzai==false){
game_state=game_state_over;
}
}
void paint_gaishang(Graphics g){//盖上它,蓝的
g.setClip(0,0,500,500);
g.setColor(0x0000ff);
g.fillRect(screen_W,0,getWidth()-screen_W,getHeight());
g.fillRect(0,screen_H,getWidth(),getHeight()-screen_H);
}
void paint_game_over(Graphics g){
g.setClip(0,0,500,500);
g.setColor(0xff0000);
g.fillRect(0,0,screen_W,screen_H);
g.setColor(0x000000);
g.drawString("GAME OVER",50,50,0);
g.drawString("按左软键去开始界面",30,80,0);
}
void paint_fanglei(Graphics g){
if(fanglei==true){
for(int i=0;i<npc_zidan_shuzu.length;i++){
if(npc_zidan_shuzu[i][4]!=0){
npc_zidan_shuzu[i][4]=0;
}
}
for(int j=0;j<npc_feiji_shuzu.length;j++){
if(npc_feiji_shuzu[j][5]!=0){
npc_feiji_shuzu[j][4]-=100;
if(npc_feiji_shuzu[j][4]<=0){
switch(npc_feiji_shuzu[j][5]){
case 1:
npc_feiji_shuzu[j][5]=0;
g.setClip(npc_feiji_shuzu[j][0],npc_feiji_shuzu[j][1],33,29);
g.drawImage(baozha,npc_feiji_shuzu[j][0]-4*33,npc_feiji_shuzu[j][1],0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]-5*33,npc_feiji_shuzu[j][1],0);
break;
case 4:
npc_feiji_shuzu[j][5]=0;
g.setClip(npc_feiji_shuzu[j][0]+14,npc_feiji_shuzu[j][1]+15,33,29);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+14-3*33,npc_feiji_shuzu[j][1]+15,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+14-4*33,npc_feiji_shuzu[j][1]+15,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+14-5*33,npc_feiji_shuzu[j][1]+15,0);
for(int k=0;k<daoju_shuzu.length;k++){
if(daoju_shuzu[k][4]==0){
daoju_shuzu[k][0]=npc_feiji_shuzu[j][0]+20;
daoju_shuzu[k][1]=npc_feiji_shuzu[j][1]+20;
daoju_shuzu[k][2]=1;
daoju_shuzu[k][3]=1;
daoju_shuzu[k][4]=1;
daoju_shuzu[k][5]=19;
daoju_shuzu[k][6]=19;
break;
}
}
break;
case 5:
npc_feiji_shuzu[j][5]=0;
g.setClip(npc_feiji_shuzu[j][0]+14,npc_feiji_shuzu[j][1]+15,33,29);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-0*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-1*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-2*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-3*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-4*33,npc_feiji_shuzu[j][1]+22,0);
g.drawImage(baozha,npc_feiji_shuzu[j][0]+31-5*33,npc_feiji_shuzu[j][1]+22,0);
win=true;
break;
}
}
}
}
g.setClip(0,0,500,500);
g.setColor(0xffffff);
g.fillRect(0,0,screen_W,screen_H);
feiji_ziji_lei--;
fanglei=false;
}
}
protected void paint(Graphics g) {
paint_cls(g);
paint_bejing(g);
if(win==true){
game_state=game_state_win;
}
switch(game_state){
case game_state_start:
g.setClip(0,0,500,500);
g.setColor(0x00ff00);
g.fillRect(0,0,screen_W,screen_H);
g.setColor(0x000000);
g.drawString("按左软件开始游戏",30,40,0);
g.drawString("游戏中按左软键是雷",30,80,0);
break;
case game_state_over:
paint_game_over(g);
break;
case game_state_run:
paint_pengzhuang_ziji_zidan_feiji(g);
paint_feiji_ziji_zidan(g);
paint_feiji_ziji(g);
paint_feiji_ziji_zidan_paopao(g);
paint_npc_feiji(g);
paint_daoju(g);
paint_npc_zidan(g);
paint_pengzhuang_feiji_feiji(g);
paint_fanglei(g);
g.setClip(0,0,500,500);
g.setColor(0x00ff00);
g.drawString("生命:"+feiji_ziji_hp,110,10,0);
g.setColor(0x7f0000);
g.drawString("雷:"+feiji_ziji_lei,150,10,0);
break;
case game_state_win:
g.setClip(0,0,500,500);
g.setColor(0x00ff00);
g.fillRect(0,0,screen_W,screen_H);
g.setColor(0x000000);
g.drawString("恭喜你胜利了",30,40,0);
g.drawString("按左软键去开始界面",30,80,0);
break;
}
paint_gaishang(g);
}
public void run() {
while (true) {
try {
switch(game_state){
case game_state_run:
st = System.currentTimeMillis();
beijing += beijing_speed;
jishuqi_time++;
logic();
repaint();
et = System.currentTimeMillis();
if (et-st<WT){
try {
t.sleep(WT-(et-st));
}catch(Exception e){}
}
break;
}
}catch(Exception e){}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -