アットウィキロゴ

game01

package star2;
 
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.scene.Group;
import javafx.scene.shape.*;
import javafx.animation.AnimationTimer;
import static javafx.application.Application.launch;
import javafx.scene.paint.Color;
 import javafx.scene.input.MouseEvent;
import javafx.scene.control.Label;
 
 
public class pro extends Application {
 
int time,fire,left,right;
Rectangle gun;
int gx;
 
Rectangle[] missile=new Rectangle[1000];
int[] mx=new int[1000];
int[] my=new int[1000];
int[] mis=new int[1000];
int s,number;
 
Circle[] invader=new Circle[16];
int dx,dy;
int[] ix=new int[16];
int[] iy=new int[16];
int[] inv=new int[16];
 
public static void main(String[] args) {
launch(args);
}
 
 
@Override
public void start(Stage primaryStage) {
 
 
Group root = new Group();
Scene scene = new Scene(root, 700, 700); 
 
for(s=1;s<16;s++){
    ix[s]=7+s;
    if(s>5)ix[s]=s+2;
    if(s>10)ix[s]=s-3;
    iy[s]=20;
    if(s>5)iy[s]=19;
    if(s>10)iy[s]=18;
    }
 
    dx=1;
    dy=0;
 
     for(s=1;s<16;s++){
     inv[s]=100;    
     }
 
     int p1,p2;
 
for(s=1;s<16;s++){
invader[s]=new Circle(10,Color.YELLOW);
p1=100+25*ix[s];
p2=600-25*iy[s];
invader[s].setLayoutX(p1);
invader[s].setLayoutY(p2);
root.getChildren().add(invader[s]);
}
 
 
 
 
 
number=0;
time=0;
gx=10;
 
for(s=1;s<1000;s++){
missile[s]=new Rectangle(10,10,Color.RED);
mx[s]=-10;
my[s]=-10;
missile[s].setLayoutX(100+25*mx[s]);
missile[s].setLayoutY(600-25*my[s]);
mis[s]=100;
}
 
gun=new Rectangle(50,50,Color.BLUE);
gun.setLayoutX(100+25*gx);
gun.setLayoutY(600);
 
Button btn = new Button();
        btn.setText("hit");
        btn.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                fire=100;
            }
        });
btn.setLayoutX(300);
btn.setLayoutY(650); 
 
 
Button btn1 = new Button();
        btn1.setText("<-");
        btn1.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                left=100;
            }
        });
       btn1.setLayoutX(200);
btn1.setLayoutY(650); 
 
 
      Button btn2 = new Button();
        btn2.setText("->");
        btn2.setOnAction(new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
                right=100;
            }
        });
btn2.setLayoutX(400);
btn2.setLayoutY(650);
 
root.getChildren().add(btn);
root.getChildren().add(btn1);
root.getChildren().add(btn2);
root.getChildren().add(gun);
 
for(s=1;s<1000;s++){
root.getChildren().add(missile[s]); 
}
 
primaryStage.setTitle("侵略者");
primaryStage.setScene(scene);
primaryStage.show();
 
new AnimationTimer() {
@Override
public void handle(long now) {
 
time=time+1;
 
if(time>10){
 
time=0;
 
step sub2=new step();
 sub2.dx=dx;
 sub2.dy=dy;
 sub2.inv=inv;      
 sub2.ix=ix;   
 sub2.iy=iy;
sub2.makedata();
 dx=sub2.dx;
 dy=sub2.dy;
 inv=sub2.inv;      
 ix=sub2.ix;   
 iy=sub2.iy;
 
if(left>50){
gx=gx-1;
gun.setLayoutX(100+25*gx);    
}
 
if(right>50){
gx=gx+1;
gun.setLayoutX(100+25*gx);    
}
 
for(s=1;s<number+1;s++){
my[s]=my[s]+1;
missile[s].setLayoutY(600-25*my[s]);
}
 
if(fire>50){
number=number+1;
mx[number]=gx;    
my[number]=0;
missile[number].setLayoutY(600-25*my[number]);
missile[number].setLayoutX(100+25*mx[number]);
}
 
 
bomb sub5=new bomb();
sub5.mx=mx;
sub5.my=my;
sub5.missile=mis;
sub5.inv=inv;      
sub5.ix=ix;   
sub5.iy=iy;
sub5.number=number;
sub5.makedata();
mis=sub5.missile;
inv=sub5.inv;
 
int p1,p2;
 
for(s=1;s<16;s++){
p1=100+25*ix[s];
p2=600-25*iy[s];
if(inv[s]<50)p1=0;
if(inv[s]<50)p2=0;
 
invader[s].setLayoutX(p1);
invader[s].setLayoutY(p2);
}
 
 
 
 
 
time=0;
 
fire=0;
left=0;
right=0;
 
}
}
}.start();
 
 
 
} 
 
 
 
}
 
 
 
 
package star2;
 
 
public class bomb {
    int s,number;
    int sx,h;
     int[] ix=new int[16];
    int[] iy=new int[16];
   int[] inv=new int[16];
   int dx,dy; 
   int[] mx=new int[1000];
   int[] my=new int[1000];
   int[] missile=new int[1000];
 
   int count;
 
    void makedata(){
 
        for(s=1;s<number+1;s++){
        for(sx=1;sx<16;sx++){
        h=0;
        if(mx[s]==ix[sx])h=h+1;
         if(my[s]==iy[sx])h=h+1;
         if(missile[s]>50)h=h+1;
         if(inv[sx]>50)h=h+1;
        if(h==4)missile[s]=0;
        if(h==4)inv[sx]=0;
        }
        }
 
        count=0;
         for(sx=1;sx<16;sx++){
         if(inv[sx]>50)count=count+1;
         }
 
 
 
    }
}
 
 
 
 
package star2;
 
 
public class step{
 
    int s,t,time;
    int[] ix=new int[16];
    int[] iy=new int[16];
   int[] inv=new int[16];
   int dx,dy; 
 
 
 
void makedata(){
 
 
 
     for(s=1;s<16;s++){
     ix[s]=ix[s]+dx;
     iy[s]=iy[s]-dy;
     }
 
change();     
 
 
 
 
}
void change(){
int mode;
    int s,h,maxp,minp;
    mode=0;
maxp=0;    
for(s=1;s<16;s++){
h=0;
if(ix[s]>maxp)h=h+1;
if(inv[s]>50)h=h+1;
if(h==2)maxp=ix[s];
}
 
minp=600;    
for(s=1;s<16;s++){
h=0;
if(ix[s]<minp)h=h+1;
if(inv[s]>50)h=h+1;
if(h==2)minp=ix[s];
}
h=0;
if(maxp>19)h=h+1;
if(dy==0)h=h+1;
if(h==2)mode=1;
h=0;
if(maxp>19)h=h+1;
if(dy==1)h=h+1;
if(h==2)mode=2;
h=0;
if(minp<2)h=h+1;
if(dy==0)h=h+1;
if(h==2)mode=3;
h=0;
if(minp<2)h=h+1;
if(dy==1)h=h+1;
if(h==2)mode=4;
 
 
if(mode==1)dx=0;
if(mode==1)dy=1;
 
if(mode==2)dx=-1;
if(mode==2)dy=0;
 
if(mode==3)dx=0;
if(mode==3)dy=1;
 
if(mode==4)dx=1;
if(mode==4)dy=0;
 
}
 
 
}
 
最終更新:2014年04月25日 19:45