java小游戏源代码_第1页
java小游戏源代码_第2页
java小游戏源代码_第3页
java小游戏源代码_第4页
java小游戏源代码_第5页
已阅读5页,还剩7页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

页眉内容页眉内容页眉内容Java小游戏第一个Java文件:import;publicclassGameA_B{ publicstaticvoidmain(String[]args){Scannerreader=newScanner(System.in);intarea;"GameStart…………Pleaseenterthearea:(1-9)"+ '\n'+"1,2,3meanseasy"+'\n'+"4,5,6meansmiddle"+'\n'+ "7,8,9meanshard"+'\n'+"Pleasechoose:"); area=reader.nextInt(); switch((area-1)/3) { case0:"Youchooseeasy!");break; case1:"Youchoosemiddle!");break; case2:"Youchoosehard!");break; } "GoodLuck!"); GameProcessgame1=newGameProcess(area);cess(); }}第二个Java文件:import;import;publicclassGameProcess{ intarea,i,arrcount,right,midright,t; intbase[]=newint[arrcount],userNum[]=newint[area],sysNum[]=newint[area]; Randomrandom=newRandom();Scannerreader=newScanner(System.in); GameProcess(inta) { area=a; arrcount=10; right=0; midright=0; t=0; base=newint[arrcount]; userNum=newint[area]; sysNum=newint[area]; for(inti=0;i<arrcount;i++) { base[i]=i; //; } }voidprocess(){ rand(); while(right!=area) { scanf(); compare(); print(); check(); }}voidrand(){ for(i=0;i<area;i++) { t=random.nextInt(arrcount); //; sysNum[i]=base[t]; ; delarr(t); }}voiddelarr(intt){ for(intj=t;j<arrcount-1;j++) base[j]=base[j+1]; arrcount--;}voidscanf(){ "Thesystemnumberhascreated!"+"\n"+"Pleaseenter"+area+"Numbers");for(inti=0;i<area;i++){ userNum[i]=reader.nextShort();}}voidcheck(){if(right==area) "Youwin…………!");}booleancheck(inti){ returntrue;}voidcompare(){ inti=0,j=0; right=midright=0; for(i=0;i<area;i++) { for(j=0;j<area;j++) { if(userNum[i]==sysNum[j]) { if(i==j) right++; else midright++; } } }}voidprint(){ "A"+right+"B"+midright);}}importjava.awt.*;

import;

importjavax.swing.*;

classTestGame{

publicstaticvoidmain(String[]args){

Appap=newApp();//调用App()开始运行程序

ap.show();

}

}

classAppextendsJFrame{

MainPanelmp;

publicApp(){

mp=newMainPanel();

this.getContentPane().add(mp);

this.setSize(400,450);

this.setTitle("小游戏");

}

}

/**

*主面板

*显示格子

*@authorAdministrator

*

*/

classMainPanelextendsJPanel{

ButtonPanelbp=newButtonPanel();

CtrlPanelrp=newCtrlPanel();

publicMainPanel(){

this.setLayout(newBorderLayout());

StartListener());

this.add(bp,"Center");

this.add(rp,"South");

}

classStartListenerimplementsActionListener{

/**

*重新开始按钮的事件

*调用按钮面板里面的颜色初始化方法

*/

publicvoidactionPerformed(ActionEvente){

if(e.getActionCommand()=="重新开始"){

bp.ColorInit();

}

}

}

}

classButtonPanelextendsJPanel{

JButton[][]b=newJButton[5][5];

/**

*按钮界面的构造器

*设置布局方式为Grid布局,并生成5*5的格子,

*在每个格子生成一个按钮,

*为每个按钮添加一个监听事件

*/

publicButtonPanel(){

this.setLayout(newGridLayout(5,5));

for(inti=0;i<5;i++){

for(intj=0;j<5;j++){

b[i][j]=newJButton();

b[i][j].setActionCommand(""+(i+1)+(j+1));

b[i][j].addActionListener(newMyButtonListener());

this.add(b[i][j]);

}

}

this.ColorInit();

}

/**

*面板初始化时候给所有的格子都绘上深灰色

*i.j分别是行和列

*/

publicvoidColorInit(){

for(inti=0;i<5;i++){

for(intj=0;j<5;j++){

b[i][j].setBackground(Color.DARK_GRAY);

}

}

}

/**

*按钮上监听的时事件,监听点击

*@authorAdministrator

*

*/

classMyButtonListenerimplementsActionListener{

intr,c;

/**

*需要改变颜色的行和列

*rrow

*ccolunm

*调用change()来改变颜色

*/

publicvoidactionPerformed(ActionEvente){

inti=Integer.parseInt(e.getActionCommand());

r=i/10-1;

c=i%10-1;

this.changer();

}

/**

*传一个按钮控件进去

*判断颜色,如果是深灰则变为粉红

*否则义相反

*@paramb

*/

publicvoidbtnChange(JButtonb){

if(b.getBackground()==Color.DARK_GRAY){

b.setBackground(Color.pink);

}else{

b.setBackground(Color.DARK_GRAY);

}

}

/**

*这个方法是根据点击的按钮判断周围需要

*不能超越数组的下标

*/

publicvoidchanger(){

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]);

}

}

}

/**

*控制面板

*@authorAdministrator

*下面的开始按钮

*/

classCtrlPanelextendsJPanel{

JButtonbtnstart;

publicCtrlPanel(){

btnstart=newJButton("重新开始");

this.add(btnstart);

}

}importjava.util.*;

publicclassCai{

enumRes{SHITOU,JIANZI,BU};

Resres;

publicstaticvoidmain(String[]args)throwsException{

//TODOAuto-generatedmethodstub

Caicai=newCai();

"请输入你的选择:");

"0表示石头,1表示剪子,2表示布");

charyourResultOfChar=(char);

intyourResultOfInt=yourResultOfChar-'0';

intcomputerResult=pb();

cai.getYourResult(yourResultOfInt);

switch(computerResult)

{

case0:

"电脑选择石头");

break;

case1:

"电脑选择剪子");

break;

case2:

"电脑选择布");

break;

}

cai.pa(computerResult);

}

publicvoidgetYourResult(intcount)

{

Res[]result=Res.values();

res=result[count];

}

voidpa(intcomputer)

{

Res[]result=Res.values();

if(this.res==Res.SHITOU)

{

"我选择石头");

switch(result[computer])

{

caseSHITOU:

"平局,再来!");

break;

caseJIANZI:

"我赢了!");

break;

caseBU:

"我输了!");

break;

}

}elseif(this.res==Res.JIANZI)

{

"我选择剪子");

switch(result[computer])

{

caseJIANZI:

"平局,再来!");

break;

caseBU:

"我赢了!");

break;

caseSHITOU:

"我输了!");

break;

}

}elseif(this.res==Res.BU)

{

"我选择布");

switch(result[computer])

{

caseBU:

"平局,再来!");

break;

caseSHITOU:

"我赢了!");

break;

caseJIANZI:

"我输了!");

break;

}

}

}

staticintpb()

{

Randomran=newRandom();

intres=ran.nextInt(3);

returnres;

//输出0-2的整数,0表示石头,1表示剪子,2表示布,和enumRes中的顺序相对应

}

}importjava.util.*;//导入实用包util下所有的类

importjavax.swing.*;

importjava.awt.*;

import;

publicclassCaiShu{

publicstaticvoidmain(String[]args){

Winf=newWin();

f.setVisible(true);

}

}

classWinextendsJFrameimplementsActionListener{

JLabellabe;

JButtonbutt;

JButtonbutton;

Randoma=newRandom();

privateinti=0;

privateintnum;

JTextFieldtext1,text2;

JPanelp;

publicWin(){

super("猜数游戏");

labe=newJLabel("我心里有个数,它是1---100之间的,你能猜出来吗?");

butt=newJButton("确认");

button=newJButton("重开");

text1=newJTextField(5);

text2=newJTextField(20);

p=newJPanel();

Containercon=getContentPane();

//调用JFrame的getContentPane得到容器

text2.setEditable(false);

//使输出结果文本域不可编辑

butt.addActionListener(this);

//执行结果动作

con.setLayout(newGridLayout(4,1));

//设置整个界面的长宽比

p.add(text1);

//添加输入数字文本域

p.add(butt);

p.add(button);

button.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEvente){

text1.setText("");

text2.setText("");

i=0;

}

});

con.add(labe);

//添加游戏标签

con.add(p);

con.add(text2);

//添加输出结果信息文本域

setSize(300,300);

//设置窗口尺寸

setVisible(true);

//设置窗口可视

pack();

addWindowListener(newWi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论