home *** CD-ROM | disk | FTP | other *** search
/ Internet Gallery / INTERGAL.bin / intergal / prgs / idv21 / data.z / MouseTrack.bsp < prev    next >
Text File  |  1995-10-08  |  4KB  |  117 lines

  1. /*
  2.  * Copyright (c) 1994-1995 Sun Microsystems, Inc. All Rights Reserved.
  3.  *
  4.  * Permission to use, copy, modify, and distribute this software
  5.  * and its documentation for NON-COMMERCIAL or COMMERCIAL purposes and
  6.  * without fee is hereby granted.
  7.  * Please refer to the file http://java.sun.com/copy_trademarks.html
  8.  * for further important copyright and trademark information and to
  9.  * http://java.sun.com/licensing.html for further important licensing
  10.  * information for the Java (tm) Technology.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  *
  19.  * THIS SOFTWARE IS NOT DESIGNED OR INTENDED FOR USE OR RESALE AS ON-LINE
  20.  * CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE
  21.  * PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT
  22.  * NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE
  23.  * SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE
  24.  * SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE
  25.  * PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES").  SUN
  26.  * SPECIFICALLY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR
  27.  * HIGH RISK ACTIVITIES.
  28.  */
  29.  
  30. import java.awt.Graphics;
  31. import java.lang.Math;
  32.  
  33. public class MouseTrack extends java.applet.Applet {
  34.  
  35.     int mx, my;
  36.     int onaroll;
  37.  
  38.     public void init() {
  39.     onaroll = 0;
  40.     resize(500, 500);
  41.     }
  42.  
  43.     public void paint(Graphics g) {
  44.     g.drawRect(0, 0, size().width - 1, size().height - 1);
  45.     mx = (int)(Math.random()*1000) % (size().width - (size().width/10));
  46.     my = (int)(Math.random()*1000) % (size().height - (size().height/10));
  47.     g.drawRect(mx, my, (size().width/10) - 1, (size().height/10) - 1);
  48.     }
  49.  
  50.     /*
  51.      * Mouse methods
  52.      */
  53.     public boolean mouseDown(java.awt.Event evt, int x, int y) {
  54.     requestFocus();
  55.     if((mx < x && x < mx+size().width/10-1) && (my < y && y < my+size().height/10-1)) {
  56.         if(onaroll > 0) {
  57.         switch(onaroll%4) {
  58.         case 0:
  59.             play(getCodeBase(), "sounds/tiptoe.thru.the.tulips.au");
  60.             break;
  61.         case 1:
  62.             play(getCodeBase(), "sounds/danger,danger...!.au");
  63.             break;
  64.         case 2:
  65.             play(getCodeBase(), "sounds/adapt-or-die.au");
  66.             break;
  67.         case 3:
  68.             play(getCodeBase(), "sounds/cannot.be.completed.au");
  69.             break;
  70.         }
  71.         onaroll++;
  72.         if(onaroll > 5)
  73.             getAppletContext().showStatus("You're on your way to THE HALL OF FAME:"
  74.             + onaroll + "Hits!");
  75.         else
  76.             getAppletContext().showStatus("YOU'RE ON A ROLL:" + onaroll + "Hits!");
  77.         }
  78.         else {
  79.         getAppletContext().showStatus("HIT IT AGAIN! AGAIN!");
  80.         play(getCodeBase(), "sounds/that.hurts.au");
  81.         onaroll = 1;
  82.         }
  83.     }
  84.     else {
  85.         getAppletContext().showStatus("You hit nothing at (" + x + ", " + y + "), exactly");
  86.         play(getCodeBase(), "sounds/thin.bell.au");
  87.         onaroll = 0;
  88.     }
  89.     repaint();
  90.     return true;
  91.     }
  92.  
  93.     public boolean mouseMove(java.awt.Event evt, int x, int y) {
  94.     if((x % 3 == 0) && (y % 3 == 0))
  95.         repaint();
  96.     return true;
  97.     }
  98.  
  99.     public void mouseEnter() {
  100.     repaint();
  101.     }
  102.  
  103.     public void mouseExit() {
  104.     onaroll = 0;
  105.     repaint();
  106.     }
  107.  
  108.     /**
  109.      * Focus methods
  110.      */
  111.     public void keyDown(int key) {
  112.     requestFocus();
  113.     onaroll = 0;
  114.     play(getCodeBase(), "sounds/ip.au");
  115.     }
  116. }
  117.