当前位置:   article > 正文

你值得拥有——流星雨下的告白(Python实现)_python制作超炫流星雨表白

python制作超炫流星雨表白

目录

1 前言

2 霍金说移民外太空

3 浪漫的流星雨展示

4 Python代码


1 前言

我们先给个小故事,提一下大家兴趣;然后我给出论据,得出结论。最后再浪漫的流星雨表白代码奉上,还有我自创的一首诗。开始啦:

2 霍金说移民外太空

霍金说我们将来外星上生存;埃隆.马斯克也是这样想的。

我前面讲 外星人来不到地球,这个道理已经很清楚。我再说几个数据,大家听听,我们且不要说到更远的外星, 我们人类今天登上月球,把一个字航员送上月球,他在月球上待一分钟,要消耗地球一百万美元的资源才能在月球上待一分钟 。

我们说未来在火星上殖民,想想你在月球上一个人待一分钟,要消耗地球一百万美元的资源,你在火星上殖民几千人、几万人,你得把整个地球资源毁灭掉,都调到火星上去。然后你只把七十亿人调过去了几千、几万人,然后他在那可能死得更快,这根本不是出路,这怎么会成为出路呢?

我们再看,移居外星,离我们地球最近的另一个恒星系叫半人马座。半人马座,阿尔法星

也叫比邻星。大家注意,这都是恒星,比邻星距离太阳最近,有多近? 4.2光年,光以每秒钟三十万公里,走4.2年,就这我们还不知道比邻星的那个恒星旁边有没有行星。

就算有行星有没有宜居行星、类地行星。这我们还全然不知道。我们就假定那个地方有好了另一个地球,你按照今天人类火箭和卫星的最高速度,你单程从地球上飞到比邻星,需要一万五千年到三万年。
请注意我们文明史,文明有文字,以后的文明迄今才五千年,你单程飞到那个地方要一万五千年以上。我说过有没有行星都不知道。这个前途存在吗?根本不存在。就像外星人来不了我们这儿一样,我们也到不了任何外星存在。

我们今天连太阳系都没有走出去,没有在太阳系的任何一个行星上殖民,所以移民外星根本不是出路。

3 浪漫的流星雨展示

浪漫的流星雨

4 Python代码

  1. def bgpic(self, picname=None):
  2. """Set background image or return name of current backgroundimage.
  3. Optional argument:
  4. picname -- a string, name of a gif-file or "nopic".
  5. If picname is a filename, set the corresponding image as background.
  6. If picname is "nopic", delete backgroundimage, if present.
  7. If picname is None, return the filename of the current backgroundimage.
  8. Example (for a TurtleScreen instance named screen):
  9. >>> screen.bgpic()
  10. 'nopic'
  11. >>> screen.bgpic("landscape.gif")
  12. >>> screen.bgpic()
  13. 'landscape.gif'
  14. """
  15. if picname is None:
  16. return self._bgpicname
  17. if picname not in self._bgpics:
  18. self._bgpics[picname] = self._image(picname)
  19. self._setbgpic(self._bgpic, self._bgpics[picname])
  20. self._bgpicname = picname
  21. # coding: utf-8
  22. import pygame
  23. import os
  24. import sys
  25. from pygame.locals import *
  26. os.chdir('E:/星空下的告白')
  27. os.getcwd()
  28. pygame.init()
  29. pygame.mixer.init()
  30. pygame.mixer.music.load("星空之美.mp3")
  31. # pygame.mixer.music.set_volume(0.4)
  32. pygame.mixer.music.play()
  33. bg_size = width, height = 300, 200
  34. bg_rgb = (255, 255, 255)
  35. screen1 = pygame.display.set_mode(bg_size)
  36. pygame.display.set_caption("告白音乐")
  37. clock = pygame.time.Clock()
  38. pause_rect = pause_image.get_rect()
  39. print(pause_rect.width, pause_rect.height)
  40. pause_rect.left, pause_rect.top = (width - pause_rect.width) // 2, (height - pause_rect.height) // 2
  41. from turtle import *
  42. from random import random, randint
  43. os.chdir('E:星空下的告白')
  44. screen = Screen()
  45. width, height = 900, 700
  46. screen.setup(width, height)
  47. screen.title("浪漫的流星雨")
  48. screen.bgcolor("black")
  49. screen.mode("logo")
  50. screen.delay(0)
  51. printer = Turtle()
  52. printer.hideturtle()
  53. printer.penup()
  54. printer.color('red')
  55. printer.goto(-100, -350)
  56. printer.write("宇宙广阔(弱水三千)""\n\n", move=True, align="left", font=("Italic", 30, "bold"))
  57. printer.goto(-50, -400)
  58. printer.write("只寻你一颗!(只取一瓢饮!)\n\n", move=True, align="left", font=("Italic", 30, "bold"))
  59. t = Turtle(visible=False, shape='circle')
  60. t.pencolor("white")
  61. t.fillcolor("white")
  62. t.penup()
  63. t.setheading(-90)
  64. t.goto(width / 2, randint(-height / 2, height / 2))
  65. stars = []
  66. for i in range(300):
  67. star = t.clone()
  68. s = random() / 3
  69. if s > 0.01 and s < 0.03:
  70. star.pencolor("black")
  71. star.fillcolor("black")
  72. elif s > 0.03 and s < 0.04:
  73. star.pencolor("lightcoral")
  74. star.fillcolor("lightcoral")
  75. elif s > 0.05 and s < 0.1:
  76. star.pencolor("green")
  77. star.fillcolor("green")
  78. elif s > 0.15 and s < 0.16:
  79. star.pencolor("yellow")
  80. star.fillcolor("yellow")
  81. elif s > 0.19 and s < 0.2:
  82. star.pencolor("red")
  83. star.fillcolor("red")
  84. elif s > 0.21 and s < 0.22:
  85. star.pencolor("purple")
  86. star.fillcolor("purple")
  87. elif s > 0.29 and s < 0.3:
  88. star.pencolor("darkorange")
  89. star.fillcolor("darkorange")
  90. elif s > 0.31 and s < 0.32:
  91. star.pencolor("red")
  92. star.fillcolor("yellow")
  93. elif s > 0.32 and s < 0.33:
  94. star.pencolor("yellow")
  95. star.fillcolor("white")
  96. star.shapesize(s, s)
  97. star.speed(int(s * 30))
  98. star.setx(width / 2 + randint(1, width))
  99. star.sety(randint(-height / 2, height / 2))
  100. # star.showturtle()
  101. stars.append(star)
  102. i = 0
  103. pause = False
  104. while True:
  105. i += 0
  106. for star in stars:
  107. star.setx(star.xcor() - 3 * star.speed())
  108. if star.xcor() < -width / 2:
  109. star.hideturtle()
  110. star.setx(width / 2 + randint(1, width))
  111. star.sety(randint(-height / 2, height / 2))
  112. star.showturtle()
  113. if i >= 100:
  114. break
  115. # 查找队列事件
  116. for event in pygame.event.get():
  117. # 查找点击关闭窗口事件
  118. if event.type == QUIT:
  119. sys.exit
  120. # 查找鼠标左右击事件
  121. if event.type == MOUSEBUTTONDOWN:
  122. if event.button == 1:
  123. pause = not pause
  124. if event.button == 3:
  125. pause = not pause
  126. if event.type == KEYDOWN:
  127. if event.key == K_SPACE:
  128. pause = not pause
  129. screen1.fill(bg_rgb)
  130. if pause:
  131. pygame.mixer.music.pause()
  132. screen1.blit(pause_image, pause_rect)
  133. else:
  134. pygame.mixer.music.unpause()
  135. screen1.blit(play_image, pause_rect)
  136. pygame.display.flip()
  137. clock.tick(30)

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号