home *** CD-ROM | disk | FTP | other *** search
/ Best Tools for JAVA / Best Tools for JAVA.iso / JAVA_ALL / APPLETS / BG.JAV < prev    next >
Encoding:
Text File  |  1997-02-27  |  6.8 KB  |  249 lines

  1.  
  2. // 3-D TENNIS (by.Eiji Ito)
  3.  
  4. import java.applet.*;
  5. import java.awt.*;
  6.  
  7. public class BG extends java.applet.Applet implements Runnable {
  8.  
  9. int X,Y,G,T=3,P,Q,R,W=1,XF,YF,XX,YY,XA=200,YA=200,
  10.     TURN,NE=10,SPEED=200,IN=0,SCORE,START;
  11.  
  12. int LEVEL=0,XR=100,YR=70,GR=14,TR=2,RR=1,PR=0,QR=0,
  13.     XFR=0,YFR=1,XXR=300,YYR=220,CR=0;
  14.  
  15. Thread count = null;
  16.  
  17. public void init(){
  18.                   resize(520,500);
  19.                   }
  20.  
  21. public boolean mouseDown(Event e, int x, int y){
  22.         if(x > 29 && x < 100 && y > 1 && y < 16){
  23.         W=0;START=1;TURN=0;LEVEL=0;R=1;RR=1;SCORE=0;SPEED=200;NE=10;G=15;
  24.         X=100;Y=70;XX=220;YY=220;CR=0;P=0;Q=0;XF=0;YF=0;T=3;
  25.         XR=100;YR=70;
  26.         repaint();}
  27.         return(true);
  28.                                                }
  29.  
  30. public boolean mouseMove(Event f, int x, int y){
  31.         if( x >= 200 && x <= 275){XA=x;}
  32.         if( y >= 200 && y <= 275){YA=y;}
  33.         if( x > 275){XA = 275;}
  34.         if( y > 275){YA = 275;}
  35.         if( x < 200){XA = 200;}
  36.         if( y < 200){YA = 200;}
  37.         if(LEVEL == 2 || LEVEL >= 6){repaint();}
  38.         return(true);
  39.                                         }
  40.  
  41. public void paint(Graphics g){
  42.  
  43. if(START==1){
  44.  for(int i=1;i<100;i++){
  45.                         g.setColor(new Color((int)(Math.random()*255),
  46.                         (int)(Math.random()*255),(int)(Math.random()*255)));
  47.                         g.fillRect(0,0,550,500);
  48.                         g.setColor(Color.black);
  49.                         g.drawString ("- START -",213,250);
  50.                         g.drawString ("- START -",214,250);
  51.                         }
  52.              }
  53.  
  54.  g.setColor(Color.black);
  55.  if(CR > 254){CR = 0;}
  56.  if(LEVEL == 1 ||  LEVEL >= 3){ g.setColor(new Color(0,0,CR));CR++;}
  57.  g.fillRect(0,0,520,500);
  58.  g.setColor(Color.blue);
  59.  g.drawRect(200,200,100,100);
  60.  g.drawRect(0,0,500,500);
  61.  g.drawLine(0,0,200,200);
  62.  g.drawLine(0,500,200,300);
  63.  g.drawLine(300,200,500,0);
  64.  g.drawLine(300,300,500,500);
  65.  
  66.  g.drawString ("SCORE : ",210,15);
  67.  g.drawString (Integer.toString(SCORE),270,15);
  68.  g.setColor(Color.white);
  69.  g.drawString ("SCORE : ",208,13);
  70.  g.drawString (Integer.toString(SCORE),272,13);
  71.  
  72.  if(LEVEL == 0 ){
  73.                  g.setColor(Color.white);
  74.                  g.drawRect(30,1,51,16);
  75.                  g.drawString ("START",37,14);
  76.                  g.drawString ("START",38,14);
  77.                 }
  78.             else
  79.                 {
  80.                  g.setColor(Color.white);
  81.                  g.drawRect(30,1,70,15);
  82.                  g.drawString ("LEVEL",38,14);
  83.                  g.drawString (Integer.toString(LEVEL+1),87,14);
  84.                  g.setColor(Color.red);
  85.                  g.drawString ("LEVEL",37,13);
  86.                  g.drawString (Integer.toString(LEVEL+1),86,13);
  87.                 }
  88.  
  89.  if(NE==499){
  90.  
  91.         for(int i=0;i<100;i++){
  92.                                 g.setColor(Color.white);
  93.                                 g.drawString ("- GAME OVER -",206,250);
  94.                                 g.setColor(Color.red);
  95.                                 g.drawString ("- GAME OVER -",205,249);
  96.                               }
  97.  
  98.             }
  99.  
  100.  g.setColor(Color.red);
  101.  g.drawRect(470,NE+5,30,490);
  102.  g.setColor(Color.pink);
  103.  g.drawRect(475,NE,30,490);
  104.  
  105.  g.setColor(new Color(144,203,254));
  106.  if(START==3){ g.setColor(new Color(253,254,104));}
  107.  g.drawRect(XA,YA,25,25);
  108.  g.drawRect(XA+2,YA+2,21,21);
  109.  
  110.  START = 2;
  111.  
  112. if(W==0){
  113.  
  114. /* GREEN BALL START */
  115.  
  116.  T=T+2;
  117.  if(T>10){T = 10;}
  118.  if(T<1){T = 1;}
  119.  if(R==0){G = G - T;}
  120.  if(R==1){G = G + T;}
  121.  if(G < 14 ){G = 14;}
  122.  if(G > 150){G = 150;R = 0;T=0;
  123.  XF = (int)(Math.random()*2);
  124.  YF = (int)(Math.random()*2);
  125.  XX = XX + (int)(Math.random()*10);
  126.  YY = YY + (int)(Math.random()*10);}
  127.  
  128.  P = (G/2);Q = (P/2);
  129.  XX = 200 - P;
  130.  YY = 300 + P;
  131.  if(XF == 0){X=X-Q;}else{X=X+Q;}
  132.  if(YF == 0){Y=Y-Q;}else{Y=Y+Q;}
  133.  if(X+P < XX){XF = 1;X =XX+P;}
  134.  if(X-P > YY){XF = 0;X =YY-P;}
  135.  if(Y+P < XX){YF = 1;Y =XX+P;}
  136.  if(Y-P > YY){YF = 0;Y =YY-P;}
  137.  
  138.  g.setColor(Color.green);
  139.  if(LEVEL==2){g.setColor(Color.yellow);SPEED=250;}
  140.  if(LEVEL==3){;SPEED=100;}
  141.  if(SCORE > 450 && SCORE <= 570 ){g.setColor(Color.blue);LEVEL = 4;SPEED=70;}
  142.  if(SCORE > 570 ){g.setColor(Color.pink);LEVEL = 5;SPEED=60;}
  143.  if(SCORE > 670 && SCORE < 770 ){g.setColor(Color.red);LEVEL = 6;SPEED=500;}
  144.  if(SCORE > 770 ){g.setColor(Color.black);LEVEL = 7;}
  145.  g.drawArc(X-P,Y-P,G,G,0,360);
  146.  
  147.  for(int i=2;i<4;i++){
  148.                       g.drawArc(X-P,Y-P+i*2,G,G-i*4,0,360);
  149.                       g.drawArc(X-P+i*2,Y-P,G-i*4,G,0,360);
  150.                      }
  151.  
  152.  g.drawArc(X-P+Q,Y-P,G-P,G,0,360);
  153.  g.drawArc(X-P,Y-P+Q,G,G-P,0,360);
  154.  
  155. /* RED BALL START*/
  156.  
  157. if(LEVEL == 1 || LEVEL > 2){
  158.  
  159.  TR=TR+2;
  160.  if(TR>10){TR = 10;}
  161.  if(TR<1){TR = 1;}
  162.  if(RR==0){GR = GR - TR;}
  163.  if(RR==1){GR = GR + TR;}
  164.  if(GR < 14 ){GR = 14;}
  165.  if(GR > 150){GR = 150;RR = 0;TR=0;
  166.  XFR = (int)(Math.random()*2);
  167.  YFR = (int)(Math.random()*2);
  168.  XXR = XXR + (int)(Math.random()*15)-5;
  169.  YYR = YYR + (int)(Math.random()*15)-5;}
  170.  
  171.  PR = (GR/2);QR = (PR/2);
  172.  XXR = 200 - PR;
  173.  YYR = 300 + PR;
  174.  if(XFR == 0){XR=XR-QR;}else{XR=XR+QR;}
  175.  if(YFR == 0){YR=YR-QR;}else{YR=YR+QR;}
  176.  if(XR+PR < XXR){XFR = 1;XR =XXR+PR;}
  177.  if(XR-PR > YYR){XFR = 0;XR =YYR-PR;}
  178.  if(YR+PR < XXR){YFR = 1;YR =XXR+PR;}
  179.  if(YR-PR > YYR){YFR = 0;YR =YYR-PR;}
  180.  
  181.  g.setColor(Color.red);
  182.  g.drawArc(XR-PR,YR-PR,GR,GR,0,360);
  183.  
  184.  for(int i=2;i<4;i++){
  185.                       g.drawArc(XR-PR,YR-PR+i*2,GR,GR-i*4,0,360);
  186.                       g.drawArc(XR-PR+i*2,YR-PR,GR-i*4,GR,0,360);
  187.                      }
  188.  
  189.  g.drawArc(XR-PR+QR,YR-PR,GR-PR,GR,0,360);
  190.  g.drawArc(XR-PR,YR-PR+QR,GR,GR-PR,0,360);
  191.  
  192. /* Red Check */
  193.  
  194.  if(RR == 0 && GR < 20 && XR+PR >= 200 && XR-PR >= 200 && YR+PR <= 300 &&
  195. YR-PR <= 300)
  196.    {GR = 14 ;RR = 1;TR=0;NE = NE + 70;
  197.     if(XR+PR >= XA && XR+PR <= XA+35 && YR+PR >= YA && YR+PR <= YA+40)
  198.      {NE = NE - 70;TURN++;SCORE=SCORE+10;START=3;}
  199.       else{ g.setColor(Color.yellow);
  200.        g.fillRect(510,NE-70,30,490);}}
  201.  
  202.                                }
  203.  
  204. /* Green Check */
  205.  
  206.  if(R == 0 && G < 20 && X+P >= 200 && X-P >= 200 && Y+P <= 300 && Y-P <= 300)
  207.    {G = 14 ;R = 1;T=0;NE = NE + 50;
  208.     if(X+P >= XA && X+P <= XA+35 && Y+P >= YA && Y+P <= YA+40)
  209.      {NE = NE - 50;TURN++;SCORE=SCORE+15;;START=3;}
  210.       else{ g.setColor(Color.yellow);
  211.        g.fillRect(475,NE-50,30,490);}}
  212.  
  213.  if(NE >= 490){NE=499;W=1;}
  214.  
  215.  if(TURN == 5){LEVEL = 1;GR = 100;TURN = 6;}
  216.  if(TURN == 15){LEVEL = 2;GR = 100;TURN = 16;}
  217.  if(TURN == 20){LEVEL = 3;GR = 100;TURN = 21;}
  218.  
  219.  if(TURN > 50){SPEED = SPEED - 1;}
  220. // if(LEVEL > 4){SPEED = 50;}
  221.  
  222. }
  223.  
  224. }
  225.  
  226. public void update(Graphics g){
  227. paint(g);
  228.                               }
  229.  
  230. public void start() {
  231.    if(count == null)
  232.    {count = new Thread(this);
  233.     count.start();}
  234.                     }
  235.  
  236. public void run() { while(count != null)
  237. {
  238.    while (count != null){
  239.    try{Thread.sleep(SPEED);}
  240.    catch (InterruptedException e){}
  241.    if(IN==0){repaint();}
  242.                         }
  243.    count = null;}}
  244.  
  245. public void stop() {count.stop();count = null;}
  246.  
  247. }
  248.  
  249.