华恩JAVA班第18天

华恩JAVA班第18天

 

 

packagegame.point21.app;

importjava.util.Scanner;

import game.point21.util.GamePrint;
import game.point21.core.GameCore;

public class GameApp{
 public static void main(String[] args){
  
  Scanner scn = newScanner(System.in);
  GameCore gameCore = newGameCore();

  booleanflag = true;
  while(flag){
   GamePrint.println("*21点小游戏*");
   GamePrint.println("*操作方法:*");
   GamePrint.println("*s:开始  *");
   GamePrint.println("*e:退出  *");
   GamePrint.println("************");
   GamePrint.println("*请选择:*");
   String oper =scn.next();
   if(oper.equals("s")){
    //游戏开始
    gameCore.start(scn);
   }elseif(oper.equals("e")){
    //游戏结束
    flag= false;
   }
  }
 }
}

 

package game.point21.core;

import java.util.Scanner;
import java.util.Random;

importgame.point21.util.GamePrint;

public class GameCore{
 int[] point ={1,2,3,4,5,6,7,8,9,10,11,12,13};
 public void start(Scanner scn){
  boolean flag = true;
  Random random = newRandom();
  while(flag){
   int t;
   for(inti=0;i<13;i++){
    inta = (int)(Math.random()*13);
    if(a>i){
     t= point[i];
     point[i]= point[a];
     point[a]=t;
    }
   }
   GamePrint.println("电脑开始选牌");
   int cout =random.nextInt(2);
   intcomputerSum = 0;
   for(inti=0;i
    computerSum+= point[random.nextInt(13)];
    //computerSum+= random.nextInt(12)+1;
   }
   GamePrint.println("电脑选牌结束");

   GamePrint.println("玩家开始选牌");
   int playerSum= 0;
   
   booleanplayerFlag = true;
   while(playerFlag){
    GamePrint.println("系统发牌,牌点:");
    intvalue = point[random.nextInt(13)];
    //intvalue = random.nextInt(12)+1;
    GamePrint.println(String.valueOf(value));
    playerSum+= value;
    GamePrint.println("是否要继续发牌(y/n):");
    StringisGo = scn.next();
    if(isGo.equals("n")){
     playerFlag= false;
    }
   }
   System.out.println("电脑点数为:"+computerSum);
   System.out.println("你的点数为:"+playerSum);
   if(computerSum<= 21 && playerSum<= 21){
    if(playerSum> computerSum){
     GamePrint.println("玩家胜利。");
    }elseif(playerSum < computerSum){
     GamePrint.println("电脑胜利");
    }else{
     GamePrint.println("平局");
    }
   }elseif(computerSum>21&&playerSum<21){
    GamePrint.println("玩家胜利。");
   }elseif(computerSum<21&&playerSum>21){
    GamePrint.println("电脑胜利");
   }
   //是否继续
   GamePrint.println("是否继续(y/n):");
   String isGo =scn.next();
   if(isGo.equals("n")){
    flag= false;
   }
  }
 }
}

 

package game.point21.util;
public class GamePrint{
 public static void println(String value){
  System.out.println(value);
 }
}

 

 

 

 

 

实现一维数组乱序

 

 

import java.util.*;
public class Test{
 public static void main(String[] args){
  int[] point ={1,2,3,4,5,6,7,8,9,10,11,12,13};
  int t;
  for(inti=0;i<13;i++){
   int a =(int)(Math.random()*13);
   if(a>i){
   t =point[i];
   point[i] =point[a];
   point[a]=t;
   }

  }
  for(inti=0;i<13;i++){
   System.out.println(point[i]);
  }
 }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值