有猜字母遊戲,其遊戲規則為:程式隨機產生5個按照一定順序排列的字元作為猜測的結果,由玩家來猜測此字串。玩家可以猜測多次,每猜測一次,則由系統提示結果。如果猜測的完全正確,則遊戲結束,計算玩家的遊戲得分並輸出;如果沒有猜對,則提示猜測的結果,如猜對了幾個字元,以及猜對了幾個字元的位置等資訊,並提示玩家遊戲繼續。
本案例要求使用互動的方式實現此遊戲:由玩家在控制台輸入所猜測的字串,如果所猜測的字串與結果並不完全相同,則在介面輸出比較後的結果,並提醒玩家繼續猜測。互動過程如圖-7所示:
圖-7可以看出,每次猜測後,程式將比較玩家所輸入的字串,比較字元以及字元的位置,然後提示結果:5個字元中正確的字元個數,以及位置正確的字元個數,以便於玩家判斷後續如何進行猜測。
玩家終於猜測正確後,遊戲結束,並給出遊戲得分,互動過程如圖-8所示:
其中,遊戲的得分規則為:字元的個數乘以100為總分,即此遊戲的總分為 500 分。玩家如果第一次就猜對,則得滿分(500分);每多猜測一次,則扣10分。由圖-8可以看出,玩家共猜測了5次,因此,得分為 450。
最後,如果玩家在控制台錄入 exit,則遊戲中止,程式結束。互動過程如圖-9所示:
一、設計資料結構1. char chs; //隨機生成的字元陣列
2. char input; //使用者輸入的字元陣列
3. int letterright; //字元對的個數
int positionright; //位置對的個數
int result; //對比的結果
4. int score; //得分
int count; //猜錯的次數
二、設計程式的結構
1. 主方法
1public
static
void
main(string args)
15 input =inputstr.tochararray();
16 result =check(chs, input);
17if (result[0] ==chs.length) else26}
27 }
2. 隨機生成字元陣列
1public
static
char
generate() ;
6boolean flags = new
boolean
[letters.length];
7int index = 0; //下標8
for (int i = 0; i < chs.length; i++) while (flags[index]); //
當下標對應的開關為true時,表示下標已生成過,繼續生產下標
12 chs[i] = letters[index]; //
基於生成的下標確定隨機生成的字元
13 flags[index] = true; //
將下標對應的下標設為true14}
15return
chs;
16 }
3. 對比隨機字元陣列與使用者輸入的字元陣列
public3. 完整**如下:static
int check(char chs, char
input)
break
; }}}
return
result;
}
1/**2
* 猜字元遊戲3*
4* @author
administrator5*
6*/7public
class
guessinggame
22 input =inputstr.tochararray();
23 result =check(chs, input);
24if (result[0] ==chs.length) else33}
34}3536
/**37
* 隨機生成字元陣列
38*
39*
@return
40*/
41public
static
char
generate() ;
46boolean flags = new
boolean
[letters.length];
47for (int i = 0; i < chs.length; i++) while (flags[index]); //
當下標對應的開關為true時,表示已存過,則重新生成index下標
52 chs[i] =letters[index];
53 flags[index] = true; //
將下標對應的下標設為true54}
55return
chs;56}
5758
/**59
* 對比:隨機字元陣列與使用者輸入的字元陣列
60*
61*
@param
chs62
* @param
input
63*
@return
64*/
65public
static
int check(char chs, char
input)
74break;75
}76}77
}78return
result;79}
80 }
猜數字小遊戲
標題 猜數字小遊戲 這是乙個用c完成的簡單的猜數字小遊戲,原理很簡單也很容易理解,用c基礎就可以實現。在這裡首先整理一下邏輯,也就是把思路理清楚,猜數字遊戲,也就是給定乙個值然後輸入猜的數字,再將猜的數字和給定數字像比較,無非就是猜的數字大於 小於或等於給定的數字,然後再提示玩家猜大了,猜小了,或猜...
猜數字小遊戲
猜數字函式 defguess number 隨機生成乙個0 100的整數,作為正確答案 number random.randint 0,100 i 0 在while中寫 while true 輸入乙個0 100的整數,input輸入的是字串 gus num input 請輸入您猜的數字 0 100 ...
猜數字 小遊戲
隨機給出乙個0至99 包括0和99 之間的數字,然後讓你猜是什麼數字。你可以隨便猜乙個數字,遊戲會提示太大還是太小,從而縮小結果範圍。經過幾次猜測與提示後,最終推出答案。作者 love 時間 2013 4.2 using system using system.collections.generic...