日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

情人节用python写个贪吃蛇安慰自己

發布時間:2025/3/15 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 情人节用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写个贪吃蛇安慰自己的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。