📄 moomcanvas.java
字号:
}
tank[0].live=true;
tank[1].live=true;
tank[2].live=true;
tank[0].setinit(tank[0].getX(),tank[0].getY());
tank[1].setinit(tank[1].getX(),tank[1].getY());
tank[2].setinit(tank[2].getX(),tank[2].getY());
}
}
}
public void CreateSnail() {
for(i=0;i<snailNum;i++) {
if(snail[i].live==true ) {
snail[i].snail_attack(bg);
if(snail[i].collman(spaceman)){
bd--;
}else if(snail[i].collGood(weapon)){
snail[i].setVisible(false);
weapon.setPosition(250,-70);
gun=false;
score=score+500;
}
}else if(i<1){
switch (level) {
case 1:
snail[0].setPosition(130,160);
snail[1].setPosition(310,140);
snail[2].setPosition(600,140);
snail[3].setPosition(1185,140);
break;
case 2:
snail[0].setPosition(150,140);
snail[1].setPosition(PRE_LOCATION_X,PRE_LOCATION_Y);
snail[2].setPosition(PRE_LOCATION_X,PRE_LOCATION_Y);
snail[3].setPosition(PRE_LOCATION_X,PRE_LOCATION_Y);
break;
case 3:
snail[0].setPosition(495,137);
snail[1].setPosition(1065,137);
snail[2].setPosition(1450,140);
snail[3].setPosition(PRE_LOCATION_X,PRE_LOCATION_Y);
break;
}
snail[0].live=true;
snail[1].live=true;
snail[2].live=true;
snail[3].live=true;
snail[0].setinit(snail[0].getX(),snail[0].getY());
snail[1].setinit(snail[1].getX(),snail[1].getY());
snail[2].setinit(snail[2].getX(),snail[2].getY());
snail[3].setinit(snail[03].getX(),snail[3].getY());
}
}
}
public void CreateSpeed() {
for(i=0;i<tankNum;i++) {
if( speed[i].live==true && tank[i].isVisible()) {
speed[i].setFrame(1);
speed[i].speed_attack();
if(speed[i].collman(spaceman)){
bd--;
}else if(Math.abs(speed[i].getX()-tank[i].getX())>150){
speed[i].live=false;
}
}else if( speed[i].live==false && Math.abs(tank[i].getX()-spaceman.getX())<=300){
speed[i].setPosition(tank[i].getX(),tank[i].getY());
speed[i].live=true;
if(tank[i].tank_flag)
speed[i].speed_flag=true;
else
speed[i].speed_flag=false;
}else if(!tank[i].isVisible())
speed[i].setVisible(false);
}
}
public void CreateBoom(){
for(i=0;i<boomNum;i++) {
if( boom[i].live==true ){
boom[i].boom_attack(bg,spaceman.getX(),shoot.getX());
if(boom[i].collman(spaceman)){
bd--;
}else if(boom[i].collGood(weapon)){
boom[i].setVisible(false);
boom[i].live=false;
weapon.setPosition(250,-70);
gun=false;
score=score+500;
}
if(boom[i].getFrame()==9 ){
boom[i].live=false;
boom[i].boom_flag=true;
boom[i].setVisible(false);
}
}else{
if(Math.abs(r.nextInt()%200)<3){
boom[i].live=true;
boom[i].setFrame(0);
boom[i].setVisible(true);
if(spaceman.getX()<shoot.getX()){
boom[i].shoot_flag=true;
shoot.setFrame(0);
boom[i].setPosition(shoot.getX()-10,shoot.getY());
}else{
boom[i].shoot_flag=false;
shoot.setFrame(1);
boom[i].setPosition(shoot.getX()+20,shoot.getY());
}
}
}
}
}
public void CreateWheel(){
for(i=0;i<wheelNum;i++){
if(wheel[i].live==true ){
wheel[i].wheel_attack(bg);
if(wheel[i].collman(spaceman)){
bd--;
}else if(wheel[i].collGood(weapon)){
weapon.setPosition(-250,-70);
gun=false;
}
}else if(i<1){
switch (level) {
case 1:
wheel[0].setPosition(725,150);
wheel[1].setPosition(1435,150);
break;
case 2:
wheel[0].setPosition(730,150);
wheel[1].setPosition(-409,-140);
break;
}
wheel[0].live=true;
wheel[1].live=true;
wheel[0].setinit(wheel[0].getX(),wheel[0].getY());
wheel[1].setinit(wheel[1].getX(),wheel[1].getY());
}
}
}
public void checkWin(){
try{
if( level<=3 && spaceman.getX()>=WIN_CONTI){
spaceman.setFrame(5);
render(g);
level++;
Thread.sleep(1000);
for(int i=0;i<tongsNum;i++) {
tongs[i].live=false;
tongs[i].setVisible(false);
tank[i].live=false;
}
for(i=0;i<snailNum;i++){
snail[i].live=false;
snail[i].setVisible(true);
}
for(i=0;i<tankNum;i++){
tank[i].live=false;
tank[i].setVisible(true);
}
CreateFuel();
elec[0].setVisible(false);
wheel[0].live=false;
wheel[1].live=false;
bg.setlevel(level);
spaceman.init();
parlist.setBadMode(level);
if(level==2){
CreateSharp();
for(int i=0;i<tongsNum;i++)
tongs[i].setVisible(true);
//spaceman.setPosition(1600,60);
}
if(level==3){
elec[1].setVisible(false);
shoot.setPosition(670,109);//710
wheel[1].setVisible(false);
wheel[0].setVisible(false);
for(i=0;i<sharpNum;i++)
sharp[i].setVisible(false);
//spaceman.setPosition(1610,96);
}
if(level==4){
com.setPosition(100,80);
com.blood=100;
}
spaceman.setFrame(0);
canvasReset();
}
}catch (InterruptedException e){}
}
public void CreateFire() {
for(i=0;i<fireNum;i++) {
if(fire[i].live==true) {
switch (r.nextInt()%9) {
case 0:
fire[0].fire_attack();
if(fire[0].collman(spaceman)) {
death();
spaceman.death();
}
break;
case 1:
fire[1].fire_attack();
if(fire[1].collman(spaceman)) {
death();
spaceman.death();
}
break;
case 2:
fire[2].fire_attack();
if(fire[2].collman(spaceman)) {
death();
spaceman.death();
}
break;
case 3:
fire[3].fire_attack();
if(fire[3].collman(spaceman)) {
death();
spaceman.death();
}
break;
case 4:
fire[4].fire_attack();
if(fire[4].collman(spaceman)) {
death();
spaceman.death();
}
break;
}
}else {
fire[0].setPosition(340,30);
fire[1].setPosition(540,50);
fire[2].setPosition(915,80);
fire[3].setPosition(1110,80);
fire[4].setPosition(1300,60);
fire[0].live=true;
fire[1].live=true;
fire[2].live=true;
fire[3].live=true;
fire[4].live=true;
}
}
}
public void CreateFuel(){
switch (level) {
case 1:
fuel.setPosition(1030,160);
break;
case 2:
fuel.setPosition(1180,120);
break;
case 3:
fuel.setPosition(840,160);
break;
}
}
public void CreateSharp(){
for(int i=0;i<8;i++)
sharp[i].setPosition(192+(i*32),176);
for(int i=8;i<sharpNum;i++)
sharp[i].setPosition(896+((i-7)*32),176);
}
public void CreateCom(){
com.com_attack();
if(com.collman(spaceman)) {
bd--;
}else if(com.collGood(weapon)){
weapon.setPosition(-250,-70);
gun=false;
com.setFrame(3);
com.blood--;
}
}
public void CreateLaser(){
if(laser.live){
laser.setPosition(com.getX()-95,com.getY()+15);
laser.laser_attack();
if(laser.collman(spaceman))
bd--;
}else if(Math.abs(r.nextInt()%200)<3){
laser.live=true;
laser.setVisible(true);
laser.laSec=0;
}
}
public void canvasReset(){
String file=null;
switch (level) {
case 2:
file="/Moom/moombase2.png";
break;
case 3:
file="/Moom/moombase3.png";
break;
case 4:
file="/Moom/moombase2.png";
break;
}
try{
img =Image.createImage(file);
canvas.setImage(img,2380,208);
} catch (java.io.IOException e){}
}
public void render(Graphics g){
spaceman.primalman_jump();
spaceman.primalman_fall();
g.setColor(31,88,4);
//g.fillRect(0,0,getWidth(),getHeight());
g.fillRect(0,0,176,208);
if(level==4){
lm.setViewWindow(0,12,getWidth(),getHeight());
}else{
if(spaceman.getX()<CANVAS_UBOUND && spaceman.getX()>CANVAS_LBOUND)
lm.setViewWindow(spaceman.getX()-40,12,getWidth(),getHeight());
else if(spaceman.getX()>CANVAS_UBOUND )
lm.setViewWindow(CANVAS_UBOUND,12,getWidth(),getHeight());
else if(spaceman.getX()< CANVAS_LBOUND)
lm.setViewWindow(0,12,getWidth(),getHeight());
}
g.setColor(255,255,255);
g.drawImage(imgLv,5,5,20);
g.drawString(win+sep+level,15,0,20);
g.drawImage(imgLf,40,5,20);
g.drawString(space+life,50,0,20);
g.drawImage(imgSc,60,5,20);
g.drawString(space+score,70,0,20);
blood.setFrame(bd);
lm.paint(g,0,MSG_LIMIT);
blood.paint(g);
flushGraphics();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -