例一:
package map1;
import java.util.Random;
public class T6 {
public static void main(String args[]) {
System.out.println("ゲームスタート:");
Random diceValues=new Random();
int die1=0;
int die2=0;
for(int i=0;i<6;i++){
die1=1+diceValues.nextInt(6);
die2=1+Math.abs(diceValues.nextInt())%6;
System.out.println("第"+i+"回:"+die1+","+die2);
if(die1+die2==12){
System.out.println("成功!");
return;
}
}
System.out.println("失敗!");
}
}
运行结果:
ゲームスタート:
第0回:1,1
第1回:5,3
第2回:2,5
第3回:5,4
第4回:5,5
第5回:4,3
失敗!
分析:
在此使用了一个随机数发生器,在for循环中模拟掷色子。每掷一次就会为每个色子生成1-6随机数。
例二:
package map1;
import java.io.IOException;
public class T7 extends Thread{
private String firstName;
private String secondName;
private long aWhile;
public T7(String firstName, String secondName, long delay) {
this.firstName = firstName;
this.secondName = secondName;
aWhile = delay;
setDaemon(true);
}
public void run(){
try{
while(true){
System.out.println("エンターキーを押す場合、 線程を中止ます。");
sleep(aWhile);
System.out.println(secondName+"\n");
}
}catch(InterruptedException e){
System.out.println(firstName+secondName+e);
}
}
public static void main(String args[]) {
Thread first=new T7("Hopalong","Cassidy",2000L);
Thread second=new T7("Marilyn","Monroe",4000L);
Thread third=new T7("Slim","Pickens",6000L);
System.out.println("中止したい場合、エンターキーを押してください。");
first.start();
second.start();
third.start();
try{
System.in.read();
System.out.println("エンターキーが押されました..\n");
}catch(IOException e){
System.out.println("例外が発生しました。");
}
System.out.println("プログラムが中止されました。");
}
}
运行结果:
中止したい場合、エンターキーを押してください。
エンターキーを押す場合、 線程を中止ます。
エンターキーを押す場合、 線程を中止ます。
エンターキーを押す場合、 線程を中止ます。
Cassidy
エンターキーを押す場合、 線程を中止ます。
エンターキーが押されました..
プログラムが中止されました。
分析:
这是一个守护线程的实例。当enter键按下,所有相关线程终止。
有了这两个程序的基础,就可以编写简单的作战游戏了。
posted on 2007-10-19 10:34
静儿 阅读(282)
评论(1) 编辑 收藏