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

📄 createdialog.java

📁 一个简单的Java Swing 游戏Blokus~方块圈地~Eclipse3.0 Project
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * 创建日期 2005-4-22
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package frame;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Iterator;
import java.util.LinkedList;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;

/**
 * @author Robert
 *
 * TODO 要更改此生成的类型注释的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class CreateDialog extends JFrame implements ActionListener{
	private char type;
	private PiecesSelect p;
	private CreateGame game;
	private JDialog options;
	
	private JRadioButton oohc = new JRadioButton("Human vs Computer(1 vs 1)");
	private JRadioButton oohh = new JRadioButton("Single play");
	private JRadioButton otcc = new JRadioButton("Computer");
	private JRadioButton othc = new JRadioButton("Human vs Computer(1 vs 3)");
	private JRadioButton blue = new JRadioButton("Blue");
	private JRadioButton yellow = new JRadioButton("Yellow");
	private JRadioButton red = new JRadioButton("Red");
	private JRadioButton green = new JRadioButton("Green");
	private JRadioButton one = new JRadioButton("Maximum One Grid Mode");
	private JRadioButton two = new JRadioButton("Maximum Two Grids Mode");
	private JRadioButton three = new JRadioButton("Maximum Three Grids Mode");
	private JRadioButton four = new JRadioButton("Maximum Four Grids Mode");
	private JRadioButton five = new JRadioButton("Maximum Five Grids Mode (default)");
	private boolean isOohh = true, isOohc = false, isOthc = false, isOtcc = false; 
	private boolean isOne = false, isTwo = false, isThree = false, isFour = false, isFive = true;
	private boolean isComputer = false;
	
	//构造函数
	public CreateDialog(char type){
		this.type = type;
		this.init();
	}
	
	//构造函数
	public CreateDialog(char type, PiecesSelect p){
		this.p = p;
		this.type = type;
		this.init();
	}
	
	//构造函数
	public CreateDialog(char type, CreateGame game, PiecesSelect p){
		this.game = game;
		this.p = p;
		this.type = type;
		this.init();
	}
	
	//初始化函数
	private void init(){
		switch(type){
		case 'e': creatExit();
			break;
		case 'o': creatOptions();
			break;
		case 'd': creatEnd();
			break;
		case 'n': hasNotStart();
			break;
		case 'h': help();
		default:
			break;
		}
	}
	
	//创建退出对话框
	private void creatExit(){
		int selection = JOptionPane.showConfirmDialog(CreateDialog.this,
				   "Do you want to really exit?", "Exit",
				   JOptionPane.OK_CANCEL_OPTION,
				   JOptionPane.WARNING_MESSAGE);
		if(selection == JOptionPane.OK_OPTION)
			System.exit(0);

	}
	
	//创建设置对话框
	private void creatOptions(){
		JPanel panel = new JPanel();
		JLabel label = new JLabel();
		panel.setLayout(new GridLayout(5,1));
				
		oohc.setSelected(false);
		othc.setSelected(false);
		otcc.setSelected(false);
		oohh.setSelected(true);
		
		
		oohc.addActionListener(this);
		othc.addActionListener(this);
		oohh.addActionListener(this);
		otcc.addActionListener(this);
		
		
		label.setText("Mode Choose:");
		panel.add(label);
		panel.add(oohc);
		panel.add(othc);
		panel.add(otcc);
		panel.add(oohh);
		
		
		int selection = JOptionPane.showConfirmDialog(CreateDialog.this,
				   panel, "Option",
				   JOptionPane.OK_CANCEL_OPTION,
				   JOptionPane.INFORMATION_MESSAGE);
		if(selection == JOptionPane.OK_OPTION)
			if(oohc.isSelected() == true){
				isOohh = false;
				isOohc = true;
				isOthc = false;
				isOtcc = false;
				p.setGameType(1);
				creatColorChoose();
			}
			else if(oohh.isSelected() == true){
				isOohh = true;
				isOohc = false;
				isOthc = false;
				isOtcc = false;
				p.setGameType(0);
				creatColorChoose();
			}
			else if(othc.isSelected() == true){
				isOohh = false;
				isOohc = false;
				isOthc = true;
				isOtcc = false;
				p.setGameType(2);
				creatColorChoose();
			}
			else if(otcc.isSelected() == true){
				isOohh = false;
				isOohc = false;
				isOthc = false;
				isOtcc = true;
				p.setGameType(3);
				creatColorChoose();
			}
	}
	
	//创建颜色选择对话框
	private void creatColorChoose(){
		JPanel panel = new JPanel();
		JLabel label = new JLabel();
		panel.setLayout(new GridLayout(5,1));
		
		if(isOohh == true){
			blue.setSelected(true);
			yellow.setSelected(true);
			red.setSelected(true);
			green.setSelected(true);
		}
		
		if(isOohc == true){
			blue.setSelected(true);
			yellow.setSelected(false);
			red.setSelected(true);
			green.setSelected(false);
		}
		
		if(isOthc == true){
			blue.setSelected(true);
			yellow.setSelected(false);
			red.setSelected(false);
			green.setSelected(false);
		}
		
		if(isOtcc == true){
			blue.setEnabled(false);
			yellow.setEnabled(false);
			red.setEnabled(false);
			green.setEnabled(false);
			isComputer = true;
		}
		
		blue.addActionListener(this);
		yellow.addActionListener(this);
		red.addActionListener(this);
		green.addActionListener(this);
		
		label.setText("Color Choose:");
		
		panel.add(label);
		panel.add(blue);
		panel.add(yellow);
		panel.add(red);
		panel.add(green);
		
		int selection = JOptionPane.showConfirmDialog(CreateDialog.this,
				   panel, "Color",
				   JOptionPane.OK_CANCEL_OPTION,
				   JOptionPane.INFORMATION_MESSAGE);
		if(selection == JOptionPane.OK_OPTION){
			if(isComputer == true){
				p.setBlueC(true);
				p.setYellowC(true);
				p.setRedC(true);
				p.setGreenC(true);
				createModchoose();
			}else{
				if(blue.isSelected() == true)
					p.setBlueC(false);
				else
					p.setBlueC(true);
				
				if(yellow.isSelected() == true)
					p.setYellowC(false);
				else
					p.setYellowC(true);
				
				if(red.isSelected() == true)
					p.setRedC(false);
				else
					p.setRedC(true);
				
				if(green.isSelected() == true)
					p.setGreenC(false);
				else
					p.setGreenC(true);
				createModchoose();
			}
		}
	}
	
	private void createModchoose(){
		JPanel panel = new JPanel();
		JLabel label = new JLabel();
		panel.setLayout(new GridLayout(6,1));
		
		if(isOne == true){
			one.setSelected(true);
			two.setSelected(false);
			three.setSelected(false);
			four.setSelected(false);
			five.setSelected(false);
		}
		
		if(isTwo == true){
			one.setSelected(false);
			two.setSelected(true);
			three.setSelected(false);
			four.setSelected(false);
			five.setSelected(false);
		}
		
		if(isThree == true){
			one.setSelected(false);
			two.setSelected(false);
			three.setSelected(true);
			four.setSelected(false);
			five.setSelected(false);
		}
		
		if(isFour == true){
			one.setSelected(false);
			two.setSelected(false);
			three.setSelected(false);
			four.setSelected(true);
			five.setSelected(false);
		}
		
		if(isFive == true){
			one.setSelected(false);
			two.setSelected(false);
			three.setSelected(false);
			four.setSelected(false);
			five.setSelected(true);
		}
		
		label.setText("Color Choose:");
		
		panel.add(label);
		panel.add(one);
		panel.add(two);
		panel.add(three);
		panel.add(four);
		panel.add(five);
		
		one.addActionListener(this);
		two.addActionListener(this);
		three.addActionListener(this);
		four.addActionListener(this);
		five.addActionListener(this);
		
		int selection = JOptionPane.showConfirmDialog(CreateDialog.this,
				   panel, "PlayMode",
				   JOptionPane.OK_CANCEL_OPTION,
				   JOptionPane.INFORMATION_MESSAGE);
		if(selection == JOptionPane.OK_OPTION){
			if(isOne == true){
				LinkedList b = game.getBluePieces().getImagePieces();
				LinkedList y = game.getYellowPieces().getImagePieces();
				LinkedList r = game.getRedPieces().getImagePieces();
				LinkedList g = game.getGreenPieces().getImagePieces();
				Iterator ite = b.iterator();
				Pieces temp;
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 1)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
				ite = y.iterator();
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 1)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
				ite = r.iterator();
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 1)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
				ite = g.iterator();
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 1)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
			}else if(isTwo == true){
				LinkedList b = game.getBluePieces().getImagePieces();
				LinkedList y = game.getYellowPieces().getImagePieces();
				LinkedList r = game.getRedPieces().getImagePieces();
				LinkedList g = game.getGreenPieces().getImagePieces();
				Iterator ite = b.iterator();
				Pieces temp;
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 2)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
				ite = y.iterator();
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 2)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
				ite = r.iterator();
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 2)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
				ite = g.iterator();
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 2)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
			}else if(isThree == true){
				LinkedList b = game.getBluePieces().getImagePieces();
				LinkedList y = game.getYellowPieces().getImagePieces();
				LinkedList r = game.getRedPieces().getImagePieces();
				LinkedList g = game.getGreenPieces().getImagePieces();
				Iterator ite = b.iterator();
				Pieces temp;
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 3)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
				ite = y.iterator();
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 3)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
				ite = r.iterator();
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 3)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
				ite = g.iterator();
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 3)
						temp.setInUse(false);
					else
						temp.setInUse(true);
				}
			}else if(isFour == true){
				LinkedList b = game.getBluePieces().getImagePieces();
				LinkedList y = game.getYellowPieces().getImagePieces();
				LinkedList r = game.getRedPieces().getImagePieces();
				LinkedList g = game.getGreenPieces().getImagePieces();
				Iterator ite = b.iterator();
				Pieces temp;
				while(ite.hasNext()){
					temp = (Pieces)ite.next();
					if(temp.getScore() > 4)

⌨️ 快捷键说明

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