太空出租箭关卡设计器_space rental rocket level designer

太空出租箭是本人设计一个微重力小游戏,在游戏中操作一艘飞船安全着陆,然后乘客就会跳出来,这个程序是太空出租箭的一个辅助程序,用来设计关卡地图。

"""关卡设计器.py
   太空出租箭的辅助程序。本程序单击屏幕时会显示个红色的圆圈,其实就是盖一个图章。
用dot命令也可以。为了配合太空出租箭,所以用的是stamp命令。当你单击后请自行记录坐标点。作者:李兴球

"""
from turtle import *
import os

def init_screen():
    """初始化屏幕"""
    screen = Screen()         # 生成屏幕对象
    screen.setup(960,720)     # 设置分辨率
    screen.delay(0)           # 延时为0
    screen.bgcolor("black")   # 背景为黑
    screen.title("太空出租箭关卡设计器")
    return screen

本文隐藏内容 登陆 后才可以浏览
def append(x,y): """把redcircle坐标添加到列表""" redcircle.goto(x,y) # 到鼠标指针的位置 redcircle.stamp() # 图章命令 x = redcircle.xcor() y = redcircle.ycor() cors_list.append((x,y)) # 把坐标点加入到列表 def output(x,y): """输出所有关卡列表到文件""" all_levels = "" levels_amount = len(all_list) for i in range(levels_amount): level = "map" + str(i+1) + " = " + str(all_list[i]) + "\n" all_levels = all_levels + level f = open("all_levels.txt",mode='w') f.write(all_levels) f.close() screen.bye() def end_append(x,y): """结束添加坐标点列表,把它放入总表all_list,然后清空cors_list""" global level_number,cors_list if cors_list !=[]: # 避免输出空列表 level_number = level_number + 1 print("map" + str(level_number) + " = ", cors_list) all_list.append(cors_list) # 添加到所有关卡总列表 cors_list=[] # 建空列表,不用cors_list.clear redcircle.clear() # 清除所盖的图章 def explain(): """说明字符""" ziti0 = ("黑体",32,"normal") ziti1 = ("宋体",16,"normal") info0 = "关卡设计器" info1 = "单击左键设定红圆若干,\n单击右键本关设定完毕,\n单击中键输出到文件all_levels.txt并关闭窗口" t = Turtle(shape = 'blank') t.penup() t.goto(0,200) t.color("yellow") t.write(info0,align='center',font=ziti0) t.goto(0,0) t.color("orange") t.write(info1,align='center',font=ziti1) del t if __name__ == "__main__": level_number = 0 cors_list = [] # 定义一个关卡的坐标表 all_list = [] # 定义所有关卡列表,嵌套列表 screen = init_screen() # 初始化屏幕 explain() # 显示标题与说明 redcircle = produce_redcircle() # 生成redcircle screen.cv.bind("<Motion>",onmousemove) # 绑定鼠标移动事件到onmousemove函数 screen.onclick(append,1) # 单击左键设定一个红色圆点 screen.onclick(output,2) # 单击中键输出并关闭本程序 screen.onclick(end_append,3) # 单击右键结束本次设定,准备下一次设定 screen.mainloop()

太空出租箭的辅助程序