[2d game]nieuwe random elke seconde?

Status
Niet open voor verdere reacties.

timboiscool

Gebruiker
Lid geworden
27 nov 2008
Berichten
205
Hallo!

Ik ben met een java spel bezig en ik wil dat elke seconde een nieuwe random getal komt.
dit is de code die ik heb nu maar die werkt niet:

Code:
Timer timer = new Timer();
	
	public void randomMove(){
		if(!timerRunning){
			timerRunning = true;
			timer.scheduleAtFixedRate( new TimerTask() {
			    public void run() {
			       if(rnd.nextInt(99) + 1 <= 50)
					  turn = true;
				  else
					  turn = false;
			    }
			 }, 0, 5000);
			timerRunning = false;
		}		
	}

Ik heb meer code dan dit maar boven dit gedeelde word elke 5 miliseconden RandomMove geroepen.

Harstikke bedankt!

Groeten, Tim. :D
 
Bekijk dit eens
Je moet letten op
* timer
* actionPerformed(
* repaint();
* public void paint(
om door te hebben wat er gebeurt
Code:
package be.extern.stuf;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JPanel;
import javax.swing.Timer;

import be.extern.stuf.essetials.Player;


public class Playground extends JPanel implements ActionListener{

	/**
	 * 
	 */
	private static final long serialVersionUID = 5402923714496249278L;
	private Level0 level;
	private boolean isingame = true;
	private Player pacman;
	private int Ghosts = 6;//ghost pieces
	private int gamespeed = 3;
	private Ghost[] ghosts;
	private int maxghosts;
	private Timer timer;


	public Playground() {
		level = new Level0();
		maxghosts = Ghosts + 5;
		addKeyListener(new Keylistener());
        setFocusable(true);
        setBackground(Color.black);
        setDoubleBuffered(true);
        ghosts = new Ghost[maxghosts];
       // ghosts[1]=
        /**
         *een Timer en initialiseert zowel de initiële vertraging en tussen-event vertraging van milliseconden vertraging. 
         *Indien vertraging  kleiner is of gelijk is aan nul dan, de timer branden zodra deze is gestart. 
         *Als listener niet nul is, het is geregistreerd als een actionlistener op de timer.
         */
        timer = new Timer(40, this);
        timer.start();
	}
    public void paint(Graphics g){
    	
    	level.paint(g);
    	//level.player.
    }
	@Override
	public void actionPerformed(ActionEvent e) {
		repaint();
	}
	public void addNotify(){    
	        super.addNotify();
	        setStart();
	}
	public void setStart() {
		this.isingame=true;
		pacman = new Pacman(3);//score and lifes
		pacman.setSpeed(2);
		level.setplayer(pacman);
		level.LevelInit();
	}
	public boolean isGamestarted() {
		return this.isingame;
	}

	public void IwanttoSTOP() {
		if (timer.isRunning()){
			isingame=false;
		}
	}
	public void IwanttoPAUZE() {
		  if (timer.isRunning())
              timer.stop();
          else timer.start();
	}
    public void Death() {
        pacman.die();
        if (pacman.haslives())
        	isingame = false;
        //LevelContinue();
    }
    public class Keylistener extends KeyAdapter {
    		public void keyPressed(KeyEvent e) {
              int key = e.getKeyCode();
              if (isGamestarted()){
                if (key == KeyEvent.VK_LEFT){
                	level.player.setDirection(Direction.LEFT);
                }else if (key == KeyEvent.VK_RIGHT) {
                	level.player.setDirection(Direction.RIGHT);
                }else if (key == KeyEvent.VK_UP){
                	level.player.setDirection(Direction.TOP);
                }else if (key == KeyEvent.VK_DOWN){
                	level.player.setDirection(Direction.BOTTOM);
                }else if (key == KeyEvent.VK_ESCAPE){
                	IwanttoSTOP();
                }else if (key == KeyEvent.VK_PAUSE) {
                	IwanttoPAUZE();
                }
              }else{
                if (key == 's' || key == 'S'){
                	setStart();
                }
              }
    		}
    }
}
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan