import random
import pygame
# 流星類
class star(object):
"""用於指定流星的位置,移動向量,星尾長度"""
def __init__(self, point, screen, all_speed):
self.startx = point[0]
self.starty = point[1]
screen_rect = screen.get_rect() # 獲得螢幕矩形
self.speed_x = (self.startx - screen_rect.centerx) / 25 * all_speed[speed_index] # 水平方向速度設定
self.speed_y = (self.starty - screen_rect.centery) / 25 * all_speed[speed_index] # 豎直方向速度設定
self.end_x = self.startx + self.speed_x * 5 # 星尾
self.end_y = self.starty + self.speed_y * 5 # 星尾
self.color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
def blitme(self):
pygame.draw.aaline(screen, self.color, (star.startx, star.starty), (star.end_x, star.end_y), 100) # 繪製流星軌跡
# 螢幕上流星檢測
def on_screen(point):
if 0 < point[0] < 1600 and 0 < point[1] < 900 and not(point[0] == 800 and point[1] == 450):
return point
# 初始化設定
pygame.init()
screen = pygame.display.set_mode((1600, 900))
screen_rect = screen.get_rect()
points = # 用於儲存流星的點集
for i in range(10): # 生成十顆流星
point = [random.randint(600, 1000), random.randint(250, 650)]
# 全域性速度(加速和反向加速)
n = 0
all_speed =
speed_index = 0 # 全域性速度列表索引
while n < 1000:
i = n/100
n += 1
# 主迴圈
while true:
for event in pygame.event.get():
if event.type== pygame.quit:
pygame.quit()
exit()
screen.fill(0)
pygame.time.clock().tick(96)
if speed_index < 999:
speed_index += 1 # 速度加快
else:
speed_index = 0
all_speed.reverse() # 反向加速
# 新增一顆流星
point1 = [random.randint(600, 1000), random.randint(250, 650)]
# 畫流星
for point in points:
star = star(point, screen, all_speed)
star.blitme()
# 流星移動
point[0] = star.startx + star.speed_x # 崩潰的電腦
point[1] = star.starty + star.speed_y # 崩潰的電腦
points = list(filter(on_screen, points)) # 記憶體控制
pygame.display.update()
"""1、隨機座標的生成和儲存
2、流星類
3、流星速度控制
4、星尾長度
5、幀率控制
6、記憶體管理
7、全域性速度控制
"""
星際穿越 數學
航天飛行器是一項複雜而又精密的儀器,飛行器的損耗主要集中在發射和降落的過程,科學家根據實驗資料估計,如果在發射過程中,產生了 x 程度的損耗,那麼在降落的過程中就會產生 x 2程度的損耗,如果飛船的總損耗超過了它的耐久度,飛行器就會 墜毀。問一艘耐久度為 h 的飛行器,假設在飛行過程中不產生損耗,那...
64 星際穿越
個人水平有限,請見諒!航天飛行器是一項複雜而又精密的儀器,飛行器的損耗主要集中在發射和降落的過程,科學家根據實驗資料估計,如果在發射過程中,產生了 x 程度的損耗,那麼在降落的過程中就會產生 x2 程度的損耗,如果飛船的總損耗超過了它的耐久度,飛行器就會 墜毀。問一艘耐久度為 h 的飛行器,假設在飛...
星際穿越原理
時間流逝很快 如何穿越未來 穿越蟲洞,或者進入扭曲空間 從a點通過彎曲的空間飛到b點,這時候是會超越平面空間的光速 然後這樣你已經用幾小時的功夫,別人已經老了若干年 相對於你來說,你的時間並沒有變長,你依然是大概活100歲 相對於別人來說,別人的時間過得很快,所以會顯得比你老若干歲 而你的時間,中間...