⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guicontrol.java

📁 一个java写的大富翁游戏
💻 JAVA
字号:
package rich;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.TitledBorder;

public class GUIControl implements ActionListener{

		MapControl mapControl;	// reference for class
		RollDie dice;
	
		JFrame f;			// reference for interface
		Container contentPane;
		JPanel Panel,textPanel;
		JLabel picture;
		JLabel nameText,ageText,genderText,cashinhandText,cashinbankText;
		JButton rolldice;

		int address;		// reference for information
		JLabel playerLayered;
		Character player;
		LogicControl logic;
		ImageIcon displayImage ;
		
		
		public GUIControl(LogicControl logic){
			
			this.logic = logic;			// get and initial Class 
			mapControl = new MapControl();
			dice = new RollDie();

										//***** draw interface*****
			f = new JFrame("Main control bar");		// initial Frame
			contentPane = f.getContentPane();
			
			Panel = new JPanel();		// initial Panel 
			Panel.setLayout(new GridLayout(3,1));
			
			picture = new JLabel();		// create a Picture Label
			
			textPanel = new JPanel();	// create Text Panel
			textPanel.setLayout(new GridLayout(5,1));
			nameText = new JLabel();	// create information label
			ageText = new JLabel();
			genderText = new JLabel();
			cashinhandText = new JLabel();
			cashinbankText = new JLabel();
			textPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.GRAY,3)," Information ",TitledBorder.CENTER,TitledBorder.TOP));

			rolldice = new JButton(dice.getIcon()); // Rolldie Button
			rolldice.addActionListener(this);
			
			f.setLocation(780,150);
			f.show();
			f.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){ System.exit(0); }});
		}
		
		public void setCharacterInMap(Character player){	// put character in map , get reference for layer
			playerLayered = mapControl.createCharacter(player);
			player.setCharacterLayered(playerLayered);
		}
		
		public void turnPlayer(Character player){

			this.player = player;			// set user now

			displayImage = player.getImage();	// change picture
			picture.setIcon(displayImage);
			picture.setVerticalAlignment(JLabel.CENTER);
			picture.setHorizontalAlignment(JLabel.CENTER);

			nameText.setText("Name : "+player.getName());		//change Information
			ageText.setText("Age : "+player.getAge());
			genderText.setText("Gender : "+player.getGender());
			cashinhandText.setText("Cash In Hand : "+player.getCashInHand());
			cashinbankText.setText("Cash In Bank : "+player.getCashInBank());

			textPanel.add(nameText);	// add information to TextPanel
			textPanel.add(ageText);
			textPanel.add(genderText);
			textPanel.add(cashinhandText);
			textPanel.add(cashinbankText);

			Panel.add(picture);		// add new Information to Panel
			Panel.add(textPanel);
			Panel.add(rolldice);
			contentPane.add(Panel);
			
			if(player.getPlayerType()=="Computer"){		// computer player processing
				rolldice.setEnabled(false);
				actionPerformed(new ActionEvent(player, address, null));
			}else{			// humen player 
				rolldice.setEnabled(true);
			}						

			f.pack();
		}
		
		public void actionPerformed(ActionEvent arg0) {	//click button event
			address = player.getAddress()+dice.getRoll();	//check rule
				if(address<=40){
					player.setAddress(address);
					mapControl.move(player,player.getCharacterLayered(),address,"jump");
				}else{
					address-=40;
					player.setAddress(address);
					mapControl.move(player,player.getCharacterLayered(),address,"jump");
				}
				logic.turning();
		}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -