|
|
Welcome to the Java Forums.
You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community, you will:
- have access to post topics
- communicate privately with other members (PM)
- not see advertisements between posts
- have the possibility to earn one of our surprises if you are an active member
- access many other special features that will be introduced later.
Registration is fast, simple and absolutely free so please, join our community today!
If you have any problems with the registration process or your account login, please contact us.
|
|

05-14-2008, 11:01 PM
|
|
Member
|
|
Join Date: May 2008
Posts: 1
|
|
|
can someone fix this?
hey so me and a freind are working on a game
but both of us are confused about whats wrong...
we have everything needed but it wont work
the blue triangle is supposed to move across a horizantal axis on the screen under the commands of the left and right arrow keys
can someone please fix it?
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.*;
import java.net.*;
import java.util.*;
import java.applet.Applet;
import java.applet.AudioClip;
import javax.swing.*;
class GalaxyWars2
{
static int height;
static int width;
Polygon shape;
boolean active;
double angle;
double deltaAngle;
double currentX, currentY;
double deltaX, deltaY;
Polygon sprite;
public GalaxyWars2()
{
this.shape = new Polygon();
this.active = false;
this.angle = 0.0;
this.deltaAngle = 0.0;
this.currentX = 0.0;
this.currentY = 0.0;
this.deltaX = 0.0;
this.deltaY = 0.0;
this.sprite = new Polygon();
}
public void advance() {
this.angle += this.deltaAngle;
if (this.angle < 0)
this.angle += 2 * Math.PI;
if (this.angle > 2 * Math.PI)
this.angle -= 2 * Math.PI;
this.currentX += this.deltaX;
if (this.currentX < -width / 2)
this.currentX += width;
if (this.currentX > width / 2)
this.currentX -= width;
this.currentY -= this.deltaY;
if (this.currentY < -height / 2)
this.currentY += height;
if (this.currentY > height / 2)
this.currentY -= height;
}
public void render() {
int i;
this.sprite = new Polygon();
for (i = 0; i < this.shape.npoints; i++)
this.sprite.addPoint((int) Math.round(this.shape.xpoints[i] * Math.cos(this.angle) + this.shape.ypoints[i] * Math.sin(this.angle)) + (int) Math.round(this.currentX) + width / 2,
(int) Math.round(this.shape.ypoints[i] * Math.cos(this.angle) - this.shape.xpoints[i] * Math.sin(this.angle)) + (int) Math.round(this.currentY) + height / 2);
}
}
public class GWars2 extends Applet implements Runnable, ActionListener
{
int Score;
int shipsLeft=5;
int shipCounter;
GalaxyWars2 ship;
GalaxyWars2 enemy;
boolean playing;
boolean left = false;
boolean right = false;
boolean up = false;
Dimension offDimension;
Image offImage;
Graphics offGraphics;
Thread thethread;
Font font = new Font("Earwig Factory", Font.BOLD, 25);
FontMetrics fm;
int fontWidth;
int fontHeight;
public String getAppletInfo() {
return("Galaxy Wars 2, Copyright 2007 by Aaron , Tyler and Justin");
}
public void init()
{
Graphics g;
Dimension d;
int i;
g = getGraphics();
d = size();
GalaxyWars2.width = d.width;
GalaxyWars2.height = d.height;
//Makes our ships
ship=new GalaxyWars2();
ship.shape.addPoint(0, 20);
ship.shape.addPoint(20,10);
ship.shape.addPoint(0,0 );
ship.shape.addPoint(0,20 );
enemy=new GalaxyWars2();
enemy.shape.addPoint(250, 250);
enemy.shape.addPoint(233,342 );
enemy.shape.addPoint(234,84 );
enemy.shape.addPoint(340,230 );
enemy.shape.addPoint(250,250 );
initGame();
endGame();
}
public void initGame()
{
Score = 0;
initShip();
playing = true;
}
//ends game
public void endGame()
{
playing = false;
stopShip();
}
//stops our ship
public void stopShip()
{
ship.active = false;
}
public void initShip()
{
ship.active = true;
ship.angle = 0.0;
ship.deltaAngle = 0.0;
ship.currentX = 0.0;
ship.currentY = 0.0;
ship.deltaX = 0.0;
ship.deltaY = 0.0;
ship.render();
}
//updates ships cordinates
public void updateShip() {
double dx, dy;
if (!playing)
return;
if (left) {
ship.deltaX +=20;
ship.render();
}
if (right) {
ship.angle -= Math.PI / 16.0;
if (ship.angle < 0)
ship.angle += 2 * Math.PI;
dx = -Math.sin(ship.angle);
dy = Math.cos(ship.angle);
if (ship.active) {
ship.advance();
ship.render();
}
else
if (--shipCounter <= 0 || Score < 0)
if (shipsLeft > 0) {
initShip();
}
else
endGame();
}
}
public void run() {
int DELAY = 5;
int i, j;
long startTime;
Thread.currentThread().setPriority(Thread.MIN_PRIO RITY);
startTime = System.currentTimeMillis();
while (Thread.currentThread() == thethread) {
if (1 <0) {
updateShip();
int Score =1;
if (Score <= 0)
{
endGame();
}
}
updateShip();
repaint();
try {
startTime += DELAY;
Thread.sleep(Math.max(0, startTime - System.currentTimeMillis()));
}
catch (InterruptedException e) {
break;
}
}
}
public void start()
{
if (thethread == null)
{
thethread = new Thread(this);
thethread.start();
}
}
public void stop()
{
if (thethread != null)
{
thethread.stop();
thethread = null;
}
}
public void actionPerformed(ActionEvent e) {
int ShipCC=0;
if ("Ship".equals(e.getActionCommand()))
{
System.out.println("Confirm");
} }
public boolean keyUp(Event e, int key)
{
if (key==1005) {
up=true;
}
if (key==1007) {
left=true;
System.out.println("Left key up");
}
if (key==1006) {
right=false;
}
return true;
}
public boolean keyDown(Event e, int key) {
// Check if any cursor keys have been pressed and set flags.
if (key==1005) {
up=false;
}
if (key==1007) {
left=false;
System.out.println("Left key pressed");
}
if (key==1006) {
right=true;
}
return true;
}
public void paint(Graphics g) {
update(g);
}
public void update(Graphics g)
{
Dimension d = size();
int i;
if (offGraphics == null || d.width != offDimension.width || d.height != offDimension.height) {
offDimension = d;
offImage = createImage(d.width, d.height);
offGraphics = offImage.getGraphics();
}
offGraphics.setColor(Color.black);
offGraphics.fillRect(0, 0, d.width, d.height);
if (shipsLeft >= 5)
{
offGraphics.setColor(Color.blue);
offGraphics.fillPolygon(ship.sprite);
}
if(shipsLeft == 4)
{
offGraphics.setColor(Color.yellow);
offGraphics.fillPolygon(ship.sprite);
}
if(shipsLeft == 3)
{
offGraphics.setColor(Color.orange);
offGraphics.fillPolygon(ship.sprite);
}
if(shipsLeft == 2)
{
offGraphics.setColor(Color.red);
offGraphics.fillPolygon(ship.sprite);
}
if(shipsLeft == 1)
{
offGraphics.setColor(Color.white);
offGraphics.fillPolygon(ship.sprite);
}
offGraphics.setColor(new Color(0, 0, 0));
offGraphics.drawPolygon(ship.sprite);
offGraphics.drawLine(ship.sprite.xpoints[ship.sprite.npoints - 1], ship.sprite.ypoints[ship.sprite.npoints - 1],
ship.sprite.xpoints[0], ship.sprite.ypoints[0]);
g.drawImage(offImage, 0, 0, this);
}
}
|
|

05-16-2008, 04:07 AM
|
|
Senior Member
|
|
Join Date: Jul 2007
Posts: 1,124
|
|
How to handle deprecated warnings:
C:\jexp>javac gw2.java
Note: gw2.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\jexp>javac -Xlint:deprecation gw2.java
gw2.java:48: warning: [deprecation] size() in java.awt.Component has been deprecated
d = size();
^
gw2.java:178: warning: [deprecation] stop() in java.lang.Thread has been deprecated
thethread.stop();
^
gw2.java:191: warning: [deprecation] keyUp(java.awt.Event,int) in java.awt.Component has b
een deprecated
public boolean keyUp(Event e, int key)
^
gw2.java:208: warning: [deprecation] keyDown(java.awt.Event,int) in java.awt.Component has
been deprecated
public boolean keyDown(Event e, int key) {
^
gw2.java:230: warning: [deprecation] size() in java.awt.Component has been deprecated
Dimension d = size();
^
5 warnings
Try right arrow key now...
// <applet code="GW2" width="400" height="400"></applet>
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.*;
import java.net.*;
import java.util.*;
import java.applet.Applet;
import java.applet.AudioClip;
import javax.swing.*;
public class GW2 extends Applet implements Runnable, ActionListener
{
int Score;
int shipsLeft=5;
int shipCounter;
GalaxyWars2 ship;
GalaxyWars2 enemy;
boolean playing;
boolean left = false;
boolean right = false;
boolean up = false;
Dimension offDimension;
Image offImage;
Graphics offGraphics;
Thread thethread;
Font font = new Font("Earwig Factory", Font.BOLD, 25);
FontMetrics fm;
int fontWidth;
int fontHeight;
public String getAppletInfo() {
return("Galaxy Wars 2, Copyright 2007 by Aaron , Tyler and Justin");
}
public void init()
{
Graphics g;
Dimension d;
int i;
g = getGraphics();
d = size();
GalaxyWars2.width = d.width;
GalaxyWars2.height = d.height;
//Makes our ships
ship=new GalaxyWars2();
ship.shape.addPoint(0, 20);
ship.shape.addPoint(20,10);
ship.shape.addPoint(0,0 );
ship.shape.addPoint(0,20 );
enemy=new GalaxyWars2();
enemy.shape.addPoint(250, 250);
enemy.shape.addPoint(233,342 );
enemy.shape.addPoint(234,84 );
enemy.shape.addPoint(340,230 );
enemy.shape.addPoint(250,250 );
initGame();
endGame();
requestFocusInWindow();
}
public void initGame()
{
Score = 0;
initShip();
playing = true;
}
public void endGame()
{
playing = false;
stopShip();
}
public void stopShip()
{
ship.active = false;
}
public void initShip()
{
ship.active = true;
ship.angle = 0.0;
ship.deltaAngle = 0.0;
ship.currentX = 0.0;
ship.currentY = 0.0;
ship.deltaX = 0.0;
ship.deltaY = 0.0;
ship.render();
}
//updates ships cordinates
public void updateShip() {
double dx, dy;
if (!playing)
return;
if (left) {
ship.deltaX += 20;
ship.advance();
System.out.println("ship.deltaX = " + ship.deltaX);
ship.render();
}
if (right) {
ship.angle -= Math.PI / 16.0;
if (ship.angle < 0)
ship.angle += 2 * Math.PI;
dx = -Math.sin(ship.angle);
dy = Math.cos(ship.angle);
if (ship.active) {
ship.advance();
ship.render();
}
else if (--shipCounter <= 0 || Score < 0)
if (shipsLeft > 0) {
initShip();
}
else
endGame();
}
}
public void run() {
int DELAY = 5;
int i, j;
long startTime;
Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
startTime = System.currentTimeMillis();
while (Thread.currentThread() == thethread) {
if (1 < 0) {
updateShip();
int Score = 1;
if (Score <= 0)
{
endGame();
}
}
updateShip();
repaint();
try {
startTime += DELAY;
Thread.sleep(//Math.max(0,
//startTime - System.currentTimeMillis()));
250);
} catch (InterruptedException e) {
break;
}
}
}
public void start()
{
if (thethread == null)
{
playing = true;
thethread = new Thread(this);
thethread.start();
}
}
public void stop()
{
if (thethread != null)
{
// thethread.stop(); // deprecated method
playing = false;
thethread.interrupt();
thethread = null;
}
}
public void actionPerformed(ActionEvent e) {
int ShipCC=0;
if ("Ship".equals(e.getActionCommand()))
{
System.out.println("Confirm");
}
}
public boolean keyUp(Event e, int key)
{
if (key==1005) {
up=true;
}
if (key==1007) {
// left=true;
left=false;
System.out.println("Left key up");
}
if (key==1006) {
right=false;
}
return true;
}
public boolean keyDown(Event e, int key) {
// Check if any cursor keys have been pressed and set flags.
if (key==1005) {
up=false;
}
if (key==1007) {
// left=false;
left=true;
System.out.println("Left key pressed");
}
if (key==1006) {
right=true;
}
return true;
}
public void paint(Graphics g) {
update(g);
}
public void update(Graphics g)
{
Dimension d = //size(); // deprecated method
getSize();
int i;
if (offGraphics == null || d.width != offDimension.width ||
d.height != offDimension.height) {
offDimension = d;
offImage = createImage(d.width, d.height);
offGraphics = offImage.getGraphics();
}
offGraphics.setColor(Color.black);
offGraphics.fillRect(0, 0, d.width, d.height);
if (shipsLeft >= 5)
{
offGraphics.setColor(Color.blue);
offGraphics.fillPolygon(ship.sprite);
}
if(shipsLeft == 4)
{
offGraphics.setColor(Color.yellow);
offGraphics.fillPolygon(ship.sprite);
}
if(shipsLeft == 3)
{
offGraphics.setColor(Color.orange);
offGraphics.fillPolygon(ship.sprite);
}
if(shipsLeft == 2)
{
offGraphics.setColor(Color.red);
offGraphics.fillPolygon(ship.sprite);
}
if(shipsLeft == 1)
{
offGraphics.setColor(Color.white);
offGraphics.fillPolygon(ship.sprite);
}
offGraphics.setColor(//new Color(0, 0, 0));
Color.red);
offGraphics.drawPolygon(ship.sprite);
offGraphics.drawLine(ship.sprite.xpoints[ship.sprite.npoints - 1],
ship.sprite.ypoints[ship.sprite.npoints - 1],
ship.sprite.xpoints[0], ship.sprite.ypoints[0]);
g.drawImage(offImage, 0, 0, this);
}
}
class GalaxyWars2
{
static int height;
static int width;
Polygon shape;
boolean active;
double angle;
double deltaAngle;
double currentX, currentY;
double deltaX, deltaY;
Polygon sprite;
public GalaxyWars2()
{
this.shape = new Polygon();
this.active = //false;
true;
this.angle = 0.0;
this.deltaAngle = 0.0;
this.currentX = 0.0;
this.currentY = 0.0;
this.deltaX = 0.0;
this.deltaY = 0.0;
this.sprite = new Polygon();
}
public void advance() {
this.angle += this.deltaAngle;
if (this.angle < 0)
this.angle += 2 * Math.PI;
if (this.angle > 2 * Math.PI)
this.angle -= 2 * Math.PI;
this.currentX += this.deltaX;
if (this.currentX < -width / 2)
this.currentX += width;
if (this.currentX > width / 2)
this.currentX -= width;
this.currentY -= this.deltaY;
if (this.currentY < -height / 2)
this.currentY += height;
if (this.currentY > height / 2)
this.currentY -= height;
}
public void render() {
int i;
this.sprite = new Polygon();
for (i = 0; i < this.shape.npoints; i++)
this.sprite.addPoint(
(int) Math.round(this.shape.xpoints[i] * Math.cos(this.angle) +
this.shape.ypoints[i] * Math.sin(this.angle)) +
(int) Math.round(this.currentX) + width / 2,
(int) Math.round(this.shape.ypoints[i] * Math.cos(this.angle) -
this.shape.xpoints[i] * Math.sin(this.angle)) +
(int) Math.round(this.currentY) + height / 2);
}
}
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|