Forráskód Böngészése

Feature/help

# Conflicts:
#	model/gameState/PlayState.java
jancoow 10 éve
szülő
commit
a9201902e1

+ 5 - 2
control/GameControl.java

@@ -26,7 +26,7 @@ public class GameControl implements JoystickListener, ButtonListener, ActionList
 		this.view = view;
 		this.view = view;
 		this.gsm = gsm;
 		this.gsm = gsm;
 		view.setIgnoreRepaint(true);
 		view.setIgnoreRepaint(true);
-		update = new Timer(1000/60,this);
+		update = new Timer(0,this);
 		update.start();
 		update.start();
 //		Timer update = new Timer();
 //		Timer update = new Timer();
 //		update.schedule(new TimerTask() {
 //		update.schedule(new TimerTask() {
@@ -62,7 +62,10 @@ public class GameControl implements JoystickListener, ButtonListener, ActionList
 	@Override
 	@Override
 	public void actionPerformed(ActionEvent e) {
 	public void actionPerformed(ActionEvent e) {
 		long currentTime = System.currentTimeMillis();
 		long currentTime = System.currentTimeMillis();
-		model.update(currentTime - lastTime);
+		long time = currentTime - lastTime;
+		if(time > 1000/60)
+			time = 1000/60;
+		model.update(time);
 		lastTime = currentTime;
 		lastTime = currentTime;
 		view.repaint();				
 		view.repaint();				
 	}
 	}

+ 71 - 9
model/gameState/MenuState.java

@@ -43,7 +43,8 @@ public class MenuState extends GameState {
 	
 	
 	int yPosDiffButton = 900;
 	int yPosDiffButton = 900;
 	private int difSelect=0;
 	private int difSelect=0;
-	Font textFont2 = new Font("OCR A Extended", Font.BOLD, 50);
+	Font textFont = new Font("OCR A Extended", Font.BOLD, 50);
+	Font textFontSmall = new Font("OCR A Extended", Font.BOLD, 15);
 	BufferedImage aanwijzers = Images.getImage(ImageType.aanwijzers);
 	BufferedImage aanwijzers = Images.getImage(ImageType.aanwijzers);
 	int index = 0;
 	int index = 0;
 	
 	
@@ -66,11 +67,19 @@ public class MenuState extends GameState {
 	}
 	}
 	@Override
 	@Override
 	public void init() {
 	public void init() {
-		ButtonHandler.getButton(1).setColor(GameModel.colors[0]);
-		ButtonHandler.getButton(2).setColor(GameModel.colors[2]);
+		if(subscreen)
+		{
+			ButtonHandler.getButton(1).setColor(GameModel.colors[0]);
+			ButtonHandler.getButton(2).setColor(GameModel.colors[2]);
+		}
+		else
+		{
+			ButtonHandler.getButton(1).setColor(GameModel.colors[0]);
+			
+			ButtonHandler.getButton(5).setColor(GameModel.colors[1]);
+			ButtonHandler.getButton(6).setColor(GameModel.colors[4]);
+		}
 		
 		
-		ButtonHandler.getButton(5).setColor(GameModel.colors[1]);
-		ButtonHandler.getButton(6).setColor(GameModel.colors[4]);
 	}
 	}
 
 
 	@Override
 	@Override
@@ -130,6 +139,7 @@ public class MenuState extends GameState {
 		if(subscreen){								//Screen for Song details
 		if(subscreen){								//Screen for Song details
 			if(e.getButton().getButtonID() == 2){
 			if(e.getButton().getButtonID() == 2){
 				subscreen = false;
 				subscreen = false;
+				gsm.init();
 			}
 			}
 			if(e.getButton().getButtonID() == 1){
 			if(e.getButton().getButtonID() == 1){
 				sh.close();
 				sh.close();
@@ -138,9 +148,8 @@ public class MenuState extends GameState {
 		}else{										//Screen for selecting song
 		}else{										//Screen for selecting song
 			if(e.getButton().getButtonID() == 1){
 			if(e.getButton().getButtonID() == 1){
 				subscreen = true;
 				subscreen = true;
+				gsm.init();
 				generateSubScreenForeground();
 				generateSubScreenForeground();
-			}else if(e.getButton().getButtonID() == 2){
-				subscreen = false;
 			}else if(e.getButton().getButtonID() == 5){
 			}else if(e.getButton().getButtonID() == 5){
 				sh.sort(new SortALPHA());
 				sh.sort(new SortALPHA());
 				oldselected = 1;
 				oldselected = 1;
@@ -194,7 +203,7 @@ public class MenuState extends GameState {
 		Graphics2D g2 = mainScreenBackground.createGraphics();
 		Graphics2D g2 = mainScreenBackground.createGraphics();
 		RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
 		RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
 	    g2.setRenderingHints(rh);
 	    g2.setRenderingHints(rh);
-		g2.setFont(textFont2);
+		g2.setFont(textFont);
 		g2.setPaint(new GradientPaint(0, 0, new Color(0,0,1, 0.6f),1280,1024 ,new Color(0,0,1, 0.2f)));
 		g2.setPaint(new GradientPaint(0, 0, new Color(0,0,1, 0.6f),1280,1024 ,new Color(0,0,1, 0.2f)));
 		g2.fillRect(0, 0, 1280, 1024);	
 		g2.fillRect(0, 0, 1280, 1024);	
 		g2.setPaint(new GradientPaint(0, 0, new Color(1,1,0, 0.6f),1280,1024 ,new Color(0,0,1, 0.2f)));
 		g2.setPaint(new GradientPaint(0, 0, new Color(1,1,0, 0.6f),1280,1024 ,new Color(0,0,1, 0.2f)));
@@ -215,8 +224,28 @@ public class MenuState extends GameState {
 		
 		
 		g2.setColor(Color.BLACK);
 		g2.setColor(Color.BLACK);
 		g2.drawString("Main Menu", 32, 60);
 		g2.drawString("Main Menu", 32, 60);
+		
+		g2.setFont(textFontSmall);
+	
+		//select
+		g2.setColor(GameModel.colors[0]);
+		g2.fillOval(20, 900, 30, 30);
+		g2.drawString("Play", 55, 920);
+		
+		//letters
+		g2.setColor(GameModel.colors[1]);
+		g2.fillOval(20, 940, 30, 30);
+		g2.drawString("A-Z", 55, 960);
+		
+		//most played
+		g2.setColor(GameModel.colors[4]);
+		g2.fillOval(20, 980, 30, 30);
+		g2.drawString("Most Played", 55, 1000);		
 		g2.dispose();
 		g2.dispose();
+	
 		mainScreenBackground.createGraphics();
 		mainScreenBackground.createGraphics();
+		
+		
 	}
 	}
 	
 	
 	public void generateSubScreenBackground(){
 	public void generateSubScreenBackground(){
@@ -247,7 +276,7 @@ public class MenuState extends GameState {
 		g2.setComposite(AlphaComposite.SrcOver);
 		g2.setComposite(AlphaComposite.SrcOver);
 	    g2.setRenderingHints(rh);
 	    g2.setRenderingHints(rh);
 	    g2.setColor(Color.BLACK);
 	    g2.setColor(Color.BLACK);
- 		g2.setFont(textFont2);
+ 		g2.setFont(textFont);
 		g2.drawString(selectedToSong(selected).getTitle(), 30, 60);
 		g2.drawString(selectedToSong(selected).getTitle(), 30, 60);
 		
 		
 		
 		
@@ -259,6 +288,39 @@ public class MenuState extends GameState {
 		for(DifficultyButton b : buttons2){
 		for(DifficultyButton b : buttons2){
 			b.draw(g2);
 			b.draw(g2);
 		}
 		}
+		
+		g2.setFont(textFontSmall);
+		
+		//play song
+		g2.setColor(GameModel.colors[0]);
+		g2.fillOval(20, 860, 30, 30);
+		g2.drawString("Play", 55, 880);
+		
+		//back
+		g2.setColor(GameModel.colors[2]);
+		g2.fillOval(20, 900, 30, 30);
+		g2.drawString("Back", 55, 920);
+		
+		//up
+		g2.setColor(Color.BLACK);		
+		Polygon p  = new Polygon();
+		p.addPoint(35, 940);
+		p.addPoint(20, 960);
+		p.addPoint(50, 960);	
+		g2.fillPolygon(p);
+		g2.drawString("Up", 55, 960);
+		
+		//down
+		Polygon p2  = new Polygon();
+		p2.addPoint(35, 1000);
+		p2.addPoint(20, 980);
+		p2.addPoint(50, 980);	
+		g2.fillPolygon(p2);
+
+		g2.drawString("Down", 55, 1000);	
+		
+		
+		
 	    g2.dispose();
 	    g2.dispose();
 	    subScreenForeground.createGraphics();
 	    subScreenForeground.createGraphics();
 	}
 	}

+ 12 - 11
model/gameState/PlayState.java

@@ -34,6 +34,8 @@ public class PlayState extends GameState {
 	public static int currentScore = 0;
 	public static int currentScore = 0;
 	public static int comboScore = 0;
 	public static int comboScore = 0;
 	public static double lifePoints = 100;
 	public static double lifePoints = 100;
+	
+	private boolean init = false;
 
 
 	private long oldProgress = 0;
 	private long oldProgress = 0;
 
 
@@ -47,7 +49,7 @@ public class PlayState extends GameState {
 
 
 	@Override
 	@Override
 	public void init() {
 	public void init() {
-		
+		init = true;
 		lifePoints = 100;
 		lifePoints = 100;
 		currentScore = 0;
 		currentScore = 0;
 		comboScore = 0;
 		comboScore = 0;
@@ -57,14 +59,6 @@ public class PlayState extends GameState {
 		{
 		{
 			p.getEnemysInPath().clear();
 			p.getEnemysInPath().clear();
 		}
 		}
-		
-		try {
-			Thread.sleep(2000);
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-
-		sh.play();
 
 
 		for (int i = 1; i < ButtonHandler.getButtons().size(); i++) {
 		for (int i = 1; i < ButtonHandler.getButtons().size(); i++) {
 			Button b = ButtonHandler.getButton(i);
 			Button b = ButtonHandler.getButton(i);
@@ -72,12 +66,16 @@ public class PlayState extends GameState {
 		}
 		}
 		
 		
 		ButtonHandler.getButton(1).setColor(sh.getCurrentSongInstance().getButtons().get(0).getColor());
 		ButtonHandler.getButton(1).setColor(sh.getCurrentSongInstance().getButtons().get(0).getColor());
-
+		
+		sh.play();
+		init = false;
 	}
 	}
 
 
 	@Override
 	@Override
 	public void update(float factor) {
 	public void update(float factor) {
-
+		if(init)
+			return;
+		
 		long progress = (long) ((sh.getProgress() / 1000) + (Enemy.secondsToEnd * 1000));
 		long progress = (long) ((sh.getProgress() / 1000) + (Enemy.secondsToEnd * 1000));
 
 
 		for (ButtonInstance bu : sh.getCurrentSongInstance().getButtonsBetween(oldProgress, progress)) {
 		for (ButtonInstance bu : sh.getCurrentSongInstance().getButtonsBetween(oldProgress, progress)) {
@@ -90,9 +88,12 @@ public class PlayState extends GameState {
 			p.addEnemy(ob.getColor(), ob.getDirection(), (int) ob.getLength());
 			p.addEnemy(ob.getColor(), ob.getDirection(), (int) ob.getLength());
 		}
 		}
 		
 		
+
 		if(progress > sh.getCurrentSongInstance().getEndTime() + Enemy.secondsToEnd*1000*2)
 		if(progress > sh.getCurrentSongInstance().getEndTime() + Enemy.secondsToEnd*1000*2)
 			gsm.setState(State.GAMEOVER_STATE);
 			gsm.setState(State.GAMEOVER_STATE);
 
 
+//		System.out.println(progress - oldProgress + " / " + area.paths.get(player.getIndex()).getEnemysInPath().size());
+
 		oldProgress = progress;
 		oldProgress = progress;
 
 
 		Enemy closedEnemy = null;
 		Enemy closedEnemy = null;