运用JAVA实现猜骰子游戏

首先在这个游戏中所用到有随机数的知识,在java语言中,产生随机数的方式有三种
new Random()

此类需要借助import java.util.Random;来产生
代码如下

import java.util.Random;
public class game {
 public static void main(String[] args) {
  // TODO Auto-generated method stub
   Random a=new Random();
        int number=(a.nextInt(6)+1);//产生1-6的随机数,可表示骰子值
       System.out.print("随机数为"+number);    //产生一个随机数
      
    }
 }
Math.random()

直接调用Math库中来产生
代码如下
Math.Romdom所产生的随机数是在0-1之间的浮点数,而与Romdom类有一些相似之处

public class game {
 public static void main(String[] args) {
int a;
  a=(int)(Math.random()*6+1);//产生1-6之间的随机数,作为骰子值
  System.out.print("随机数为"+a);
     }
  }
currentTimeMillis()

前两种方法比较常用,而此种产生随机数方法不太常用,这里不做介绍。

游戏代码部分

游戏主要思想为将玩家所输入的值与其电脑产生的随机数做判断
代码中已将规则,注释等写入其中


import javax.swing.JOptionPane;//对话框显示
import java.util.Random;
public class 掷骰子游戏 {

	public static void main(String[] args) 
			throws java.io.IOException
	{
		JOptionPane.showMessageDialog(null,"掷骰子游戏规则\n"+"您的初始生命值为100\n"+"您先掷出一个骰子,并输入你的数值\n"+"若与电脑给出骰子同为大或同为小\n"+"则你的生命值加5,否则减10.");
		int life=100;       //定义生命值100
     
			int b;	
	        String str="";
			str=JOptionPane.showInputDialog(null,"请输入您猜想的骰子值:");
			JOptionPane.showMessageDialog(null,"您猜想的骰子值为"+str);
			b=Integer.parseInt(str);  
			if(b>6)
			do{
			str=JOptionPane.showInputDialog(null,"您的数据不合法,请重新输入");
			JOptionPane.showMessageDialog(null,"您猜想的骰子值为"+str);
			b=Integer.parseInt(str);    
			}while(b>6);     //玩家输入值
			
			JOptionPane.showMessageDialog(null,"您猜想的骰子值为"+str);
			   Random a=new Random();
		      	int number=(a.nextInt(6)+1);
		      	JOptionPane.showMessageDialog(null,"摇出骰子值为"+number);    //产生一个随机数,表示骰子值
			
	 if(b>3)
	   {
				if(number>3){
					life=life+5;
					JOptionPane.showMessageDialog(null,"您的生命值还剩:"+life);
					System.out.println("您的生命值:"+life);
                            }
				else
					life=life-10;
				JOptionPane.showMessageDialog(null,"您的生命值还剩:"+life);
				System.out.println("您的生命值:"+life);}
			else
			  {
				if(number<=3){
					life=life+5;
					JOptionPane.showMessageDialog(null,"您的生命值还剩:"+life);
					System.out.println("您的生命值:"+life);}
				else
					life=life-10;
				JOptionPane.showMessageDialog(null,"您的生命值还剩:"+life);
				System.out.println("您的生命值:"+life);

	   }            //判断输赢,游戏运行
        	 	 
	 if(life<=0)
	 {  JOptionPane.showMessageDialog(null,"GAME OVER!");
	     

		 int i = JOptionPane.showConfirmDialog(null,"GAME OVER!\n是否重新开始游戏","确认消息",JOptionPane.YES_NO_OPTION);
        if(i==0)
        	JOptionPane.showMessageDialog(null,"GAME OVER!");   //游戏结束
        else
        	JOptionPane.showMessageDialog(null,"请您重新启动游戏!");     //重新开始游戏
	 }	

  }
 }


发布了16 篇原创文章 · 获赞 11 · 访问量 660

猜你喜欢

转载自blog.csdn.net/qq_44981039/article/details/102532255