您的位置:首页 > 其它

Windows7 开机桌面黑屏故障终极解决方案

2009-12-10 15:40 316 查看
做个24点游戏 如何做个外挂呢???

下面是代码。。

import java.applet.*;

import java.net.*;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

//-----编写Applet的主界面--------------------

//----------实现ActionListener监听接口,用来处理ActionEvent事件------------

public class cal extends Applet implements ActionListener{

//------------声明类的成员变量,以便在事件处理时改变其属性------------

Panel pnlbt;

MyImgPanel pnlce;

TextField textf;

//------------通过数组来保存当前4张牌的大小,并由此确定所画的扑克牌------------------

int[] myStatus=new int[4];

public cal()

{

setLayout(new BorderLayout());

pnlce=new MyImgPanel(this);

pnlce.initImg();

add(pnlce,BorderLayout.CENTER);

pnlbt=new Panel();

add(pnlbt,BorderLayout.SOUTH);

Button btnStart=new Button("开始游戏");

Button btnOk=new Button("确定");

textf=new TextField(15);

Label label=new Label("请输入表达式:");

pnlbt.add(btnStart);

pnlbt.add(label);

pnlbt.add(textf);

pnlbt.add(btnOk);

btnStart.setActionCommand("start");

//----------注册事件监听器-----------------

btnStart.addActionListener(this);

btnOk.setActionCommand("ok");

//---------注册事件监听器------------------

btnOk.addActionListener(this);

}

//--------对4张扑克牌的状态进行初始化-------------------

public void init()

{

for(int i=0;i<4;i++)

{

myStatus =0;

}

}

public void actionPerformed(ActionEvent evt)

{

//-----------按下开始按钮时所发生的事件----------------

if(evt.getActionCommand().equals("start"))

{

for(int i=0;i<4;i++)

{

//-------随机产生4张扑克牌--------------

myStatus =(int)(Math.random()*13)+1;

}

pnlce.repaint();

}

//-------按下确定按钮时所发生的事件-----------------------

else if(evt.getActionCommand().equals("ok"))

{

try

{

int result=calculateString(textf.getText().trim());

if(result==-1)

{

textf.setText("");

textf.requestFocus();

new MsgDlg("你输入的表达式不合法,请重新输入!");

}

else if(result!=24)

{

textf.setText("");

textf.requestFocus();

new MsgDlg("你输入的表达式的值为"+result+",请重新输入!");

}

else if(result==24)

{

textf.requestFocus();

new MsgDlg("祝贺你,你的输入正确!");

for(int i=0;i<4;i++)

{

myStatus =(int)(Math.random()*13)+1;

}

pnlce.repaint();

textf.setText("");

textf.requestFocus();

}

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

public int calculateString(String str)

{

//------ 判断表达式是否合法------

int[] numbers=new int[4];

String[] operators=new String[4];

for(int i=0;i<4;i++)

{

operators ="";

}

String tempStr,myString="";

int numberNo=0,operatorNo=0;

for(int i=0;i<str.length();i++)

{

tempStr=str.substring(i,i+1);

if(isNumber(tempStr))

{

myString+=tempStr;

}

else if(isOperator(tempStr))

{

if(numberNo>=4 || operatorNo>=3)return -1;

try

{

numbers[numberNo]=Integer.parseInt(myString);

}

catch(Exception e)

{

}

myString="";

numberNo++;

operators[operatorNo]=tempStr;

operatorNo++;

}

else

{

return -1;

}

}

if(myString.length()!=0 && numberNo==3)

{

try

{

numbers[numberNo]=Integer.parseInt(myString);

}

catch(Exception e)

{

return -1;

}

}

else return -1;

//---------判断表达式的数字跟扑克牌上的数字是否一样-------------

int tempStatus[]=new int[4];

for(int i=0;i<4;i++)

{

tempStatus =myStatus ;

}

for(int i=0;i<4;i++)

{

int j=0;

boolean existed=false;

while(j<4 && !existed)

{

if(tempStatus[j]==numbers )

{

tempStatus[j]=-1;

existed=true;

}

j++;

}

if(!existed)return -1;

}

//-------计算所输入的表达式的值-----------------------

int result=numbers[0];

for(int i=0;i<3;i++)

{

if(operators .equals("+"))

{

result+=numbers[i+1];

}

else if(operators .equals("-"))

{

result-=numbers[i+1];

}

else if(operators .equals("*"))

{

result*=numbers[i+1];

}

else if(operators .equals("/"))

{

result/=numbers[i+1];

}

}

return result;

}

private boolean isNumber(String str)

{

if(str.equals("0")||str.equals("1")||

str.equals("2")||str.equals("3")||

str.equals("4")||str.equals("5")||

str.equals("6")||str.equals("7")||

str.equals("8")||str.equals("9"))

{

return true;

}

else

{

return false;

}

}

private boolean isOperator(String str)

{

if(str.equals("+")||str.equals("-")||

str.equals("*")||str.equals("/"))

{

return true;

}

else

{

return false;

}

}

}

class MyImgPanel extends Panel

{

final int IMGSIZE=100;

Image[] myImage=new Image[14];

cal mycal24;

//----------装载上图片--------------------

public MyImgPanel(cal cal24)

{

mycal24=cal24;

}

public void initImg()

{

URL url=null;

try

{

url=Class.forName("cal").getResource("img/back.JPG");

}

catch(Exception e){e.printStackTrace();}

myImage[0]=getToolkit().getImage(url);

for(int i=1;i<=13;i++)

{

try

{

url=Class.forName("cal").getResource("img/"+i+".JPG");

System.out.println(url.toString());

}

catch(Exception e){}

myImage =getToolkit().getImage(url);

}

MediaTracker mt=new MediaTracker(this);

for(int i=0;i<=13;i++)

{

mt.addImage(myImage ,i);

}

try{

mt.wait();

mt.checkAll();

}

catch(Exception e){}

}

public void paint(Graphics g)

{

for(int i=0;i<4;i++)

{

g.drawImage(myImage[mycal24.myStatus ],i*IMGSIZE+5,5,this);

}

}

}

//-------------继承Frame类以实现显示的结果用JAVA表现出来------------------

class MsgDlg extends Frame implements ActionListener

{

Label label=new Label();

public MsgDlg(String strMsg)

{

super();

setTitle("表达式结果");

Panel p=new Panel();

add(p);

p.add(label);

label.setText(strMsg);

setSize(200,100);

setLocation(400,300);

Button btnOk=new Button("确定");

btnOk.addActionListener(this);

p.add(btnOk);

//-----显示对话框---------------

show();

}

public void actionPerformed(ActionEvent evt)

{

//------------隐藏对话框----------

this.dispose();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: