java小游戏源代码Word文档格式.docx
- 文档编号:17335924
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:12
- 大小:18.27KB
java小游戏源代码Word文档格式.docx
《java小游戏源代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《java小游戏源代码Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
Youchoosemiddle!
case2:
Youchoosehard!
}
System.out.println("
GoodLuck!
GameProcessgame1=newGameProcess(area);
game1.process();
}
}
第二个Java文件:
importjava.util.Random;
publicclassGameProcess{
intarea,i,arrcount,right,midright,t;
intbase[]=newint[arrcount],userNum[]=newint[area],sysNum[]=newint[area];
Randomrandom=newRandom();
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;
//System.out.println(base[i]);
voidprocess()
rand();
while(right!
=area)
scanf();
compare();
print();
check();
voidrand()
for(i=0;
area;
t=random.nextInt(arrcount);
//System.out.println(t);
sysNum[i]=base[t];
System.out.println(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;
userNum[i]=reader.nextShort();
voidcheck()
if(right==area)
Youwin…………!
booleancheck(inti)
returntrue;
voidcompare()
inti=0,j=0;
right=midright=0;
for(j=0;
{
if(userNum[i]==sysNum[j])
if(i==j)
right++;
else
midright++;
}
voidprint()
A"
+right+"
B"
+midright);
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
classTestGame{
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());
rp.btnstart.addActionListener(newStartListener());
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<
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(){
b[i][j].setBackground(Color.DARK_GRAY);
*按钮上监听的时事件,监听点击
classMyButtonListenerimplementsActionListener{
intr,c;
*需要改变颜色的行和列
*rrow
*ccolunm
*调用change()来改变颜色
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]);
*控制面板
*下面的开始按钮
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)System.in.read();
intyourResultOfInt=yourResultOfChar-'
0'
;
intcomputerResult=pb();
cai.getYourResult(yourResultOfInt);
switch(computerResult)
case0:
电脑选择石头"
break;
case1:
电脑选择剪子"
case2:
电脑选择布"
cai.pa(computerResult);
publicvoidgetYourResult(intcount)
Res[]result=Res.values();
res=result[count];
voidpa(intcomputer)
if(this.res==Res.SHITOU)
我选择石头"
switch(result[computer])
caseSHITOU:
平局,再来!
caseJIANZI:
我赢了!
caseBU:
我输了!
}elseif(this.res==Res.JIANZI)
我选择剪子"
}elseif(this.res==Res.BU)
我选择布"
staticintpb()
Randomran=newRandom();
intres=ran.nextInt(3);
returnres;
//输出0-2的整数,0表示石头,1表示剪子,2表示布,和enumRes中的顺序相对应
//导入实用包util下所有的类
publicclassCaiShu{
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(){
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);
intshu;
while(true){
shu=Integer.parseInt(text1.getText());
if(i==0){
num=a.nextInt(100);
i++;
if(i==10){
结束吧,你没有希望了!
!
i=0;
if(e.getSource()==butt){
if(shu>
num){
输入的数大了,输小点的!
}elseif(shu<
输入的数小了,输大点的!
}elseif(shu==num){
恭喜你,猜对了!
if(i<
=2)
你真是个天才!
elseif(i<
=6)
还将就,你过关了!
=8)
但是你还……真笨!
else
你实在是太笨了!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 小游戏 源代码