Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ge;
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- /**
- * Mines is a simple implementation of mine sweeper, a one-person game
- * known from Windows 3.1 and later. This version does not do double
- * buffering of the graphics, so it may flicker a little.
- *
- * To start the game, create an object of this class.
- *
- * @author Peter Sestoft
- * @author hypesystem <[email protected]>
- * @version 1997, 2007-11-13 modified by hypesystem 14-11 2011
- */
- // Opret Frame der indeholder spillebrættet og knappen `Nyt spil'
- // tilføjet default close operation, så programmet faktisk terminerer, når
- // vinduet lukkes.
- // endvidere tilføjet en label der viser antallet af felter ryddet ud af totale
- // ikke-mine baserede felter.
- // dette er et ærke-eksempel på ekstremt dårlig klassestruktur, men opgaven der
- // blev stillet bad om at få gjort noget der krævede enten en komplet
- // genskrivning eller en løsning som den i dette eksempel.
- public class Mines {
- private JLabel minesLabel, clearedLabel;
- public Mines() {
- JFrame f = new JFrame("Minestryger");
- f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- final MineCanvas canvas = new MineCanvas();
- f.add(canvas, "North");
- JPanel psouth = new JPanel();
- psouth.setLayout(new FlowLayout());
- JButton nytspil = new JButton("Nyt spil");
- minesLabel = new JLabel("Mines: ");
- clearedLabel = new JLabel("Fields cleared: 0/"+canvas.cols * canvas.rows);
- psouth.add(clearedLabel);
- psouth.add(nytspil);
- psouth.add(minesLabel);
- f.add(psouth, "South");
- nytspil.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- canvas.nytspil();
- }
- });
- canvas.addMouseListener(new MouseAdapter() {
- @Override
- public void mouseClicked(MouseEvent e) {
- canvas.mouseClick(e);
- minesLabel.setText("Mines: "+canvas.getMines());
- clearedLabel.setText("Fields cleared: "+canvas.getCleared()+"/"+
- canvas.cols * canvas.rows);
- }
- });
- canvas.nytspil();
- f.pack();
- f.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment