【无标题】

python贪吃蛇(windows 终端 简单运行版 )

1.运行示意图

在这里插入图片描述
注:按方向键即可控制,长按加速。

2. 代码

# -*- coding: utf-8 -*-

import random
import curses

def main(stdscr):
    # 初始化窗口
    curses.curs_set(0)
    sh, sw = stdscr.getmaxyx()
    w = curses.newwin(sh, sw, 0, 0)
    w.keypad(1)
    w.timeout(100)

    # 初始蛇和食物位置
    snk_x = sw//4
    snk_y = sh//2
    snake = [
        [snk_y, snk_x],
        [snk_y, snk_x-1],
        [snk_y, snk_x-2]
    ]

    food = [sh//2, sw//2]
    w.addch(int(food[0]), int(food[1]), curses.ACS_PI)

    key = curses.KEY_RIGHT

    while True:
        next_key = w.getch()
        key = key if next_key == -1 else next_key

        # 检查蛇是否撞墙或撞到自己
        if snake[0][0] in [0, sh] or \
            snake[0][1] in [0, sw] or \
            snake[0] in snake[1:]:
            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)

curses.wrapper(main)

3.操作步骤

在Windows平台上运行使用curses库的Python脚本,你需要安装一个兼容的库,因为Windows默认不包含curses库。这个库叫做windows-curses,可以让你运行基于文本的用户界面程序。

首先,你需要确保安装了Python。然后,按照以下步骤安装windows-curses库并运行你的脚本

  1. 打开命令提示符或PowerShell;
  2. 使用pip安装windows-curses库:pip install windows-curses
  3. 在命令提示符或PowerShell中,切换到包含snake.py脚本的目录;
  4. 运行脚本:python snake.py
  5. 如果一切正常,你的贪吃蛇游戏应该会在终端中启动。

如果你遇到了任何问题,比如脚本报错,可能需要检查脚本是否正确使用了curses库的功能,或者检查是否正确安装了windows-curses。在某些情况下,你可能需要以管理员权限运行命令提示符或PowerShell来安装库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值