| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package model.objects;
- import image.Images;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics2D;
- import java.awt.RenderingHints;
- import java.awt.image.BufferedImage;
- import model.gameState.PlayState;
- public class InfoPanel {
-
- private String totalHighscore = "XXXXXX";
- private int lifePercent;
- private int upgradeScore = 0;
- private int x, y;
- private BufferedImage infoPanel;
-
- public InfoPanel(int x, int y){
- this.x = x;
- this.y = y;
- generateInfoPanel();
- updateIPanel();
- }
-
- public void updateIPanel() {
- totalHighscore = "Score: " + PlayState.currentScore;
-
-
- lifePercent =+ PlayState.lifePoints;
-
- if(0 <= PlayState.currentScore && PlayState.currentScore <=100) {
- if(upgradeScore != PlayState.currentScore){
- upgradeScore = PlayState.currentScore;
- generateInfoPanel();
- }
- }
- }
-
- private void generateInfoPanel(){
- infoPanel = new BufferedImage(1280, 1024, BufferedImage.TYPE_INT_ARGB);
- Graphics2D g2 = infoPanel.createGraphics();
- RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
- g2.setRenderingHints(rh);
- g2.setColor(Color.BLACK);
- g2.fillRect(x, y, 256, 1024);
- Font scoreFont = new Font("OCR A Extended", Font.BOLD, 30);
- g2.setFont(scoreFont);
- g2.setColor(Color.ORANGE);
- g2.drawString(totalHighscore, 25, 75);
- g2.drawRect(25, 100, 200, 30);
- g2.drawRect(25, 300, 200, 700);
- g2.setColor(Color.GREEN);
- g2.fillRect(25, 100, 2 * lifePercent, 30);
-
- g2.setColor(Color.YELLOW);
- g2.fillRect(25, 1000 - 7 * upgradeScore, 200, 0 + 7 * upgradeScore);
- infoPanel.createGraphics();
- infoPanel = Images.toCompatibleImage(infoPanel);
- }
-
- public void draw(Graphics2D g2){
- g2.drawImage(infoPanel, 0, 0, 1280,1024,null);
- }
- }
|