Python小游戏-贪吃蛇

"是不是PytPycharm,就开始有点迫不及待地想要开始写代码了呀,那我们这给大家准备了一个小小的案例来给大家感受一下Python的魅力"

本案例主要是借用了curses这个图形函数库,在终端进行简单的图形绘制,写了一个简易版的贪吃蛇小游戏。

完整代码如下:

# coding:utf-8

import 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] += 1
    if key == curses.KEY_UP:
        new_head[0] -= 1
    if key == curses.KEY_LEFT:
        new_head[1] -= 1
    if key == curses.KEY_RIGHT:
        new_head[1] += 1
    snake.insert(0, new_head)

    # 当蛇吃到食物
    if snake[0] == food:
        food = None
        while food is None:
            nf = [
                random.randint(1, sh - 1),
                random.randint(1, sw - 1)
            ]
            food = nf if nf not in snake else None
        w.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)

常见错误及解决方案:

错误1:模块没有被找到

Python小游戏-贪吃蛇_第1张图片

 curses是Python中的内置库,但是会报模块找不到这个错误,主要是因为Windows系统不是很适配,因此,可以通过以下几个步骤来解决:

1、先进入官网;Python Extension Packages for Windows - Christoph Gohlke (uci.edu)

Python小游戏-贪吃蛇_第2张图片

 2、使用Ctrl+F进行页面搜索,搜索curses然后根据自己的python版本及系统来进行文件的下载;

Python小游戏-贪吃蛇_第3张图片

 3、摁住win+R键,打开命令行,输入cmd,进入终端;

Python小游戏-贪吃蛇_第4张图片

 4、在命令行中输入cd /d 文件夹所在路径,回车,再输入 pip install 文件名

Python小游戏-贪吃蛇_第5张图片

 5、再重新在pycharm中运行。

错误二:不支持重定向;

Python小游戏-贪吃蛇_第6张图片

 解决方案:

1、先点击右上角目前的py文件,再点击Edit config...进入;Python小游戏-贪吃蛇_第7张图片

 2、勾选Emulate....,再点击应用。

Python小游戏-贪吃蛇_第8张图片

再上述问题都解决完了以后,python程序应该是正确运行的,如果出现闪退,但是没有报错,这可能是程序的缺陷,建议多运行几次就ok了。

运行成功截图:

Python小游戏-贪吃蛇_第9张图片

你可能感兴趣的:(Python基础,python,开发语言,游戏)