程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 猜數字游戲

猜數字游戲

編輯:C++入門知識

題目:編寫程序實現一個猜數字游戲:系統隨機生成一個100以內的整數,用戶根據系統提示來進行猜測,如果猜對,則顯示“恭喜”並提示“增加難度,需要繼續嗎?”,如果用戶選擇繼續則系統隨機生成一個1000以內的整數,否則系統退出;如果用戶猜錯,則顯示“錯誤,請重新輸入!”,一旦用戶連續5次沒有猜中,則系統退出!

以下為源代碼,用的選擇(if )比較多,因此自己覺得代碼有點累贅,可讀性不是很好。希望大家可以多多提意見和建議!微笑

public static void main(String[] args) {
// TODO Auto-generated method stub
String choose;//用來存儲隨機數
boolean set=true;//開關變量,用來控制內層while循環
int ran;//用來存儲隨機數
int count=5;//第一次猜測總次數
int ncount=5;//加大難度時的猜測總次數
int user;//用來接收用戶猜測的數字
Random ram=new Random();//隨機數類的實例化對象
System.out.println("這是一個猜數字游戲,是否繼續?請選擇:是:Y 否:N");//提示用戶是否開始
Scanner scn=new Scanner(System.in);
choose=scn.nextLine();
if(choose.equals("Y")||choose.equals("y")){
ran=ram.nextInt(10);
System.out.println("已經生成一個0——10之間的隨機數,請輸入你的猜測:");
while(count>0&&set==true){
user=scn.nextInt();
if(user!=ran){
System.out.println("很遺憾,沒有猜中,你還有"+(count-1)+"次機會!");
if(user>ran){
System.out.println("提示:你猜的數字大了!");
}
else
System.out.println("提示:你猜的數字小了!");
count--;
}
else
{
set=false;
System.out.println("太棒了,還要再繼續猜嗎?會加大難度哦!請選擇 :是:Y 否:N");
choose=scn.next();
if(choose.equals("Y")||choose.equals("y")){
ran=ram.nextInt(100);
System.out.println("已經生成一個0——100之間的隨機數,請輸入你的猜測:");
while(ncount>0){
user=scn.nextInt();
if(user!=ran){
System.out.println("很遺憾,沒有猜中,你還有"+(ncount-1)+"次機會!");
if(user>ran){
System.out.println("提示:你猜的數字大了!");
}
else
System.out.println("提示:你猜的數字小了!");
ncount--;
}
else
{
System.out.println("恭喜你挑戰成功,你真的是個天才!");
System.exit(1);
}
}
}
else
{
System.out.println("你選了不玩高級游戲,系統退出!");
System.exit(1);
}
}
}
}
else
{
System.out.println("你選擇不玩游戲,系統退出!");
System.exit(1);
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved