|
MastermindControll.java
Created with JBuilder |
package mastermind;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
/**
* MastermindControll -
* Kontrolliert das Spiel. Wenn der Spielzug abgeschlossen ist, wird das Model aktualisert und alle Sichen neu gezeichnet.
*
* Mind Blowing Master Mind ein klein Projekt des Informatik Unterrichts Programmieren II
* Authors Pascal Naef; Fabian Heusser
* Teacher: H. J. Diethlem
* School: hta.fhz.ch, Horw;
* Project Homepage: http://www.w3p.ch/mastermind/
*
* supported features:
* OYAAHA Look and feel;
* Transparen Pictures;
* Drag & Drop;
* Copy & Paste;
*
*
* LEGAL NOTICE
* THIS PROJECT AND ITS FILES ARE COPYRIGHTED BY THE AUTHORS
* THIS PROJECT CAN BE COPIED, MODIFIED AND DISTRIBUTED
* UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENCE
* WITH THE RESTRICTION OF SENDING US A MAIL WITH THE MODIFIED
* SOURCODE IF THE PROJECT IS MODIEFIED.
*
* if you like this progi feel free to send us something (beer, chips, playmates, houses....).
*
*
* @author Pascal Naef
* @author Fabian Heusser
* @version 1.0 $Date: 2001/12/05 14:46:53 $ $Revision: 1.1.1.1 $
* @(#) MastermindControll.java
*/
class MastermindControll extends JPanel
{
//GUI - Komponenten
public JButton okButton = new JButton("OK");
private MastermindMain mainframe;
private JPanel thispanel;
private MasterMindModel playGround;
private JPanel view;
private MasterProgressBar masterBar;
/**
* Konstruiert den MastermindControll
* @param _playGround MastermindModel, Spielfläche
* @param _view MastermindView, Spielflächenansicht
* @param _mpb ProgressBar, Anzeige der Spielschritte
* @param _mainframe MastermindMain, HauptFrame
*/
public MastermindControll(MasterMindModel _playGround, MastermindView _view, MasterProgressBar _mpb, MastermindMain _mainframe)
{
mainframe = (MastermindMain) _mainframe;
thispanel = this;
playGround = _playGround;
view = _view;
masterBar = _mpb;
this.setLayout(new FlowLayout());
this.add(okButton);
okButton.addActionListener(new ButtonListener());
}
/**
* Übergibt dem Controll die Adresse des MasterMindModels
* @param _playGround MasterMindModel, Adresse des MasterMindModels
*/
public void setMasterMindModel(MasterMindModel _playGround)
{
playGround = _playGround;
}
/**
* Übergibt dem Controll die Adresse des ViewPanels
* @param _view MastermindView, Adresse des Views
*/
public void setMastermindView(MastermindView _view)
{
view = _view;
}
/**
* Übergibt dem Controll die Adresse des ProgressBars
* @param _mgb MasterProgressBar, Adress der ProgessBar
*/
public void setMasterProgressBar(MasterProgressBar _mgb)
{
masterBar = _mgb;
}
/**
* Erkennt wenn der Button im Controllpanel gedrueckt ist und fuehrt die Auwertung aus.
*/
class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == okButton)
{
if (playGround.isTurnComplete())
{
view.repaint();
masterBar.repaint();
playGround.incrementTurn();
if (playGround.getWon())
{
okButton.setEnabled(false);
JOptionPane.showMessageDialog(view,"You've won!","Mastermind ¦¦ Win", JOptionPane.INFORMATION_MESSAGE);
}
else if (playGround.getLoose())
{
okButton.setEnabled(false);
SolutionFrame solutionF = new SolutionFrame(playGround);
solutionF.setLocation(mainframe.getX()+((mainframe.getWidth()-solutionF.getWidth())/2), mainframe.getY()+(mainframe.getY()-thispanel.getHeight())/2);
JOptionPane.showMessageDialog(view,"You've lost!","Mastermind ¦¦ Lose", JOptionPane.ERROR_MESSAGE);
solutionF.setVisible(true);
}
}
}
}
}
}
|
MastermindControll.java
Created with JBuilder |