018/MyPy
/Python学习笔记/Python基础学习/1_列表/1_1列表的基本使用.py
# Python学习笔记
关于Python的基础学习笔记,以及一些小项目
/Python学习笔记/Python基础学习/1_列表/1_1列表的基本使用.py
# Python学习笔记
关于Python的基础学习笔记,以及一些小项目
/Python学习笔记/Python基础学习/1_列表/1_2列表的排序.py
# Python学习笔记
关于Python的基础学习笔记,以及一些小项目
/Python学习笔记/Python基础学习/1_列表/1_1列表的基本使用.py
from tkinter import *
import time
import random
# 调用tkinter下的Tk类
root = Tk()
# 设置窗口标题
root.title('贪吃蛇')
# 设置窗口大小
root.geometry('600x600')
# 设置背景颜色
root.configure(bg='#000000')
# 设置蛇的初始位置和大小
snake = [[100, 100], [110, 100], [120, 100]]
# 设置蛇的速度
snake_speed = 5
# 设置蛇的方向
snake_dir = 'right'
# 设置食物的位置
food_x = random.randint(1, 58)*10
food_y = random.randint(1, 58)*10
# 设置食物的大小
food_size = 10
# 设置食物的颜色
food_color = 'red'
# 设置游戏的结束标志
game_over = False
# 设置食物的图片
food_image = PhotoImage(file='food.gif')
# 设置蛇的图片
snake_image = PhotoImage(file='snake.gif')
# 设置背景图片
background = PhotoImage(file='background.gif')
# 设置蛇头的图片
head = PhotoImage(file='head.gif')
# 设置蛇身体的图片
tail = PhotoImage(file='tail.gif')
# 画背景
background_label = Label(root, image=background)
background_label.place(x=0, y=0)
# 画食物
food_label = Label(root, image=food_image)
food_label.place(x=food_x, y=food_y)
# 画蛇
snake_label = Label(root, image=snake_image)
snake_label.place(x=snake[0][0], y=snake[0][1])
# 画蛇头
head_label = Label(root, image=head)
head_label.place(x=snake[0][0], y=snake[0][1])
# 画蛇尾
tail_label = Label(root, image=tail)
tail_label.place(x=snake[-1][0], y=snake[-1][1])
# 设置蛇的移动
def move_snake(snake, snake_dir, snake_speed):
# 设置蛇的移动方向
if snake_dir == 'up':
snake[0][1] -= snake_speed
elif snake_dir == 'down':
snake[0][1] += snake_speed
elif snake_dir == 'left':
snake[0][0] -= snake_speed
elif snake_dir == 'right':
snake[0][0] += snake_speed
# 设置蛇的移动速度
for i in range(len(snake)-1, 0, -1):
snake[i][0] = snake[i-1][0]
snake[i][1] = snake[i-1][1]
# 设置蛇的移动终点
if snake[0][0] == food_x and snake[0][1] == food_y:
snake.append(snake[-1])
snake.append(snake[-1])
snake.append(snake[-1])
snake.append(snake[-1])
snake.append(snake[-1])
snake_speed += 1
food_x = random.randint(1, 58)*10
food_y = random.randint(1, 58)*10
food_label.place(x=food_x, y=food_y)
else:
snake_label.place(x=snake[0][0], y=snake[0][1])
tail_label.place(x=snake[-1][0], y=snake[-1][1])
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.place(x=snake[-1][0], y=snake[-1][1])
tail_label.place(x=snake[-1][0], y=snake[-1][1])
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.place(x=snake[-2][0], y=snake[-2][1])
tail_label.place(x=snake[-2][0], y=snake[-2][1])
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.place(x=snake[-3][0], y=snake[-3][1])
tail_label.place(x=snake[-3][0], y=snake[-3][1])
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.delete(0)
snake_label.place(x=snake[-4][0