home *** CD-ROM | disk | FTP | other *** search
-
- // 3-D TENNIS (by.Eiji Ito)
-
- import java.applet.*;
- import java.awt.*;
-
- public class BG extends java.applet.Applet implements Runnable {
-
- int X,Y,G,T=3,P,Q,R,W=1,XF,YF,XX,YY,XA=200,YA=200,
- TURN,NE=10,SPEED=200,IN=0,SCORE,START;
-
- int LEVEL=0,XR=100,YR=70,GR=14,TR=2,RR=1,PR=0,QR=0,
- XFR=0,YFR=1,XXR=300,YYR=220,CR=0;
-
- Thread count = null;
-
- public void init(){
- resize(520,500);
- }
-
- public boolean mouseDown(Event e, int x, int y){
- if(x > 29 && x < 100 && y > 1 && y < 16){
- W=0;START=1;TURN=0;LEVEL=0;R=1;RR=1;SCORE=0;SPEED=200;NE=10;G=15;
- X=100;Y=70;XX=220;YY=220;CR=0;P=0;Q=0;XF=0;YF=0;T=3;
- XR=100;YR=70;
- repaint();}
- return(true);
- }
-
- public boolean mouseMove(Event f, int x, int y){
- if( x >= 200 && x <= 275){XA=x;}
- if( y >= 200 && y <= 275){YA=y;}
- if( x > 275){XA = 275;}
- if( y > 275){YA = 275;}
- if( x < 200){XA = 200;}
- if( y < 200){YA = 200;}
- if(LEVEL == 2 || LEVEL >= 6){repaint();}
- return(true);
- }
-
- public void paint(Graphics g){
-
- if(START==1){
- for(int i=1;i<100;i++){
- g.setColor(new Color((int)(Math.random()*255),
- (int)(Math.random()*255),(int)(Math.random()*255)));
- g.fillRect(0,0,550,500);
- g.setColor(Color.black);
- g.drawString ("- START -",213,250);
- g.drawString ("- START -",214,250);
- }
- }
-
- g.setColor(Color.black);
- if(CR > 254){CR = 0;}
- if(LEVEL == 1 || LEVEL >= 3){ g.setColor(new Color(0,0,CR));CR++;}
- g.fillRect(0,0,520,500);
- g.setColor(Color.blue);
- g.drawRect(200,200,100,100);
- g.drawRect(0,0,500,500);
- g.drawLine(0,0,200,200);
- g.drawLine(0,500,200,300);
- g.drawLine(300,200,500,0);
- g.drawLine(300,300,500,500);
-
- g.drawString ("SCORE : ",210,15);
- g.drawString (Integer.toString(SCORE),270,15);
- g.setColor(Color.white);
- g.drawString ("SCORE : ",208,13);
- g.drawString (Integer.toString(SCORE),272,13);
-
- if(LEVEL == 0 ){
- g.setColor(Color.white);
- g.drawRect(30,1,51,16);
- g.drawString ("START",37,14);
- g.drawString ("START",38,14);
- }
- else
- {
- g.setColor(Color.white);
- g.drawRect(30,1,70,15);
- g.drawString ("LEVEL",38,14);
- g.drawString (Integer.toString(LEVEL+1),87,14);
- g.setColor(Color.red);
- g.drawString ("LEVEL",37,13);
- g.drawString (Integer.toString(LEVEL+1),86,13);
- }
-
- if(NE==499){
-
- for(int i=0;i<100;i++){
- g.setColor(Color.white);
- g.drawString ("- GAME OVER -",206,250);
- g.setColor(Color.red);
- g.drawString ("- GAME OVER -",205,249);
- }
-
- }
-
- g.setColor(Color.red);
- g.drawRect(470,NE+5,30,490);
- g.setColor(Color.pink);
- g.drawRect(475,NE,30,490);
-
- g.setColor(new Color(144,203,254));
- if(START==3){ g.setColor(new Color(253,254,104));}
- g.drawRect(XA,YA,25,25);
- g.drawRect(XA+2,YA+2,21,21);
-
- START = 2;
-
- if(W==0){
-
- /* GREEN BALL START */
-
- T=T+2;
- if(T>10){T = 10;}
- if(T<1){T = 1;}
- if(R==0){G = G - T;}
- if(R==1){G = G + T;}
- if(G < 14 ){G = 14;}
- if(G > 150){G = 150;R = 0;T=0;
- XF = (int)(Math.random()*2);
- YF = (int)(Math.random()*2);
- XX = XX + (int)(Math.random()*10);
- YY = YY + (int)(Math.random()*10);}
-
- P = (G/2);Q = (P/2);
- XX = 200 - P;
- YY = 300 + P;
- if(XF == 0){X=X-Q;}else{X=X+Q;}
- if(YF == 0){Y=Y-Q;}else{Y=Y+Q;}
- if(X+P < XX){XF = 1;X =XX+P;}
- if(X-P > YY){XF = 0;X =YY-P;}
- if(Y+P < XX){YF = 1;Y =XX+P;}
- if(Y-P > YY){YF = 0;Y =YY-P;}
-
- g.setColor(Color.green);
- if(LEVEL==2){g.setColor(Color.yellow);SPEED=250;}
- if(LEVEL==3){;SPEED=100;}
- if(SCORE > 450 && SCORE <= 570 ){g.setColor(Color.blue);LEVEL = 4;SPEED=70;}
- if(SCORE > 570 ){g.setColor(Color.pink);LEVEL = 5;SPEED=60;}
- if(SCORE > 670 && SCORE < 770 ){g.setColor(Color.red);LEVEL = 6;SPEED=500;}
- if(SCORE > 770 ){g.setColor(Color.black);LEVEL = 7;}
- g.drawArc(X-P,Y-P,G,G,0,360);
-
- for(int i=2;i<4;i++){
- g.drawArc(X-P,Y-P+i*2,G,G-i*4,0,360);
- g.drawArc(X-P+i*2,Y-P,G-i*4,G,0,360);
- }
-
- g.drawArc(X-P+Q,Y-P,G-P,G,0,360);
- g.drawArc(X-P,Y-P+Q,G,G-P,0,360);
-
- /* RED BALL START*/
-
- if(LEVEL == 1 || LEVEL > 2){
-
- TR=TR+2;
- if(TR>10){TR = 10;}
- if(TR<1){TR = 1;}
- if(RR==0){GR = GR - TR;}
- if(RR==1){GR = GR + TR;}
- if(GR < 14 ){GR = 14;}
- if(GR > 150){GR = 150;RR = 0;TR=0;
- XFR = (int)(Math.random()*2);
- YFR = (int)(Math.random()*2);
- XXR = XXR + (int)(Math.random()*15)-5;
- YYR = YYR + (int)(Math.random()*15)-5;}
-
- PR = (GR/2);QR = (PR/2);
- XXR = 200 - PR;
- YYR = 300 + PR;
- if(XFR == 0){XR=XR-QR;}else{XR=XR+QR;}
- if(YFR == 0){YR=YR-QR;}else{YR=YR+QR;}
- if(XR+PR < XXR){XFR = 1;XR =XXR+PR;}
- if(XR-PR > YYR){XFR = 0;XR =YYR-PR;}
- if(YR+PR < XXR){YFR = 1;YR =XXR+PR;}
- if(YR-PR > YYR){YFR = 0;YR =YYR-PR;}
-
- g.setColor(Color.red);
- g.drawArc(XR-PR,YR-PR,GR,GR,0,360);
-
- for(int i=2;i<4;i++){
- g.drawArc(XR-PR,YR-PR+i*2,GR,GR-i*4,0,360);
- g.drawArc(XR-PR+i*2,YR-PR,GR-i*4,GR,0,360);
- }
-
- g.drawArc(XR-PR+QR,YR-PR,GR-PR,GR,0,360);
- g.drawArc(XR-PR,YR-PR+QR,GR,GR-PR,0,360);
-
- /* Red Check */
-
- if(RR == 0 && GR < 20 && XR+PR >= 200 && XR-PR >= 200 && YR+PR <= 300 &&
- YR-PR <= 300)
- {GR = 14 ;RR = 1;TR=0;NE = NE + 70;
- if(XR+PR >= XA && XR+PR <= XA+35 && YR+PR >= YA && YR+PR <= YA+40)
- {NE = NE - 70;TURN++;SCORE=SCORE+10;START=3;}
- else{ g.setColor(Color.yellow);
- g.fillRect(510,NE-70,30,490);}}
-
- }
-
- /* Green Check */
-
- if(R == 0 && G < 20 && X+P >= 200 && X-P >= 200 && Y+P <= 300 && Y-P <= 300)
- {G = 14 ;R = 1;T=0;NE = NE + 50;
- if(X+P >= XA && X+P <= XA+35 && Y+P >= YA && Y+P <= YA+40)
- {NE = NE - 50;TURN++;SCORE=SCORE+15;;START=3;}
- else{ g.setColor(Color.yellow);
- g.fillRect(475,NE-50,30,490);}}
-
- if(NE >= 490){NE=499;W=1;}
-
- if(TURN == 5){LEVEL = 1;GR = 100;TURN = 6;}
- if(TURN == 15){LEVEL = 2;GR = 100;TURN = 16;}
- if(TURN == 20){LEVEL = 3;GR = 100;TURN = 21;}
-
- if(TURN > 50){SPEED = SPEED - 1;}
- // if(LEVEL > 4){SPEED = 50;}
-
- }
-
- }
-
- public void update(Graphics g){
- paint(g);
- }
-
- public void start() {
- if(count == null)
- {count = new Thread(this);
- count.start();}
- }
-
- public void run() { while(count != null)
- {
- while (count != null){
- try{Thread.sleep(SPEED);}
- catch (InterruptedException e){}
- if(IN==0){repaint();}
- }
- count = null;}}
-
- public void stop() {count.stop();count = null;}
-
- }
-
-