タスクの目標
package Swing; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; public class DoudiZhu { public static void main(String[]args) { //准备花色 ArrayList<String>color=new ArrayList<String >(); color.add("黑桃"); color.add("红桃"); color.add("方块"); color.add("梅花"); //准备数字,用列表将纸牌从大到小排列 ArrayList<String >number=new ArrayList<String >(); for(int i=3;i<=10;i++){ number.add(i+""); } number.add("J"); number.add("Q"); number.add("K"); number.add("A"); number.add("2"); //定义一个map集合,用来将数字与每一张纸牌进行对应 HashMap<Integer,String>map=new HashMap<Integer,String>(); //纸牌编号 int index=0; //循环纸牌数字 for(String thisNumber:number){ //循环纸牌花色 for(String thisColor:color){ //将花色与数字组合,形成52张牌,并赋予编号 map.put(index++,thisColor+thisNumber); } } map.put(index++,"小王"); map.put(index++,"大王"); //创建0-53的数字集合代表54张牌 ArrayList<Integer>cards=new ArrayList<Integer>(); for(int i=0;i<=53;i++){ cards.add(i); } //洗牌,使用Collections工具类的shuffle()方法 Collections.shuffle(cards); //创建三个玩家和底牌 ArrayList<Integer>iPlayer=new ArrayList<Integer>(); ArrayList<Integer>iPlayer2=new ArrayList<Integer>(); ArrayList<Integer>iPlayer3=new ArrayList<Integer>(); ArrayList<Integer>iSecretCards=new ArrayList<Integer>(); //遍历这副洗好的牌,遍历的过程中,将牌发到三个玩家和底牌中 for(int i=0;i<cards.size();i++){ if(i>=51){ //留取三个底牌 iSecretCards.add(cards.get(i)); }else{ if(i%3==0){//与3取余为0的发给玩家1 iPlayer.add(cards.get(i)); }else if(i%3==1){//与3取余为1的发给玩家2 iPlayer2.add(cards.get(i)); }else {//剩余的牌发给玩家3 iPlayer3.add(cards.get(i)); } } } //对每个人手中的牌进行排序,使用的使Collections工具类中的sort()方法 Collections.sort(iPlayer); Collections.sort(iPlayer2); Collections.sort(iPlayer3); ArrayList<String>sPlayer=new ArrayList<String>(); ArrayList<String>sPlayer2=new ArrayList<String>(); ArrayList<String>sPlayer3=new ArrayList<String>(); ArrayList<String>sSectCards=new ArrayList<String>(); //循环主键,从map中获取纸牌 for (Integer key:iPlayer){ sPlayer.add(map.get(key)); } for (Integer key:iPlayer2){ sPlayer2.add(map.get(key)); } for (Integer key:iPlayer3){ sPlayer3.add(map.get(key)); } for (Integer key:iSecretCards){ sSectCards.add(map.get(key)); } //将分发的牌显示出来 System.out.println("玩家1:"+sPlayer); System.out.println("玩家2:"+sPlayer2); System.out.println("玩家3:"+sPlayer3); System.out.println("底牌:"+sSectCards); } }
タスクの目標
public int nextInt(int n)
Scanner sc=new Scanner(System.in); int i=sc.nextInt();
package math; import java.util.Random; import java.util.Scanner; public class CaishuZi { public static void main(String[] args) { int randomNumber = new Random().nextInt(10); System.out.println("随机数已经生成"); System.out.println("请输入你所猜的数字"); Scanner sc =new Scanner(System.in); int enterNumber =sc.nextInt(); //通过while循环,进行猜数字对错判断 //猜对,跳出循环,游戏结束 while(enterNumber!=randomNumber){ //猜错了,根据结果,给出提示,接着猜数字,游戏继续 if(enterNumber>randomNumber){ //猜大了给出的提示 System.out.println("sorry,你猜大了"); }else{ //猜小了,给出的提示 System.out.println("sorry,你猜小了"); } //输入猜的数字 System.out.println("请输入你猜的数字"); enterNumber = sc.nextInt(); } System.out.println("恭喜你,答对了!"); } }
以上がJava で家主の格闘ゲームや数字当てゲームを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。