[C/C++] Guess Number Game

  • Guess Number Game
  • 相信有不少人玩過猜數字遊戲,在看這一篇文章的你們甚至都寫過類似的程式,本篇並不是要著重在如何寫猜數字程式,而是把重心放在如何寫出一個較好的演算來判斷?A?B。完整的原始碼如下:

    Download: GuessNumber.cpp

    主要的核心演算程式碼如下:

    雖然這是一個很簡單的練習程式,且演算也很淺顯易懂,但是這裡面卻包含著一些重要的使用技巧,checkUserAns()這個程式是可以容許使用者或者正確答案內的數字有重複的狀況,使用了TableOfGuess,TableOfAns陣列分別紀錄玩家和正確答案的數字分佈情形,舉個例子來說,如果玩家猜測答案為1667,那TableOfGuess的數值會是如下:

    TableOfGuess[1]=1;

    TableOfGuess[6]=2;

    TableOfGuess[7]=1;

    其餘皆為0,透過這樣的儲存比較技巧我們可以很輕易的處理很多問題,這類的技巧筆者也是應用在上一篇的GP裡,使用array和index的特性,可以替代掉傳統的搜尋比對演算法所造成的低效率以及降低撰寫的複雜度。

    執行範例:

No comments:

Post a Comment

Orange - data analysis tool

Installation pip install orange3 Run orange python -m Orange.canvas