1. 程式人生 > >手把手教你用Python完成一個控制檯小遊戲

手把手教你用Python完成一個控制檯小遊戲

很多人想學Python程式設計或者已經瞭解過一點Python程式設計基礎,卻沒辦法開發出一個專案。

今天,通過演示一個簡單的控制檯小遊戲製作,手把手教你如何用Python編寫一個遊戲程式,即便你是個新手,也完全可以跟著操作。

1

Python是什麼?


開始前,我們先簡明扼要的討論一下Python是什麼,以及Python應該注意的一些規範。

1、Python簡介

Python廣泛應用web開發、人工智慧、資料分析、自動化運維領域,對初學者來說,是一門相對於其他程式設計語言來講容易上手的一門程式設計語言。

2、規範

在Python之中使用#來表示單行註釋,三重引號來表示多行註釋,註釋應該遵循 “奧卡姆剃刀原理”,即不要使用不必要的註釋,好的程式碼勝於千言萬語。

如無必要,勿增實體

在對變數和函式命名的時候,儘量要使用英文單詞,一眼就能明白該變數或該函式的用處。

如有必要,可以使用todo註釋,來表明將來要做某事,例如下面的註釋

# TODO(Zeke) Change this to use relations.

那麼接下來,我們進入這次文章的主題吧——控制檯的井字棋遊戲,效果如下圖所示。

640?wx_fmt=gif

2

用Python完成控制檯小遊戲


既然是控制檯遊戲,我們歡迎介面就不做的花裡胡哨的了。

1首先我們先建立一個歡迎介面(介面如下)

其實就是在螢幕上輸出下面格式的內容

640?wx_fmt=png

我們可以使用pycharm、IDLE、sublime等開發工具來幫助我們開發,首先我們先建立一個game.py檔案,開啟檔案,輸入如下的程式碼:

640?wx_fmt=png

此時,我們可以測試一下,這個歡迎介面是否正常。

2確認玩家選擇哪種標記

這裡我們就假設只能選擇O或者X?這裡我們讓玩家自己選擇。我們一樣定一個函式來確定玩家的使用標記。

640?wx_fmt=png

3、確認玩家還是電腦先手

這裡採用了random模組,來隨機確定玩家先手還是電腦先手。

原理:我們產生一個從0到1的隨機整數,如果是0就是電腦先手,如果非0就是玩家先手。

640?wx_fmt=png

4、接下來主要的遊戲邏輯部分的確定,輸贏判斷的邏輯(重點)。

我們先把遊戲的步驟給大家分析清楚了。

640?wx_fmt=png

5、遊戲的執行邏輯

電腦與玩家輪流下棋,每次下棋都要判斷要下的位置是否已經有棋了,並且下完後判斷是否產生了進行輸贏的判斷。

6、最後可以詢問玩家是否要繼續遊戲

相關程式碼在群裡(拉到底部入群),提供大家下載閱讀,體驗。

3

Python領進門


自己動手的專案是不是有更深的學習體會~Python還能實現更多好玩的事情,這次沒過癮的同學可以進群交流,同行交流、實戰案例統統都有~

網易雲課堂聯合北京理工大學名師嵩天推出《Python應用基礎》課程,入群即可獲得免費體驗課以及小姐姐的免費直播~

PART1

《Python入門》免費體驗課程 

課程講師

640?wx_fmt=jpeg

“雙一流”名校、“國家精品課程”

Python設計名師:嵩天

課程大綱

第一章 :AI時代的主流語言--Python實際應用

第二章 :想要學習Python? 你得先準備這些

第三章 :一小時Python入門實踐

PART2

《默唸芝麻開門,領你Python入門》

免費直播課 

7月25日20:00

課程講師

640?wx_fmt=png

晨煦,Python應用基礎微專業金牌老師

直播大綱

Python的蘿莉屬性庫多、碼少、易推倒

Python的正確入門方式被安排的明明白白

Python的應用方向:大資料?人工智慧?OK!

實踐案例:@_#?/$%能畫畫?python能帶你飛

快來聽小姐姐超好玩的直播

掃碼加入QQ群

即可免費攻讀《Python入門》體驗課

640?wx_fmt=png

群號:607155680

為了保證學習體驗,

本次Python入門體驗課限時開放

數量有限,欲報從速

點選閱讀原文,預約超好玩的小姐姐直播~

相關推薦

手把手Python完成一個控制檯遊戲

很多人想學Python程式設計或者已經瞭解過一點Python程式設計基礎,卻沒辦法開發出一個專案

技術流 | 手把手Python設計一個命令列介面

作者 | Yannick Wolff         譯者 | 劉旭坤         整理 | Jane

手把手Python實踐深度學習|深度學習視頻教程

視頻 ref ati pan 人工神經網絡 com 深度學習 encoder auto 手把手教你用Python實踐深度學習網盤地址:https://pan.baidu.com/s/1mkoC9ELXDglvTNN_xPUWlQ 提取碼: zgpy備用地址(騰訊微雲):ht

手把手node擼一個簡易的handless爬蟲cli工具

眾所周知,node功能很強大,為前端提供了更多的可能。今天,就跟大家分享一下我是如何用node寫一個handless爬蟲的。原文連結leeing.site/2018/10/17/… 用到的工具 puppeteer commander inquirer chal

獨家 | 手把手Python進行Web抓取(附程式碼)

作為一名資料科學家,我在工作中所做的第一件事就是網路資料採集。使用程式碼從網站收集資料,當時對我來說是一個完全陌生的概念,但它是最合理、最容易獲取的資料來源之一。經過幾次嘗試,網路抓取已經成為我的第二天性,也是我幾乎每天使用的技能之一。 在本教程中,我將介紹一個簡單的例子,說明如何抓取一個網站,

Python量化】手把手python做股票分析入門

內容來自:微信公眾號:python金融量化 關注可瞭解更多的金融與Python乾貨。 目前,獲取股票資料的渠道有很多,而且基本上是免費的,比如,行情軟體有同花順、東方財富等,入口網站有新浪財經、騰訊財經、和訊網等。Python也有不少免費的開源api可以獲取交易行情資料,如pandas自

人工智慧應用-手把手Python硬體程式設計實現開啟或關閉電燈泡

之前我們已經給廣大愛好者或程式設計師朋友們,帶來了硬體版的或者說物聯網版本的Hello World C++Builder版、Delphi、Visual Basic.Net等的程式原始碼和教學資料,讓大家對硬體控制帶來一個嶄新的認識。有不少讀者使用者,建議我們出一套Python

維基百科中的資料科學:手把手Python讀懂全球最大百科全書

編譯:狗小白、李佳、張弛、魏子敏 沒人否認,維基百科是現代最令人驚歎的人類發明之一。 幾年前誰能想到,匿名貢獻者們的義務工作竟創造出前所未有的巨大線上知識庫?維基百科不僅是你寫大學論文時最好的資訊渠道,也是一個極其豐富的資料來源。 從自然語言處理到監督式機器學習,維

獨家 | 手把手Python建立簡單的神經網路(附程式碼)

作者:Michael J.Garbade 翻譯:陳之炎 校對:丁楠雅 本文共2000字,建議閱讀9分鐘。本文將為你演示如何建立一個神經網路,帶你深入瞭解神經網路的工作方式。 瞭解神經網路工作方式的最佳途徑莫過於親自建立一個神經網路,本文將演示如何做到這一點。

手把手Python建立簡單的神經網路!

  資料   :   瞭解神經網路如何工作的最佳方法是學習如何從頭開始構建神經網路(而不是採用任何庫)。 在本文中,我們將演示如何利用Python程式語言建立一個簡單的神經網路。 問題 如下是一個展示問題的表格。

超有趣!手把手Python實現實時“人臉檢測”

  Instagram 的聯合創始人兼首席技術官 Mike Kreiger 說:“計算機視覺和機器學習其實已開始流行起來,但是對於大多數人來說,計算機看了影象後看到了什麼這方面還是比較模糊。”     近年來,計算機視覺這個神奇的領

手把手Python去除馬賽克!

有人說,馬賽克是阻礙人類進步的絆腳石,雖然最近幾年也頻繁傳出有在研發去除馬賽克的軟體,但是一直沒有成品問世。 於是人類和馬賽克的鬥爭就從未消停過。各種有亮點的圖片部位,經常被無情地打上馬賽克。在此之前,想完美清除馬賽克幾乎是不可能的,人類的進步一直停留在怎麼打馬賽克和去馬賽克之間。 最近一位

實用 | 手把手Python分割與合併PDF

def merge(self, position, fileobj, bookmark=None, pages=None, import_bookmarks=True):        """        Merges the pages from the given file into the outp

機器學習決策樹ID3演算法,手把手Python實現

本文始發於個人公眾號:**TechFlow**,原創不易,求個關注 今天是機器學習專題的第21篇文章,我們一起來看一個新的模型——決策樹。 決策樹的定義 決策樹是我本人非常喜歡的機器學習模型,非常直觀容易理解,並且和資料結構的結合很緊密。我們學習的門檻也很低,相比於那些動輒一堆公式的模型來說,實在是簡單

機器學習——手把手Python實現迴歸樹模型

本文始發於個人公眾號:**TechFlow**,原創不易,求個關注 今天這篇是機器學習專題的第24篇文章,我們來聊聊迴歸樹模型。 所謂的迴歸樹模型其實就是用樹形模型來解決迴歸問題,樹模型當中最經典的自然還是決策樹模型,它也是幾乎所有樹模型的基礎。雖然基本結構都是使用決策樹,但是根據預測方法的不同也可

從0開始,手把手Vue開發一個答題App01之專案建立及答題設定頁面開發

## 專案演示 [專案演示](https://kamiba.gitee.io/vue-quiz-app-show-version/) ## 專案原始碼 [專案原始碼](https://gitee.com/kamiba/vue-quiz) ## 配套講解視訊 [配套講解視訊](https://www.bi

從0開始,手把手Vue開發一個答題App

## 專案演示 [專案演示](https://kamiba.gitee.io/vue-quiz-app-show-version/) ## 專案原始碼 [專案原始碼](https://gitee.com/kamiba/vue-quiz) ## 教程說明 本教程適合對Vue基礎知識有一點了解,但不懂得綜合

【震驚】手把手python做繪圖工具(一)

在這篇部落格裡將為你介紹如何通過numpy和cv2進行結和去建立畫布,包括空白畫布、白色畫布和彩色畫布。建立畫布是製作繪圖工具的前提,有了畫布我們就可以在畫布上盡情的揮灑自己的藝術細胞。 還在為如何去繪圖煩惱的小夥伴趕緊看過來,這裡手把手教你解決問題~~~~ 當然還是講究一下規則:先點贊再看,尊重一下作者

手把手npm發布一個包,詳細教程

文件夾 模塊 .com png keyword tor 速度慢 index bsp 我們已經實現了路由的自動化構建,但是我們可以看到,一大串代碼懟在裏面。當然你也可以說,把它封裝在一個JS文件裏面,然後使用require(‘./autoRoute.js‘)給引入進來,那也行