贪吃蛇

作者: 小贱贱9395 | 来源:发表于2018-04-13 21:49 被阅读18次
from random import randrange
from freegames import square, vector

food = vector(0,0)
snake = [vector(10,0)]
aim = vector(0,10)

def change(x,y):
    "Change snake direction"
    aim.x = x
    aim.y = y

def inside(head):
    "Return True if head inside boundaries"
    return -200 < head.x < 190 and -200 < head.y < 200

def move():
    "Move snake forward one segment."
    head = snake[-1].copy()
    head.move(aim)

    if not inside(head) or head in snake:
        square(head.x, head.y, 9, 'red')
        update()
        return

    snake.append(head)

    if head == food:
        print('Snake:', len(snake))
        food.x = randrange(-15, 15) * 10
        food.y = randrange(-15, 15) * 10
    else:
        snake.pop(0)

    clear()

    for body in snake:
        square(body.x, body.y, 9, 'black')

    square(food.x, food.y, 9, 'green')
    update()
    ontimer(move, 300)

def main():
    setup(420, 420, 370, 0)
    hideturtle()
    tracer(False)
    listen()
    onkey(lambda : change(10, 0), 'Right')
    onkey(lambda: change(-10, 0), 'Left')
    onkey(lambda: change(0, 10), 'Up')
    onkey(lambda: change(0, -10), 'Down')
    move()
    done()

main()

相关文章

  • 贪吃蛇巴士 for Mac(休闲街机游戏) v0.1

    贪吃蛇巴士(snakeybust)是将经典街机游戏“贪吃蛇”用现代图形来展现的休闲街机游戏。贪吃蛇巴士Mac版游戏...

  • 贪吃蛇背后的故事

    贪吃蛇介绍 贪吃蛇最先出现于1976年,是Gremlin平台推出的一款经典街机游戏Blockade。贪吃蛇(也叫做...

  • 贪吃蛇大结局

    童年的回忆,贪吃蛇大结局,看一下贪吃蛇最后变成了什么?

  • JS-进阶-Day2

    贪吃蛇案例:

  • 贪吃蛇

    js 贪吃蛇代码

  • 我的贪吃蛇

    最近一直在玩一个游戏――贪吃蛇大作战,为此,耗费我不少时间。 我给我的贪吃蛇命名:我的贪吃蛇wr,后面wr是我名字...

  • 萌萌小蛇蛇

    这绝对是一个会令你振奋的贪吃蛇游戏,支持多人在线的贪吃蛇游戏。好好想想,你是否已经腻歪了单纯的吃食物变长的贪吃蛇游...

  • 一只贪吃蛇的自白

    我是一只贪吃蛇,想必大家都玩儿过贪吃蛇的游戏,那里面的贪吃蛇吃的东西越多,身体就越长,最后把自己给弄死了。我跟他们...

  • 2017-06-03

    贪吃蛇啊, 贪吃蛇, 你贪吃的是你的食物, 我贪吃的是对世间的留恋, 美女, 金钱, 路上的风景……

  • Web前端------JS高级贪吃蛇游戏案例(主要内容:原型)

    贪吃蛇案例思想总结 贪吃蛇游戏主要包括:地图对象、蛇对象、食物对象、游戏对象(控制游戏执行、操控小蛇和食物对象),...

网友评论

      本文标题:贪吃蛇

      本文链接:https://www.haomeiwen.com/subject/waihkftx.html