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

📄 game1.java

📁 前几天编写的一个小游戏,点"+",它变"-",周围的"+"变"-","-"变"+" 这是从软件设计师考试中看到的一个问题,我用JAVA实现了.
💻 JAVA
字号:

import java.awt.*;
import java.awt.event.*;

public class Game1 extends Frame {
	private Button [] b = new Button[9];

	public static void main(String[] args) {
		new Game1().start();
	}
	
	public void start() {
		this.setSize(100,100);
		this.setLocation(300,300);
		for(int i=0; i<9; i++){
			b[i] = new Button("-");
		}
		b[4].setLabel("+");
		setLayout(new GridLayout(3,3));
		for(int i=0; i<9; i++){
			add(b[i]);
		}
		this.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
		});
		for(int i=0; i<9; i++){
			b[i].addActionListener(new ButtonAction());
		}
		this.setVisible(true);
	}
	
	class ButtonAction implements ActionListener {
		private int flag1 = 0;
		private int flag2 = 0;
		public void actionPerformed(ActionEvent e) {
			Object source = e.getSource();
			int[][] num = {{1,3}, {0,2,4}, {1,5}, {0,4,6}, {1,3,5,7}, {2,4,8}, {3,7}, {4,6,8}, {5,7}};
			for(int i=0; i<9; i++){
				if(source == b[i] && ((Button)(source)).getLabel() == "+"){
					((Button)(source)).setLabel("-");
					for(int j=0; j<num[i].length; j++){
						if(b[num[i][j]].getLabel() == "-"){
							b[num[i][j]].setLabel("+");
						}
						else{
							b[num[i][j]].setLabel("-");
						}
					}
				}
			}
			
			
			//以下用于判定成功与失败
			if(b[4].getLabel() == "-"){
				for(int i = 0; i < 4; i++){
					if(b[i].getLabel() == "-"){
						flag1 = 1;
					}
					else if(b[i].getLabel() == "+"){
						flag2 = 1;
					}
				}
				for(int i = 5; i < 9; i++){
					if(b[i].getLabel() == "-"){
						flag1 = 1;
					}
					else if(b[i].getLabel() == "+"){
						flag2 = 1;
					}
				}
			}
			
			if(flag1 == 1 && flag2 == 0){
				new Fail().launch();
			}
			else if(flag1 == 0 && flag2 == 1){
				new Success().launch();
			}
		}
		
	}

}

⌨️ 快捷键说明

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