java小游戏源代码.docx
- 文档编号:25810212
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:18
- 大小:18.16KB
java小游戏源代码.docx
《java小游戏源代码.docx》由会员分享,可在线阅读,更多相关《java小游戏源代码.docx(18页珍藏版)》请在冰豆网上搜索。
java小游戏源代码
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);
game1.process();
}
}
第二个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 { base[i]=i; //; } } voidprocess() { rand(); while(right! =area) { scanf(); compare(); print(); check(); } } voidrand() { for(i=0;i { t=random.nextInt(arrcount); //; sysNum[i]=base[t]; ; delarr(t); } } voiddelarr(intt) { for(intj=t;j base[j]=base[j+1]; arrcount--; } voidscanf() { "Thesystemnumberhascreated! "+"\n"+"Pleaseenter"+area+"Numbers"); for(inti=0;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 { for(j=0;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(newWindowAdapter(){ publicvoidwindowClosing(WindowEvente){ setVisible(false); System.exit(0); } }); } publicvoidactionPerformed(ActionEvente){ intshu; 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("输入的数大了,输小点的! "); }elseif(shu text2.setText("输入的数小了,输大点的! "); }elseif(shu==num){ text2.setText("恭喜你,猜对了! "); if(i<=2) text2.setText("你真是个天才! "); elseif(i<=6) text2.setText("还将就,你过关了! "); elseif(i<=8) text2.setText("但是你还……真笨! "); else text2.setText("你实在是太笨了! "); } break; } } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 小游戏 源代码