你是人间盛世颜
本帖最后由 你是人间盛世颜 于 2023-12-17 16:11 编辑
                        









基于 TrMenu 制作的娱乐性小游戏菜单版 贪吃蛇TrMenu Mcbbs介绍帖https://www.mcbbs.net/thread-1240856-1-1.html


插件版本及其说明一: TrMenu-3.1.18使用过程中出现任何问题概不负责!

游戏配置及其介绍游戏主界面蛇初始长度为3第一个苹果的位置是固定的吃掉后的位置随机用鼠标点击下面的按键,可以控制蛇的移动方向








游戏结束后界面消失








该配置使用了数组坐标的贪吃蛇算法结合trmenu支持的js脚本制作出来下面放的是python代码,我基于该代码转换成JavaScript代码感兴趣的可以看一看为什么放python因为人生苦短,我用python


import random

WIDTH = 10
HEIGHT = 10

snake_body = [(5, 5), (4, 5), (3, 5)]  # 初始贪吃蛇身体位置
apple = (2, 2)  # 初始苹果位置

def move_snake(direction):
    head = snake_body[0]
    if direction == 'up':
        new_head = (head[0], head[1] - 1)
    elif direction == 'down':
        new_head = (head[0], head[1] + 1)
    elif direction == 'left':
        new_head = (head[0] - 1, head[1])
    elif direction == 'right':
        new_head = (head[0] + 1, head[1])
        
    snake_body.insert(0, new_head)
    if new_head == apple:
        generate_new_apple()
    else:
        snake_body.pop()

def generate_new_apple():
    global apple
    while True:
        x = random.randint(0, WIDTH - 1)
        y = random.randint(0, HEIGHT - 1)
        if (x, y) not in snake_body:
            apple = (x, y)
            break

def print_game_board():
    for y in range(HEIGHT):
        for x in range(WIDTH):
            if (x, y) == apple:
                print('A', end=' ')
            elif (x, y) in snake_body:
                print('S', end=' ')
            else:
                print('.', end=' ')
        print()

# 游戏主循环
while True:
    print_game_board()
    direction = input("请输入移动方向(上:w,下:s,左:a,右:d):")
    move_snake(direction)复制代码
该算法本身很简单但是用trmenu来实现还是有一点难度的制作过程非常不易。如果该配置对你有所帮助希望你能顺手点个评分+人气这将是我更新的动力!







        下载地址        






贪吃蛇.yml

(9.96 KB, 下载次数: 0)

第一页 上一页 下一页 最后一页