最新java小游戏源代码.doc
精品资料java小游戏源代码.java小游戏源代码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 StartPlease 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 intarrcount,userNum=new intarea,sysNum=new intarea;Random random=new Random(); Scanner reader=new Scanner(System.in);GameProcess(int a)area=a;arrcount=10;right=0;midright=0;t=0;base=new intarrcount;userNum=new intarea;sysNum=new intarea;for(int i=0;i<arrcount;i+) basei=i;/System.out.println(basei); void process() rand(); while(right!=area) scanf(); compare(); print(); check(); void rand() for(i=0;i<area;i+) t=random.nextInt(arrcount); /System.out.println(t); sysNumi=baset; System.out.println(baset); delarr(t); void delarr(int t) for(int j=t;j<arrcount-1;j+) basej=basej+1; arrcount-; void scanf() System.out.println("The system number has created!"+"n"+"Please enter "+area+" Numbers"); for(int i=0;i<area;i+) userNumi=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+) for(j=0;j<area;j+) if(userNumi=sysNumj) if(i=j) right+; else midright+; void print() System.out.println(" A "+right+" B "+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 JButton55; /* * 按钮界面的构造器 * 设置布局方式为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+) bij = new JButton(); bij.setActionCommand("" + (i + 1) + (j + 1); bij.addActionListener(new MyButtonListener(); this.add(bij); this.ColorInit(); /* * 面板初始化时候给所有的格子都绘上深灰色 * i.j分别是行和列 */ public void ColorInit() for (int i = 0; i < 5; i+) for (int j = 0; j < 5; j+) bij.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 */ public void btnChange(JButton b) if (b.getBackground() = Color.DARK_GRAY) b.setBackground(Color.pink); else b.setBackground(Color.DARK_GRAY); /* * 这个方法是根据点击的按钮判断周围需要 * 不能超越数组的下标 */ public void changer() this.btnChange(brc); if (r > 0) /行号大于0 this.btnChange(br - 1c); if (r < 4) this.btnChange(br + 1c); if (c > 0)/列号大于0 this.btnChange(brc - 1); if (c < 4)/列好小余0 this.btnChange(brc + 1); /* * 控制面板 * author Administrator *下面的开始按钮 */class CtrlPanel extends JPanel JButton btnstart; public CtrlPanel() btnstart = new JButton("重新开始"); this.add(btnstart); import java.util.*;public class Cai enum ResSHITOU, JIANZI, BU; Res res; public static void main(String args) throws Exception / TODO Auto-generated method stub Cai cai = new Cai(); System.out.println("请输入你的选择:"); System.out.println("0表示石头,1表示剪子,2表示布"); char yourResultOfChar =(char) System.in.read(); int yourResultOfInt = yourResultOfChar - '0' int computerResult = pb();cai.getYourResult(yourResultOfInt); switch (computerResult) case 0: System.out.println("电脑选择石头"); break; case 1: System.out.println("电脑选择剪子"); break; case 2: System.out.println("电脑选择布"); break; cai.pa(computerResult); public void getYourResult(int count) Res result = Res.values(); res = resultcount; void pa(int computer) Res result = Res.values(); if(this.res = Res.SHITOU) System.out.println("我选择石头"); switch(resultcomputer) case SHITOU: System.out.println("平局,再来!"); break; case JIANZI: System.out.println("我赢了!"); break; case BU: System.out.println("我输了!"); break; else if(this.res = Res.JIANZI) System.out.println("我选择剪子"); switch(resultcomputer) case JIANZI: System.out.println("平局,再来!"); break; case BU: System.out.println("我赢了!"); break; case SHITOU: System.out.println("我输了!"); break; else if(this.res = Res.BU) System.out.println("我选择布"); switch(resultcomputer) case BU: System.out.println("平局,再来!"); break; case SHITOU: System.out.println("我赢了!"); break; case JIANZI: System.out.println("我输了!"); break; static int pb() Random ran = new Random(); int res = ran.nextInt(3); return res; /输出0-2的整数,0表示石头,1表示剪子,2表示布,和enum Res中的顺序相对应 import java.util.*; /导入实用包util下所有的类import javax.swing.*;import java.awt.*;import java.awt.event.*;public class CaiShu public static void main(String args) Win f = new Win(); f.setVisible(true); class Win extends JFrame implements ActionListener JLabel labe; JButton butt; JButton button; Random a = new Random(); private int i = 0; private int num; JTextField text1, text2; JPanel p; public Win() super("猜数游戏"); labe = new JLabel("我心里有个数,它是1-100之间的,你能猜出来吗?"); butt = new JButton("确认"); button = new JButton("重开"); text1 = new JTextField(5); text2 = new JTextField(20); p = new JPanel(); Container con = getContentPane(); / 调用JFrame的getContentPane得到容器 text2.setEditable(false); / 使输出结果文本域不可编辑 butt.addActionListener(this); / 执行结果动作 con.setLayout(new GridLayout(4, 1); / 设置整个界面的长宽比 p.add(text1); / 添加输入数字文本域 p.add(butt); p.add(button); button.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) text1.setText(""); text2.setText(""); i=0; ); con.add(labe); / 添加游戏标签 con.add(p); con.add(text2); / 添加输出结果信息文本域 setSize(300, 300); / 设置窗口尺寸 setVisible(true); / 设置窗口可视 pack(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) setVisible(false); System.exit(0); ); public void actionPerformed(ActionEvent e) int shu; while (true) shu = Integer.parseInt(text1.getText(); if (i = 0) num = a.nextInt(100); i+; if (i = 10) text2.setText("结束吧,你没有希望了!"); i = 0; break; if (e.getSource() = butt) if (shu > num) text2.setText("输入的数大了,输小点的!"); else if (shu < num) text2.setText("输入的数小了,输大点的!"); else if (shu = num) text2.setText("恭喜你,猜对了!"); if (i <= 2) text2.setText("你真是个天才!"); else if (i <= 6) text2.setText("还将就,你过关了!"); else if (i <= 8) text2.setText("但是你还真笨!"); else text2.setText("你实在是太笨了!"); break;