java小游戏源代码
时间:2026-01-26
时间:2026-01-26
Java小游戏
第一个Java文件:
import java.util.Scanner;
public class GameA_B {
public static void main(String[] args) { Scanner reader=new Scanner(System.in); int area;
System.out.println("Game Start…………Please enter the area:(1-9)" +
'\n'+"1,2,3 means easy"+'\n'+"4,5,6 means middle"+'\n'+ "7,8,9 means hard"+'\n'+"Please choose:");
area=reader.nextInt(); switch((area-1)/3) {
case 0:System.out.println("You choose easy! ");break; case 1:System.out.println("You choose middle! ");break; case 2:System.out.println("You choose hard! ");break; }
System.out.println("Good Luck!");
GameProcess game1=new GameProcess(area); game1.process(); }
第二个Java文件:
import java.util.Random; import java.util.Scanner;
public class GameProcess { }
int area,i,arrcount,right,midright,t;
int base[]=new int[arrcount],userNum[]=new int[area],sysNum[]=new Random random=new Random(); GameProcess(int a) { area=a; arrcount=10; int[area];
Scanner reader=new Scanner(System.in);
}
midright=0; t=0;
base=new int[arrcount]; userNum=new int[area]; sysNum=new int[area]; for(int i=0;i<arrcount;i++) {
base[i]=i;
//System.out.println(base[i]);
}
void process() { rand();
while(right!=area) {
scanf(); compare(); print(); check(); } }
void rand() {
for(i=0;i<area;i++) { } }
void delarr(int t) {
for(int j=t;j<arrcount-1;j++) }
void scanf() {
System.out.println("The system number has created!"+"\n"+"Please enter "+area+" Numbers"); t=random.nextInt(arrcount); //System.out.println(t); sysNum[i]=base[t];
System.out.println(base[t]); delarr(t);
base[j]=base[j+1];
arrcount--;
{
userNum[i]=reader.nextShort(); } }
void check() {
if(right==area)
System.out.println("You win…………!"); }
boolean check(int i) {
return true; }
void compare() {
int i=0,j=0; right=midright=0; for(i=0;i<area;i++) { } }
void print() {
System.out.println(" A "+right+" B "+midright); } }
for(j=0;j<area;j++) {
if(userNum[i]==sysNum[j]) { } }
if(i==j) right++; else
midright++;
import java.awt.*; import java.awt.event.*; import javax.swing.*;
class TestGame {
public static void main(String[] args) {
App ap = new App(); //调用App()开始运行程序 ap.show(); } }
class App extends JFrame { MainPanel mp;
public App() {
mp = new MainPanel(); this.getContentPane().add(mp); this.setSize(400, 450); this.setTitle("小游戏"); } } /** * 主面板 * 显示格子
* @author Administrator * */
class MainPanel extends JPanel { ButtonPanel bp = new ButtonPanel(); CtrlPanel rp = new CtrlPanel();
public MainPanel() {
this.setLayout(new BorderLayout());
rp.btnstart.addActionListener(new StartListener()); this.add(bp, "Center"); this.add(rp, "South");
class StartListener implements ActionListener { /**
* 重新开始按钮的事件
* 调用按钮面板里面的颜色初始化方法 */
public void actionPerformed(ActionEvent e) { if (e.getActionCommand() == "重新开始") { bp.ColorInit(); } } } }
class ButtonPanel extends JPanel { JButton[][] b = new JButton[5][5]; /**
* 按钮界面的构造器
* 设置布局方式为Grid布局,并生成5*5的格子, * 在每个格子生成一个按钮, * 为每个按钮添加一个监听事件 */
public ButtonPanel() {
this.setLayout(new GridLayout(5, 5));
for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) {
b[i][j] = new JButton();
b[i][j].setActionCommand("" + (i + 1) + (j + 1)); b[i][j].addActionListener(new MyButtonListener()); this.add(b[i][j]); } }
this.ColorInit(); }
* 面板初始化时候给所有的格子都绘上深灰色 * i.j分别是行和列 */
public void ColorInit() { for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) {
b[i][j].setBackground(Color.DARK_GRAY); } } } /**
* 按钮上监听的时事件,监听点击 * @author Administrator * */
class MyButtonListener implements ActionListener { int r, c; /**
* 需要改变颜色的行和列 * r row * c colunm
* 调用change()来改变颜色 */
public void actionPerformed(ActionEvent e) { int i = Integer.parseInt(e.getActionCommand()); r = i / 10 - 1; c = i % 10 - 1; this.changer(); } /**
* 传一个按钮控件进去
* 判断颜色,如果是深灰则变为粉红 * 否则义相反 * @param b */
if (b.getBackground() == Color.DARK_GRAY) { b.setBackground(Color.pink); } else {
b.setBackground(Color.DARK_GRAY); } } /**
* 这个方法是根据点击的按钮判断周围需要 * 不能超越数组的下标 */
public void changer() { this.btnChange(b[r][c]); if (r > 0) //行号大于0 this.btnChange(b[r - 1][c]); if (r < 4)
this.btnChange(b[r + 1][c]); if (c > 0)//列号大于0 this.btnChange(b[r][c - 1]); if (c < 4)//列好小余0 this.btnChange(b[r][c + 1]); } } } /**
* 控制面板
* @author Administrator *下面的开始按钮 */
…… 此处隐藏:5476字,全部文档内容请下载后查看。喜欢就下载吧 ……