private void newGame() { game_grid.clear(); installNewPiece(); num_rows_deleted = 0; rows_deleted_label.setText("0"); level_label.setText("1"); score_label.setText("0"); startGame(); }
public void init() { sounds = new TetrisSound(); installNewPiece(); pause_resume_butt.setEnabled(false); start_newgame_butt.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { if (start_newgame_butt.getLabel().equals("Start")) startGame(); else newGame(); } }); pause_resume_butt.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { if (pause_resume_butt.getLabel().equals("Pause")) pauseGame(); else resumeGame(); } }); KeyListener key_listener = new KeyAdapter() { public void keyPressed(KeyEvent e) { if (timer.isPaused()) return; if (e.getKeyCode() == 37 || e.getKeyCode() == 39) { int dir = e.getKeyCode() == 37 ? -1 : 1; synchronized (timer) { cur_piece.cut(); cur_piece.setX(cur_piece.getX() + dir); if (!cur_piece.canPaste()) cur_piece.setX(cur_piece.getX() - dir); cur_piece.paste(); } game_grid.repaint(); } else if (e.getKeyCode() == 38) { synchronized (timer) { cur_piece.cut(); cur_piece.rotate(); if (!cur_piece.canPaste()) cur_piece.rotateBack(); cur_piece.paste(); } game_grid.repaint(); } if (e.getKeyCode() == 40) { timer.setFast(true); } } }; start_newgame_butt.addKeyListener(key_listener); pause_resume_butt.addKeyListener(key_listener); Panel right_panel = new Panel(new GridLayout(3, 1)); right_panel.setBackground(BACKGROUND_COLOR); Panel control_panel = new Panel(); control_panel.add(start_newgame_butt); control_panel.add(pause_resume_butt); control_panel.setBackground(BACKGROUND_COLOR); right_panel.add(control_panel); Panel tmp = new Panel(new BorderLayout()); tmp.add("North", new TetrisLabel(" Next Piece:")); tmp.add("Center", next_piece_canvas); tmp.setBackground(BACKGROUND_COLOR); right_panel.add(tmp); Panel stats_panel = new Panel(new GridLayout(4, 2)); stats_panel.add(new TetrisLabel(" Rows Deleted: ")); stats_panel.add(rows_deleted_label); stats_panel.add(new TetrisLabel(" Level: ")); stats_panel.add(level_label); stats_panel.add(new TetrisLabel(" Score: ")); stats_panel.add(score_label); stats_panel.add(new TetrisLabel(" High Score: ")); stats_panel.add(high_score_label); tmp = new Panel(new BorderLayout()); tmp.setBackground(BACKGROUND_COLOR); tmp.add("Center", stats_panel); right_panel.add(tmp); this.setLayout(new GridLayout(1, 2)); this.add(game_grid); this.add(right_panel); this.setBackground(BACKGROUND_COLOR); this.validate(); }