Python入門プログラミングウィジェット-デジタルゲームを当てる

3088 ワード

これは簡単なゲームで、Pythonの知識はかなり少ないが、Pythonの基本的な文法を理解する必要がある.
プログラム全体のアルゴリズムフローは以下のように簡単に紹介されている(VSでフローチャートを描きたくない、怠け者):
デジタルゲームを当てる以上、まず実現すべきは、数字を設定し、プレイヤーに推測の数字を入力させることです.最も簡単なのは、固定された数字を設定し、プレイヤーの入力と比較して正しいかどうかの結論を出すと、3行のコードが実現し、それは面白くありません.では、このコードを改善するには、固定リストで数字を設定することができ、実現も難しくなく、コードを見てから推測しても退屈になります.コードをさらに改善し、ランダムシーケンスでrandomを呼び出すのは良い選択です.大きさを比較する一環も最も簡単な一歩一歩から改善して、最初からif文を思い浮かべてよくて、等しい、大きい、小さい情況に対して、playerのために一連のヒント語を印刷して、しかしこのような推測は1回でgame overのゲームのメカニズムもあまりにもlowで、私は菜鳥ですが、このような侮辱にも耐えられません.コードを改善して、whileサイクルで3回遊ぶことを実現した後、ゲームが終わって、実現するのも難しくなくて、if文のネストにほかならなくて、構想を整理して書くのもあまり苦労しません.もちろん私はまだ菜鳥の段階で、コード全体が美しくなくて、更にどんな風格を言うまでもありません...みんなは我慢して見ているが,喜ばないなら噴き出さないでください.
実はここまでゲームは简単に游ぶことができるようで、私は比较的に中毒があって1时间游ぶことができます.しかし3回の机会が尽きた后に、更に游びたいのはいつも解釈器の中でF 5を少し要して、本当に気持ちが悪くて、Restartが再び游ぶ命令が现れることができるかどうか、そこで私は书くことに着手します.この簡単な問題を一日考えて、料理が怖いと言わざるを得なかった.restartを使用する場合は、playerが値を入力したときにコードを再実行する必要があります.簡単に聞こえますが、forループでいいという人もいれば、回数パラメータをクリアして、運転を続けることができるという人もいます.しかしPythonはアセンブリのjumpがありますか?yeild私はまた違和感を感じて、実現できません.以前のプログラムセグメントにはwhileループが含まれていたので、forループで試した変数の設定が混乱していたし、whileループ後にreturn回数変数をクリアしてみたが、実現しなかった.私は長い間考えていましたが、このコードを絶えず循環しなければならないと思います.関数を絶えず呼び出す概念と同じです.では、このコードをすべてcompare関数にカプセル化して、いつでも呼び出せばいいと思います.
問題はまた来て、確かにgame overの後でもう一度遊ぶことができますが、ただ1回遊ぶだけで、あなたが呼び出したコードは1回しか実行しないので、上のコードだけを呼び出します.つまり、私の呼び出しコードもずっとループしなければなりません.私は手間を省くために(正直に言うと、他の高級な文法はできません)、forループにwhile else文を埋め込んで簡単に書きました.だから、ソースコードを見ると、私はゲームを10ラウンドさせただけで、私は30回以上我慢して遊んでいないと思います.もちろん、あなたももっと大きな値を設定することができます.無限ループに近い大きさです.もちろんゲームを続けるかどうかは、選択できますが、プレイヤーは再ゲームを拒否することを選択して直接終了します.この部分はwhile else文で実現されています.分かりやすいです.
ここまでは非常に粗末なゲームが完成して、スタイルがなくて美感がなくて構造がなくて、無限の最適化のコードが必要です...菜鳥共励.絶対に菜鳥が直接手に入れた小さなゲームです.
def compare(i):
 import random
 secret = random.randint(1,10)
 temp = input("guess the number in my heart(from 1 to 10):
") guess = int(temp) if guess == secret: print("amazing,you are right") else: if guess > secret: print("worring,it's bigger,you have the last two chances") else: print('OMG! so foolish you are.litter!!The last two chances ~~') while i < 2: temp = input("guess again please~~:
") guess = int(temp) i=i+1 if guess == secret: print("ok,you win.") break elif (guess > secret): if i==1: print("guess it by your heart please!!bigger!last chance") else: print("see you latter!biggerererer!") elif (guess < secret): if i==1: print('want to fuck someone!wrong ,again,litter!last chance') else: print('you make me angery,say goodbye to games.') print( 'game over') return compare(0) n=0 while n<10: restart = input('do you want to restart?please write 1 or 0:') n=n+1 if restart==1: compare(0) else: print('see you latter') break