import random
import sys
import time
import msvcrt
WIDTH = 20
HEIGHT = 10
SPEED = 0.2
snake = [(WIDTH // 2, HEIGHT // 2)]
direction = (1, 0)
food = (random.randint(0, WIDTH - 1), random.randint(0, HEIGHT - 1))
score = 0
def draw_game():
if sys.platform == "win32":
print("\033[H\033[J", end="")
else:
print("\033c", end="")
print("#" * (WIDTH + 2))
for y in range(HEIGHT):
print("#", end="")
for x in range(WIDTH):
if (x, y) in snake:
print("●", end="")
elif (x, y) == food:
print("★", end="")
else:
print(" ", end="")
print("#")
print("#" * (WIDTH + 2))
print(f"当前得分: {score} | 操作:W(上) S(下) A(左) D(右) | Q(退出)")
def move_snake():
global snake, food, score
head_x, head_y = snake[0]
new_head = (head_x + direction[0], head_y + direction[1])
if (new_head[0] < 0 or new_head[0] >= WIDTH or
new_head[1] < 0 or new_head[1] >= HEIGHT or
new_head in snake):
print("\n=====================")
print(f"游戏结束!最终得分: {score}")
print("=====================")
time.sleep(3)
sys.exit()
snake.insert(0, new_head)
if new_head == food:
score += 10
while food in snake:
food = (random.randint(0, WIDTH - 1), random.randint(0, HEIGHT - 1))
else:
snake.pop()
def get_user_input():
global direction
if msvcrt.kbhit():
try:
key = msvcrt.getch().decode('utf-8').lower()
except:
key = ""
if key == 'w' and direction != (0, 1):
direction = (0, -1)
elif key == 's' and direction != (0, -1):
direction = (0, 1)
elif key == 'a' and direction != (1, 0):
direction = (-1, 0)
elif key == 'd' and direction != (-1, 0):
direction = (1, 0)
elif key == 'q':
print("\n你选择退出游戏!")
time.sleep(1)
sys.exit()
if __name__ == "__main__":
print("=====================")
print(" Windows贪吃蛇游戏 ")
print("=====================")
print("控制说明:")
print("W - 向上 | S - 向下")
print("A - 向左 | D - 向右")
print("Q - 退出游戏")
print("\n3秒后游戏开始...")
time.sleep(3)
while True:
get_user_input()
move_snake()
draw_game()
time.sleep(SPEED)
这是一段在控制台实现贪吃蛇的代码,现在我们将这段代码打包成可执行文件。
先按"WIn"+'"R"打开命令,然后输入"cmd"打开命令行。

然后先安装pyinstaller库
bash
pip install pyinstaller
然后切换到你Python文件的目录,我的是D盘

再切换到游戏文件夹(替换成你的真实路径)

打包你的游戏(关键:文件名必须和实际一致!)
bash
pyinstaller -F 你的真实文件名.py


然后就打包完成了,打开项目文件

游戏就在dist文件夹里

然后就可以启动游戏了

日记
1月30日,星期五
重温《哈利·波特1哈利·波特与魔法石》
昨天晚自习结束,没什么事干,重温了一下《哈利·波特1哈利·波特与魔法石》,我发现还是有很多有意思的地方的。
首先是金妮真漂亮,我真觉得论漂亮赫敏还是差一档的。(我是澳门新普京看到,别喷我)


我说白了,金妮就是比赫敏好看,我记得原著也是,赫敏没有那么漂亮,金妮特别漂亮。
我发现麦格教授还是有点幽默的,第一天哈利和罗恩迟到了,麦格教授吐槽应该把他们变成怀表,他们说:我们迷路了,麦格教授立马吐槽是不是应该把他们变成地图,不过马上好心的麦格教授就给个台阶下:我相信找到你们自己的座位不需要地图吧。真的喜欢麦格教授,既批评了,又照顾面子给哈利他们一个台阶下。

这一段是三只小不小心去惹到了看守魔法石的三头犬,然后赫敏吐槽让两哥们安分点,别害我们送命,或者更糟,被开除。当时赫敏说完有一个离开的镜头,我当时就在吐槽,shi了不应该比被开除更糟吗,然后罗恩就帮我吐槽了,她那个更糟分不清吗?果然,罗恩和我一样是比较正常的人。




OK了,这个电影是昨天看到,毕竟有时候写完日记可能有好玩值得记录的事情发生,那就要等到第二天才能记录下来了。
今天结束了,我要去快乐快乐了。