/** Initialize the game */ public void run() { // Get ready getReady(); vx = 0; vy = 0; num_brick_left = NUM_BRICK_ROW * NUM_BRICK_COL; // Add label at the bottom mylabel = new GLabel("Developed by Teng Zhong"); add(mylabel, (getWidth() - mylabel.getWidth()) / 2, (getHeight() - 300)); // Start game playing while (!gameover()) { moveBall(); checkRebounce(); pause(DELAY); } // When game is over remove(ball); GLabel lab = new GLabel("Game Over!"); lab.setFont("SansSerif-28"); lab.setColor(Color.RED); add(lab, (getWidth() - lab.getWidth()) / 2, (getHeight() - lab.getHeight()) / 2); }
@Override public void init() { randgen = new RandomGenerator(); setSize(WINDOW_WIDTH, WINDOW_HEIGHT); setTitle("Get or Avoid!"); setBackground(Color.gray); score = 0; scoreLabel = new JLabel("Score: " + score); scoreLabel.setFont(new Font("Cambria", Font.BOLD, 18)); add(scoreLabel, NORTH); letters = new GLabel[10]; for (int i = 0; i < 10; i++) { letters[i] = makeLetterLabel(screenDivisions); // 5 initial divisions add(letters[i]); } player = new GLabel("P", INDENT, 3 * getHeight() / screenDivisions); player.setFont(new Font("Cambria", Font.BOLD, 24)); player.setColor(Color.blue); add(player); addKeyListeners(); }
/** positions a label in a particular spot */ private void position(GLabel label_positioned) { GLabel box = label_positioned; box.setFont(new Font("Serif", Font.BOLD, FONTSIZE)); box.setColor(FONTCOLOR); add(box); }
/*Place the labels on top */ private void placeLabels() { /*Place label On Rent */ GLabel onRentLabel = new GLabel("ON RENT"); onRentLabel.setFont(new Font("Serif", Font.BOLD, BIGFONTSIZE)); onRentLabel.setColor(FONTCOLOR); add(onRentLabel, RENTX + RENTWIDTH / 2 - onRentLabel.getWidth() / 2, RENTY - EQUIPHEIGHT); /*Place label Available */ GLabel availForRentLabel = new GLabel("AVAILABLE FOR RENT"); availForRentLabel.setFont(new Font("Serif", Font.BOLD, BIGFONTSIZE)); availForRentLabel.setColor(FONTCOLOR); add( availForRentLabel, AVAILX + AVAILWIDTH / 2 - availForRentLabel.getWidth() / 2, AVAILY - EQUIPHEIGHT); /*Place label Shop */ GLabel shopLabel = new GLabel("SHOP"); shopLabel.setFont(new Font("Serif", Font.BOLD, BIGFONTSIZE)); shopLabel.setColor(FONTCOLOR); add(shopLabel, SHOPX + SHOPWIDTH / 2 - shopLabel.getWidth() / 2, SHOPY - EQUIPHEIGHT * 14); /*Place the lost sales label */ lostSalesLabel1 = new GLabel("Lost Sales HR = " + lostSales.get(0)); lostSalesLabel2 = new GLabel("Lost Sales MR = " + lostSales.get(1)); lostSalesLabel3 = new GLabel("Lost Sales LR = " + lostSales.get(2)); lostSalesLabel1.setFont(new Font("Serif", Font.BOLD, BIGFONTSIZE)); lostSalesLabel2.setFont(new Font("Serif", Font.BOLD, BIGFONTSIZE)); lostSalesLabel3.setFont(new Font("Serif", Font.BOLD, BIGFONTSIZE)); lostSalesLabel1.setColor(FONTCOLOR); lostSalesLabel2.setColor(FONTCOLOR); lostSalesLabel3.setColor(FONTCOLOR); add(lostSalesLabel1, START_X + 4 * EQUIPWIDTH, 4 * EQUIPHEIGHT); add( lostSalesLabel2, START_X + 4 * EQUIPWIDTH, 4 * EQUIPHEIGHT + lostSalesLabel1.getHeight() * 1.5); add( lostSalesLabel3, START_X + 4 * EQUIPWIDTH, 4 * EQUIPHEIGHT + lostSalesLabel2.getHeight() * 3); /*Place the days elapsed label */ daysElapsed = 0; daysElapsedLabel = new GLabel("DAY" + daysElapsed); daysElapsedLabel.setFont(new Font("Serif", Font.BOLD, 24)); daysElapsedLabel.setColor(Color.red.darker()); add(daysElapsedLabel, APPLICATION_WIDTH / 2, START_Y / 2); /*Place the sales Label */ sales = 0; salesLabel = new GLabel("SALES: $" + sales); salesLabel.setFont(new Font("Serif", Font.BOLD, 24)); salesLabel.setColor(Color.GREEN.darker()); add(salesLabel, APPLICATION_WIDTH / 2, daysElapsedLabel.getY() + daysElapsedLabel.getY()); /*Place the capitalInvested Label */ capitalInvested = 0; capitalLabel = new GLabel("Capital Invested: $" + capitalInvested); capitalLabel.setFont(new Font("Serif", Font.BOLD, 18)); capitalLabel.setColor(Color.RED.darker()); add( capitalLabel, lostSalesLabel1.getX(), lostSalesLabel3.getY() + lostSalesLabel3.getHeight() * 2); }