Java模板游戏代码Word文档格式.docx

上传人:b****1 文档编号:5922928 上传时间:2023-05-05 格式:DOCX 页数:19 大小:17.82KB
下载 相关 举报
Java模板游戏代码Word文档格式.docx_第1页
第1页 / 共19页
Java模板游戏代码Word文档格式.docx_第2页
第2页 / 共19页
Java模板游戏代码Word文档格式.docx_第3页
第3页 / 共19页
Java模板游戏代码Word文档格式.docx_第4页
第4页 / 共19页
Java模板游戏代码Word文档格式.docx_第5页
第5页 / 共19页
Java模板游戏代码Word文档格式.docx_第6页
第6页 / 共19页
Java模板游戏代码Word文档格式.docx_第7页
第7页 / 共19页
Java模板游戏代码Word文档格式.docx_第8页
第8页 / 共19页
Java模板游戏代码Word文档格式.docx_第9页
第9页 / 共19页
Java模板游戏代码Word文档格式.docx_第10页
第10页 / 共19页
Java模板游戏代码Word文档格式.docx_第11页
第11页 / 共19页
Java模板游戏代码Word文档格式.docx_第12页
第12页 / 共19页
Java模板游戏代码Word文档格式.docx_第13页
第13页 / 共19页
Java模板游戏代码Word文档格式.docx_第14页
第14页 / 共19页
Java模板游戏代码Word文档格式.docx_第15页
第15页 / 共19页
Java模板游戏代码Word文档格式.docx_第16页
第16页 / 共19页
Java模板游戏代码Word文档格式.docx_第17页
第17页 / 共19页
Java模板游戏代码Word文档格式.docx_第18页
第18页 / 共19页
Java模板游戏代码Word文档格式.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Java模板游戏代码Word文档格式.docx

《Java模板游戏代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java模板游戏代码Word文档格式.docx(19页珍藏版)》请在冰点文库上搜索。

Java模板游戏代码Word文档格式.docx

数字玩法=newJRadioButton("

数字玩法"

true);

图像玩法=newJRadioButton("

图像玩法"

false);

group.add(数字玩法);

group.add(图像玩法);

puzzlePad=newPuzzlePad(3,3,50,50);

con=getContentPane();

con.add(puzzlePad,BorderLayout.CENTER);

JPanelpNorth=newJPanel();

pNorth.add(数字玩法);

pNorth.add(图像玩法);

pNorth.add(开始);

con.add(pNorth,BorderLayout.NORTH);

con.validate();

addWindowListener(newWindowAdapter()

{publicvoidwindowClosing(WindowEvente)

System.exit(0);

}

});

setVisible(true);

setBounds(100,50,440,360);

validate();

publicvoidactionPerformed(ActionEvente)

{if(e.getSource()==开始)

if(数字玩法.isSelected())

puzzlePad.随机排列数字();

elseif(图像玩法.isSelected())

puzzlePad.随机排列图像();

}

elseif(e.getSource()==初级)

con.remove(puzzlePad);

this.validate();

elseif(e.getSource()==高级)

puzzlePad=newPuzzlePad(4,4,50,50);

publicstaticvoidmain(Stringargs[])

newPuzzleFrame();

}

 

MobanFrame类:

importjava.awt.*;

importjava.awt.event.*;

import.*;

importjava.applet.Applet;

importjavax.imageio.ImageIO;

importjava.io.File;

importjava.awt.image.*;

importjavax.swing.JOptionPane;

publicclassMobanFrameextendsFrameimplementsActionListener,MouseListener,ItemListener

MobanSquare[][]position;

PointstartPoint=newPoint(100,130);

PointrightStartPoint=newPoint(400,90);

int[]num;

Point[]pointMove;

inttotalStep=0;

StringselectedImage="

狗"

;

StringgamingImage="

"

booleanstartGame=false;

intsquareNumber=3;

intlevel=1;

intsquareSize=80;

ImagesourceImage;

ImagespaceSourceImage;

ImagespaceImage;

Image[]myImage;

Graphics2Dggg;

/*--------------------*/

/*显示在界面上的一些组件*/

TextFieldtfx;

TextFieldtfy;

MenuBarmnbMyMenuBar;

MenumnChooseLevel;

MenuItemmniLevel1,mniLevel2;

LabellbStep;

LabellbSuccess=newLabel("

"

ButtonbtnStartGame;

ChoicechChoiceImage;

publicMobanFrame()

super("

pointMove=newPoint[4];

pointMove[0]=newPoint(-1,0);

pointMove[1]=newPoint(1,0);

pointMove[2]=newPoint(0,-1);

pointMove[3]=newPoint(0,1);

setLayout(newFlowLayout());

chChoiceImage=newChoice();

chChoiceImage.add("

鸡"

鱼"

熊猫"

大象"

长颈鹿"

牛"

小猫"

小猫2"

羊"

猴"

数字"

mniLevel1=newMenuItem("

简单"

mniLevel2=newMenuItem("

困难"

mnChooseLevel=newMenu("

难度"

mnbMyMenuBar=newMenuBar();

tfx=newTextField(8);

tfy=newTextField(8);

tfx.setText("

0"

tfy.setText("

1"

tfx.setVisible(false);

tfy.setVisible(false);

lbStep=newLabel("

已走步数:

+Integer.toString(totalStep));

btnStartGame=newButton("

开始游戏"

mnChooseLevel.add(mniLevel1);

mnChooseLevel.add(mniLevel2);

mnbMyMenuBar.add(mnChooseLevel);

this.setMenuBar(mnbMyMenuBar);

add(tfx);

add(tfy);

add(lbSuccess);

add(lbStep);

add(chChoiceImage);

add(btnStartGame);

mniLevel1.addActionListener(this);

mniLevel2.addActionListener(this);

btnStartGame.addActionListener(this);

chChoiceImage.addItemListener(this);

this.addMouseListener(this);

addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

}

});

ProInit();

GetImage();

GetRandom();

setSize(600,300);

setVisible(true);

publicvoidGetImage()

myImage=newImage[squareNumber*squareNumber];

ImageFiltercropFilter1;

ImageFiltercropFilter2;

ImageFiltercropFilter3;

Toolkittool=getToolkit();

sourceImage=tool.createImage(selectedImage+"

.jpg"

spaceSourceImage=tool.createImage("

space.jpg"

sourceImage=sourceImage.getScaledInstance(squareSize*squareNumber,squareSize*squareNumber,Image.SCALE_DEFAULT);

cropFilter1=newCropImageFilter(0,0,squareSize*squareNumber,squareSize*squareNumber);

sourceImage=createImage(newFilteredImageSource(sourceImage.getSource(),cropFilter1));

for(inti=0;

i<

squareNumber*squareNumber;

i++)

{

cropFilter2=newCropImageFilter((i%squareNumber)*squareSize,(i/squareNumber)*squareSize,squareSize,squareSize);

myImage[i]=createImage(newFilteredImageSource(sourceImage.getSource(),cropFilter2));

cropFilter3=newCropImageFilter(0,0,squareSize,squareSize);

spaceImage=createImage(newFilteredImageSource(spaceSourceImage.getSource(),cropFilter3));

myImage[squareNumber*squareNumber-1]=spaceImage;

publicvoidProInit()

num=newint[squareNumber*squareNumber];

position=newMobanSquare[squareNumber+2][squareNumber+2];

publicvoidpaint(Graphicsg)

booleanshowSuccess=true;

lbStep.setText("

if(startGame)

for(inti=1;

squareNumber+1;

i++)

{

for(intj=1;

j<

j++)

{

g.drawImage(position[i][j].GetImage(),startPoint.x+(position[i][j].y-1)*squareSize,startPoint.y+(position[i][j].x-1)*squareSize,this);

//绘制左边打乱的方块

}

}

g.setColor(Color.cyan);

for(inti=0;

{

g.drawLine(startPoint.x+squareSize*i,startPoint.y,startPoint.x+squareSize*i,startPoint.y+squareNumber*squareSize);

g.drawLine(startPoint.x,startPoint.y+squareSize*i,startPoint.x+squareNumber*squareSize,startPoint.y+squareSize*i);

}

g.drawImage(sourceImage,rightStartPoint.x,rightStartPoint.y,this);

//g.drawImage(spaceImage,rightStartPoint.x+(squareNumber-1)*squareSize,rightStartPoint.y+(squareNumber-1)*squareSize,this);

for(inti=1;

for(intj=1;

if(position[i][j].GetOrder()!

=(i-1)*squareNumber+(j-1))

showSuccess=false;

if(showSuccess)

showSuccess=false;

lbSuccess.setText("

恭喜您,成功完成"

publicvoidGetRandom()

intk=squareNumber*squareNumber;

booleannumExist=false;

inttotal=0;

for(intj=0;

num[j]=-1;

while(total<

squareNumber*squareNumber)

k=((int)(Math.random()*10)+(int)(Math.random()*10))%(squareNumber*squareNumber);

for(intj=0;

total;

if(k==num[j])

numExist=true;

break;

if(!

numExist)

num[total]=k;

total++;

numExist=false;

squareNumber+2;

if(i==0||i==squareNumber+1||j==0||j==squareNumber+1)

this.position[i][j]=newMobanSquare(i,j,-1,squareNumber*squareNumber-1);

this.position[i][j]=newMobanSquare(i,j,num[(i-1)*squareNumber+j-1],squareNumber*squareNumber-1);

this.position[i][j].SetImage(myImage[this.position[i][j].GetOrder()]);

publicvoidMove(intx,inty)

intsquare_X,square_Y,order_Old,order_New;

square_X=(y-1-startPoint.y)/squareSize+1;

square_Y=(x-1-startPoint.x)/squareSize+1;

for(inti=0;

4;

if(position[square_X+pointMove[i].x][square_Y+pointMove[i].y].arrive)

this.totalStep++;

PointnewPoint=newPoint(square_X+pointMove[i].x,square_Y+pointMove[i].y);

order_Old=position[square_X][square_Y].GetOrder();

order_New=position[newPoint.x][newPoint.y].GetOrder();

position[square_X][square_Y].SetOrder(order_New);

position[square_X][square_Y].SetImage(myImage[order_New]);

position[newPoint.x][newPoint.y].SetOrder(order_Old);

position[newPoint.x][newPoint.y].SetImage(myImage[order_Old]);

repaint();

break;

if(e.getSource()==btnStartGame)

lbSuccess.setText("

totalStep=0;

if(level==1)

squareNumber=3;

if(level==2)

squareNumber=4;

startGame=true;

gamingImage=selectedImage;

ProInit();

GetImage();

GetRandom();

repaint();

if(e.getSource()==mniLevel1)

level=1;

startPoint=newPoint(110,120);

rightStartPoint=newPoint(450,120);

if(e.getSource()==mniLevel2)

level=2;

startPoint=newPoint(40,100);

rightStartPoint=newPoint(440,100);

publicvoiditemStateChanged(ItemEvente)

if(e.getItemSelectable()instanceofChoice)

selectedImage=((Choice)e.getItemSelectable()).getSelectedItem();

tfx.setText(selectedImage);

tfy.setText(gamingImage);

if(selectedImage!

=gamingImage)

GetImage();

startGame=false;

publicvoidmouseClicked(MouseEvente)

intclick_X,click_Y;

click_X=e.getX();

click_Y=e.getY();

tfx.setText(Integer.toString((e.getY()-1-startPoint.x)/squareSize+1));

tfy.setText(Integer.toString((e.getX()-1-startPoint.y)/squareSize+1));

if

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2