Package testinggrounds

Source Code of testinggrounds.GameStart

package testinggrounds;

import graphics.common.GraphicsDB;
import graphics.java.Oval;
import graphics.common.GraphicsObject;
import graphics.common.Point2D;
import graphics.common.Size2D;
import graphics.java.JavaSprite;
import graphics.java.BezierCurve;

import java.awt.Color;
import java.awt.event.KeyEvent;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;

import utils.Keyboard;
import utils.Mouse;
import utils.ThreadManager;
import utils.Timer;
import utils.JavaWindow;

public class GameStart {

  /**
   * A tech demo using bezier curves and ovals to draw a "network," which is
   * pretty much the same thing as a mathematical graph. Also used as a testing
   * grounds for new features of the engine, such as image loading/drawing.
   *
   * @param args
   */
  public static void main( String[] args ) {
    JavaWindow window = new JavaWindow( "Research project mock", 640, 480 );
    window.setClearColor( new Color( 210, 210, 210 ) );
    Keyboard kb = new Keyboard();
    Mouse mouse = new Mouse();
    window.addKeyListener( kb );
   
    new GraphicsDB();
    GraphicsDB.cacheJavaImage( "images/Fence_endright.png", "fenceright" );
    try {
      Thread.sleep( 200 );
    } catch ( InterruptedException e1 ) {
      e1.printStackTrace();
    }
   
    Random rand = new Random( System.nanoTime() );
    final int listSize = 400;
    GraphicsObject[] objList = new GraphicsObject[ listSize ];
    List< GraphicsObject > objList2 = new LinkedList< GraphicsObject >();
    for( int i = 0; i < listSize; i++ ) {
      Point2D tempPoint = new Point2D( rand.nextInt( window.getWidth() - 30 ) + 30, rand.nextInt( window.getHeight() - 30 ) + 30 );
      Size2D tempSize = new Size2D( rand.nextInt( 30 ) + 21, rand.nextInt( 30 ) + 21 );
      GraphicsObject obj = new JavaSprite( "fenceright",
          tempPoint, tempSize );
      objList[ i ] = obj;
      objList2.add( obj );
    }
    GraphicsObject obj = new JavaSprite( "fenceright",
        new Point2D( 15, 31 ), new Size2D( 80, 80 ) );
   
    GraphicsObject elp1 = new Oval( new Point2D( 50, 50 ), new Size2D( 30, 16 ) );
    ((Oval)elp1).setColor( new Color( 255, 0, 0 ) );
    GraphicsObject elp2 = new Oval( new Point2D( 300, 300 ), new Size2D( 30, 16 ),
                      new Color( 255, 0, 0 ) );
    GraphicsObject cur = new BezierCurve( new Point2D( 65, 58 ), new Point2D( 315, 108 ),
                  new Point2D( 315, 208 ), new Point2D( 315, 308 ),
                  new Color( 255, 255, 0 ), 100 );
   
    Network network = new Network();
    Network.Node n1 = network.new Node( new Oval( new Point2D( 100, 100 ), new Size2D( 30, 15 ) ) );
    Network.Node n2 = network.new Node( new Oval( new Point2D( 200, 450 ), new Size2D( 30, 15 ) ) );
    Network.Node n3 = network.new Node( new Oval( new Point2D( 30, 200 ), new Size2D( 30, 15 ) ) );
    Network.Node n4 = network.new Node( new Oval( new Point2D( 500, 40 ), new Size2D( 30, 15 ) ) );
    network.addNode( n1 );
    network.addNode( n2 );
    network.addNode( n3 );
    network.addNode( n4 );
    network.addEdge( n1, n2 );
    network.addEdge( n1, n4 );
    //network.addEdge( n2, n3 );
    //network.addEdge( n4, n3 );
   
    Timer timer = new Timer();
    int frames = 0, prevFrames = 0;
    int timePassed = 0;
    timer.start();
    while( true ) {
      kb.poll();
      if( kb.keyDown( KeyEvent.VK_Q ) ) {
        break;
      }
      if( kb.keyDown( KeyEvent.VK_A ) ) {
        Point2D tempPoint = new Point2D( rand.nextInt( window.getWidth() ), rand.nextInt( window.getHeight() ) );
        Size2D tempSize = new Size2D( rand.nextInt( 30 ) + 21, rand.nextInt( 30 ) + 21 );
        GraphicsObject obj2 = new JavaSprite( "fenceright",
            tempPoint, tempSize );
        objList2.add( obj2 );
      }
      window.clear();
     
      for( GraphicsObject go : objList2 ) {
        go.draw( JavaWindow.getGraphics2D(), 0 );
      }
      //obj.draw( Window.getGraphics2D() );
      //cur.draw( window.getDrawGraphics() );
      //elp1.draw( window.getDrawGraphics() );
      //elp2.draw( window.getDrawGraphics() );
      //network.draw( Window.getGraphics2D() );
     
      JavaWindow.getGraphics2D().setColor( Color.black );
      JavaWindow.getGraphics2D().drawString( String.valueOf( objList2.size() ), 0, 10 );
      JavaWindow.getGraphics2D().drawString( String.valueOf( prevFrames ), 0, 20 );
      window.update();
     
      frames++;
      timePassed += (int)timer.get();
      //System.out.println( timePassed );
      if( timePassed >= 1000 ) {
        prevFrames = frames;
        frames = 0;
        timePassed = 0;
      }
      try {
        Thread.sleep( 10 );
      } catch ( InterruptedException e ) {
        e.printStackTrace();
      }
    }
   
    window.shutdown();
    ThreadManager.shutdown();
  }
}
TOP

Related Classes of testinggrounds.GameStart

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.