北斗七星图

news/2025/1/15 13:22:55/

效果图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

操作方法

在主模块中运行程序,Settings模块中是对程序的设置

代码

import turtle as t
from time import sleep
from Settings import *
from random import randint, choice# 画出问题,然后重置窗口,准备画星星
def draw_question():t.bgcolor('black')t.color('white')go(-200, 0)t.setup(s.canvas_weight, s.canvas_height)question = s.questiont.write(question, True, font=('Arial', s.font_size, 'normal'))sleep(s.pause)t.reset()# 移动笔尖
def go(x, y):t.penup()t.goto(x, y)t.pendown()# 画星星,包括其他星,和北斗星,画星星和连线有时间延迟和笔速。
def draw_star():# 返回随机得到其他星的列表,大小随机def star_pos():positions = list()for _ in range(s.star_num):x_half = s.canvas_weight // 2x = randint(-x_half, x_half)y_half = s.canvas_height // 2y = randint(-y_half, y_half)pos = x, ypositions.append(pos)return positions# 返回北斗七星的坐标def dipper_map():position = [(-330, 150), (-210, 120), (-130, 70), (0, 0), (-10, -120), (160, -190), (240, -70)]return position# 画其他星和北斗星。若是其他星则将turn_size设为True,可改变其大小。若是北斗七星,则固定其大小def draw(pos_list, star_color, change_size):for pos in pos_list:go(pos[0], pos[1])if change_size:star_size = choice(s.star_sizes)t.dot(star_size, star_color)else:t.dot(10, star_color)# 将北斗七星连线def link_map(map_pos_list):t.pendown()t.color('gold')t.pensize(s.pen_size)go(map_pos_list[0][0], map_pos_list[0][1])for pos in map_pos_list:sleep(s.star_to_star)t.goto(pos[0], pos[1])t.bgcolor('black')t.hideturtle()t.penup()t.tracer(False)little_pos = star_pos()map_pos = dipper_map()draw(little_pos, 'white', True)  # 画其他星星draw(map_pos, 'gold', False)  # 画北斗星t.tracer(True)  # 必须打开动画,才可以画线sleep(3)t.speed(s.draw_speed)link_map(map_pos)sleep(s.pause)  # 停顿后,进行第三部分t.reset()def draw_answer():t.bgcolor('black')t.hideturtle()t.color('white')answer = s.answert.write(answer, font=('Arial', s.font_size, 'normal'))def main():t.hideturtle()draw_question()  # 第一部分问问题draw_star()  # 第二部分画星星draw_answer()  # 第三部分回答问题if __name__ == '__main__':s = Settings()main()t.done()
class Settings:def __init__(self):# 第一部分,用于设置问题self.canvas_weight = 800self.canvas_height = 600self.question = '如果有人问你:你咋不上天?  \n你就回...'self.font_size = 20self.pause = 5  # 用于设置三部分之间的停顿时间。# 第二部分,用于设置星星self.star_num = 600self.star_sizes = [2, 3, 4, 5]self.draw_speed = 1self.pen_size = 3self.star_to_star = 1# 第三部分,用于设置回答问题(部分的设置用到第一部分)self.answer = '我上过宇宙 O_O'

http://www.ppmy.cn/news/277295.html

相关文章

北斗短报文介绍

**1.**什么是北斗短报文通信?   北斗系统的短报文通信,是指北斗地面终端和北斗卫星、北斗地面监控总站之间能够直接通过卫星信号进行双向的信息传递,通信以短报文(类似手机短信)为传输基本单位,是北斗卫星…

北斗系统概述

目录 1 空间段 2 地面控制段 3 用户段 4 时间系统 我国制定了北斗卫星导航系统三步走战略:第一阶段,2000年年底,发射2颗北斗一号卫星,建成北斗一号系统,向中国提供服务;第二阶段,2007年-201…

北斗小旋风Root并更改system盘权限全过程

最近公司买了一部北斗小旋风F9作为测试机,拿到机器首先要做的工作就是ROOT。 1.调出开发者选项。 由于F9用的是Android4.2系统,所以默认情况下“设置”-“开发者选项”是隐藏的。 解决办法: 进入“设置”--“关于手机“,在最后一行…

北斗导航 | RTK定位

博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 GPS定位的基本原理是,测量出已知位置的卫星到地面GPS接收器之间的距离,然后接收器通过与至少4颗卫星通讯,计算与这些卫星间的距离,就能确定其在地球上的具体位置。普通GPS的定位…

北斗

北斗导航定位系统官网 发表时间:2018-04-11 | 作者: 分享到: 天眼北斗app由手机天堂官网提供下载,天眼北斗安卓版是一款帮你定位导航工具,一个可以帮助你定位寻人的助手,这样再也不怕老人人&#xff0…

带你全面了解北斗!

今天,西昌卫星发射中心用长征三号乙运载火箭发射我国北斗卫星导航系统(北斗三号GEO-3卫星,即北斗三号最后一颗组网卫星)!你在震撼之余也一定有好多问题,对不对?今天小编总结了几大问题&#xff…

北斗定位背后的数学秘密

大部分智能手机均支持北斗功能,但是人的定位是如何解决时间延迟和角度偏差等问题的?这跟数学有点儿关系。 我们观察夜空中的星星,两颗星星之间的距离是非常难以确定的,而测量这些星星彼此之间或者地平线之间构成的角度就简单得多…

北斗导航 | 卫星导航定位原理与应用——导航电文内容

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 1、GPS卫星的导航电文 GPS卫星的导航电文(又叫数据码D码)主要内容包括…