當前位置:編程學習大全網 - 編程語言 - 海盜船的遊戲,用java程序,要求如下

海盜船的遊戲,用java程序,要求如下

沒有看明白是A擊中B後,是A移除數據還是B移除,2種情況都寫了,個人感覺隨機數這塊需要更好的算法處理下,代碼如下:

package?t;

import?java.util.ArrayList;

import?java.util.Random;

/**

*?海盜船的遊戲:創建兩個數組,每個數組大小都5,數組裏面都存INT值,1-10之間的數字。

*?隨機生成。哪果A向B發射炮彈,讀壹個隨機數,是否在在B中存,若存在則B中彈。

*?則移除相應的數據。哪壹個先被移除三個數字,則為輸。

*?@author?hyc

*

*/

public?class?Test?{

static?boolean?isLog?=?true;

public?static?void?main(String[]?args)?{

isLog?=false;

for?(int?i?=?0;?i?<?100;?i++)?{

AToB(5,?10,?3);

}

}

public?static?void?print(String?str){

if?(isLog)?{

System.out.println(str);

}

}

/**

*?@param?len?彈數

*?@param?max最大隨機範圍

*?@param?dieNum最大中彈數

*?@return

*/

public?static?void?AToB(int?len,int?max,int?dieNum){

ArrayList<Integer>?a?=?new?ArrayList<Integer>(5);

ArrayList<Integer>?b?=?new?ArrayList<Integer>(5);

Random?random?=?new?Random(System.currentTimeMillis());

for?(int?i?=?0;?i?<?len;?i++)?{

a.add(random.nextInt(max));

b.add(random.nextInt(max));

}

print("A:"+a);

print("B:"+b);

int?d_a?=?0;?//a中彈次數

int?d_b?=?0;//?b中彈次數

for?(int?i?=?0;?i?<?len*2;?i++)?{

if?(d_a?>=dieNum)?{

System.out.println("A輸了");

return;

}

if?(d_b?>=dieNum)?{

System.out.println("B輸了");

return;

}

if?(i%2==0)?{

print(i+"--:"+"A向B發射炮彈");

int?index?=?random.nextInt(a.size());

Integer?value?=?a.get(index);

print(i+"--:"+"A炮彈索引:"+index+",炮彈值:"+value);

if?(b.contains(value))?{

d_b++;

a.remove(index);//B中彈A移除數據

//b.remove(value);//B中彈B移除數據

print(i+"--:"+"A的炮彈命中B"+d_b+"次......");

}else?{

print(i+"--:"+"A的炮彈未命中B");

}

}else?{

print(i+"--:"+"B向A發射炮彈");

int?index?=?random.nextInt(b.size());

Integer?value?=?b.get(index);

print(i+"--:"+"B炮彈索引:"+index+",炮彈值:"+value);

if?(a.contains(value))?{

d_a++;

b.remove(index);//A中彈B移除數據

//a.remove(value);//A中彈A移除數據

print(i+"--:"+"B的炮彈命中A"+d_a+"次......");

}else?{

print(i+"--:"+"B的炮彈未命中A");

}

}

}

System.out.println("A和B打成了平手......");

}

public?static?boolean?launch(int?index,ArrayList<Integer>?list1,ArrayList<Integer>?list2){

if?(list2.contains(list1.get(index)))?{

list1.remove(index);

return?true;

}else?{

return?false;

}

}

}

  • 上一篇:什麽是4G技術?
  • 下一篇:Qq空間“裝逼”代碼大全
  • copyright 2024編程學習大全網