情人节用python写个贪吃蛇安慰自己
??這幾天除了吃就是睡(不知道為啥,吃飽就想睡),從大年三十到現在感覺啥都沒做,寫個代碼安慰安慰自己吧哈哈哈哈。給大家分享幾部最近看的電影(要學英語的一定要get起來)——《彩虹照耀》《羅賓遜漂流記》《伴我同行》《荒島余生》《天賜寶貝》,其中,《彩虹照耀》全程感動到哭,看看就知道有多感人了哈哈哈;《天賜寶貝》讓我覺得和《我是湯姆》一樣感人。接下來寫代碼趴!
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
讓這個可愛的寶藏女孩在努力的道路上與你一起同行!
如有轉載,請注明出處(如不注明,盜者必究)
https://blog.csdn.net/hanhanwanghaha歡迎關注這個超級無敵可愛的人鴨,有什么問題留言私信皆可,看見必回!
創作不易,如有轉載,請注明出處
盜文章者垃圾人是也,盜者必究!
情人節寫個貪吃蛇安慰自己
- 一、效果
- 二、代碼
- 三、可能遇到的報錯
- 3.1報錯一
- 3.1.1原因
- 3.1.2解決辦法
- 3.2報錯二
- 3.2.1原因
- 3.2.2解決辦法
一、效果
錄屏軟件和上下鍵有點沖突,就沒有演示上下移動了(自行腦補啦)
二、代碼
# coding:utf-8import curses import random# 初始化屏幕 scr = curses.initscr() # 設置光標 curses.curs_set(0)# 設置寬高 sh, sw = scr.getmaxyx() w = curses.newwin(sh, sw, 0, 0) w.keypad(1)# 窗口刷新時間為100毫秒,控制速度的地方 w.timeout(200)# 蛇 snake_x = int(sw / 4) snake_y = int(sh / 2) snake = [[snake_y, snake_x],[snake_y, snake_x - 1],[snake_y, snake_x - 2], ]# 簡寫一下 ku = curses.KEY_UP kd = curses.KEY_DOWN kr = curses.KEY_RIGHT kl = curses.KEY_LEFT# 食物 food = [int(sh / 2), int(sw / 2)] w.addch(int(food[0]), int(food[1]), curses.ACS_PI)# 控制蛇的移動# 首先要給它一個方向 key = kr while True:# 獲取玩家的鍵盤指令next_key = w.getch()key = key if next_key == -1 else next_key# 蛇死的情況:撞到自己,碰到邊緣if snake[0] in snake[1:] or \snake[0][0] in [0, sh] or \snake[0][0] in [0, sh]:curses.endwin()quit()# 蛇的移動邏輯new_head = [snake[0][0], snake[0][1]]if key == curses.KEY_DOWN:new_head[0] += 1if key == curses.KEY_UP:new_head[0] -= 1if key == curses.KEY_LEFT:new_head[1] -= 1if key == curses.KEY_RIGHT:new_head[1] += 1snake.insert(0,new_head)# 當蛇吃到食物if snake[0] == food:food = Nonewhile food is None:nf = [random.randint(1, sh - 1),random.randint(1, sw - 1)]food = nf if nf not in snake else Nonew.addch(food[0],food[1],curses.ACS_PI)else:tail = snake.pop()w.addch(int(tail[0]), int(tail[1]), ' ')w.addch(int(snake[0][0]), int(snake[0][1]), curses.ACS_CKBOARD)三、可能遇到的報錯
3.1報錯一
3.1.1原因
如果是windows系統,會出現這樣的報錯:
SyntaxWarning: list indices must be integers or slices, not tuple; perhaps you missed a comma?[snake_y, snake_x] Traceback (most recent call last):File "G:/PythonProject/TD2/game/tanchi.py", line 3, in <module>import cursesFile "F:\Anaconda\lib\curses\__init__.py", line 13, in <module>from _curses import * ModuleNotFoundError: No module named '_curses'如圖:
但導入的時候完全正常
原因是:curses庫不支持Windows
3.1.2解決辦法
去官網下載curses庫對應你python版本的whl文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/#curses
比如我是python38,64位
下載到python安裝目錄中下的Script文件夾下即可(Python\Scripts)
不知道自己python目錄在哪的小伙伴別慌
直接在命令行行窗口輸入 where python
接下來
把whl文件放入Script文件夾后,進入Script文件夾(我是用的Anaconda)
鼠標單擊圖上文件位置欄——輸入cmd ——然后回車
變為
然后用pip安裝whl文件即可
輸入
pip install "curses-2.2.1+utf8-cp38-cp38-win_amd64.whl"(小技巧:whl文件名輸入前幾個字母按TAB鍵能自動補全)
3.2報錯二
3.2.1原因
Redirection is not supported.如圖
Redirection isnot supported. 翻譯過來是不支持重定向
3.2.2解決辦法
首先點擊如圖所示的倒立三角形符號,選Edit Configurations,勾選 “Emulate terminal in output console”,應用并確定即可
借鑒:https://www.youtube.com/watch?v=rbasThWVb-c&t=0s
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
讓這個可愛的寶藏女孩在努力的道路上與你一起同行!
如有轉載,請注明出處(如不注明,盜者必究)
總結
以上是生活随笔為你收集整理的情人节用python写个贪吃蛇安慰自己的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在idea中使用Mybatis-ge
- 下一篇: Python格式化输出--%s,%d,%