Python來寫一個(gè)童話故事
主題:冒險(xiǎn),
風(fēng)格:驚險(xiǎn),
人物:男孩,
地點(diǎn):海底。
循環(huán)遍歷魚列表中的每一條魚
for fish in fishes:
# 獲取男孩和魚的坐標(biāo)和距離
boy_x, boy_y = boy.position()
fish_x, fish_y = fish.position()
distance = ((boy_x - fish_x) ** 2 + (boy_y - fish_y) ** 2) ** 0.5
# 如果距離小于男孩和魚的大小之和,則表示碰撞發(fā)生了
if distance < (BOY_SIZE + FISH_SIZE) / 2:
# 播放一段音效,表示吃到了魚
winsound.PlaySound("eat.wav", winsound.SND_ASYNC)
# 增加分?jǐn)?shù),并更新計(jì)分板上的分?jǐn)?shù)顯示
score += SCORE_PER_FISH
update_score()
# 讓魚重新出現(xiàn)在隨機(jī)位置上
fish.goto(random.randint(-SCREEN_WIDTH / 2 + FISH_SIZE / 2, SCREEN_WIDTH / 2 - FISH_SIZE / 2), random.randint(-SCREEN_HEIGHT / 2 + FISH_SIZE / 2, SCREEN_HEIGHT / 2 - FISH_SIZE / 2))
定義一個(gè)函數(shù),用來讓男孩向左移動(dòng)
def move_left():
# 獲取男孩當(dāng)前的x坐標(biāo),并減去男孩的速度,得到新的x坐標(biāo)
x = boy.xcor() - BOY_SPEED
# 如果新的x坐標(biāo)小于屏幕左邊界加上男孩的大小的一半,則將新的x坐標(biāo)設(shè)置為屏幕左邊界加上男孩的大小的一半,防止男孩移出屏幕
if x < -SCREEN_WIDTH / 2 + BOY_SIZE / 2:
x = -SCREEN_WIDTH / 2 + BOY_SIZE / 2
# 讓男孩移動(dòng)到新的x坐標(biāo)和原來的y坐標(biāo)上
boy.goto(x, boy.ycor())
定義一個(gè)函數(shù),用來讓男孩向右移動(dòng)
def move_right():
# 獲取男孩當(dāng)前的x坐標(biāo),并加上男孩的速度,得到新的x坐標(biāo)
x = boy.xcor() + BOY_SPEED
# 如果新的x坐標(biāo)大于屏幕右邊界減去男孩的大小的一半,則將新的x坐標(biāo)設(shè)置為屏幕右邊界減去男孩的大小的一半,防止男孩移出屏幕
if x > SCREEN_WIDTH / 2 - BOY_SIZE / 2:
x = SCREEN_WIDTH / 2 - BOY_SIZE / 2
# 讓男孩移動(dòng)到新的x坐標(biāo)和原來的y坐標(biāo)上
boy.goto(x, boy.ycor())
定義一個(gè)函數(shù),用來讓男孩向上移動(dòng)
def move_up():
# 獲取男孩當(dāng)前的y坐標(biāo),并加上男孩的速度,得到新的y坐標(biāo)
y = boy.ycor() + BOY_SPEED
# 如果新的y坐標(biāo)大于屏幕上邊界減去男孩的大小的一半,則將新的y坐標(biāo)設(shè)置為屏幕上邊界減去男孩的大小的一半,防止男孩移出屏幕
if y > SCREEN_HEIGHT / 2 - BOY_SIZE / 2:
y = SCREEN_HEIGHT / 2 - BOY_SIZE / 2
# 讓男孩移動(dòng)到原來的x坐標(biāo)和新的y坐標(biāo)上
boy.goto(boy.xcor(), y)
定義一個(gè)函數(shù),用來讓男孩向下移動(dòng)
def move_down():
# 獲取男孩當(dāng)前的y坐標(biāo),并減去男孩的速度,得到新的y坐標(biāo)
y = boy.ycor() - BOY_SPEED
# 如果新的y坐標(biāo)小于屏幕下邊界加上男孩的大小的一半,則將新的y坐標(biāo)設(shè)置為屏幕下邊界加上男孩的大小的一半,防止男孩移出屏幕
if y < -SCREEN_HEIGHT / 2 + BOY_SIZE / 2:
y = -SCREEN_HEIGHT / 2 + BOY_SIZE / 2
# 讓男孩移動(dòng)到原來的x坐標(biāo)和新的y坐標(biāo)上
boy.goto(boy.xcor(), y)
定義一個(gè)函數(shù),用來讓鯊魚自動(dòng)追逐男孩,并改變方向和速度
文章來源:http://www.zghlxwxcb.cn/news/detail-464052.html
def move_shark():
global SHARK_SPEED # 聲明SHARK_SPEED是全局變量,可以在函數(shù)內(nèi)部修改它的值
# 獲取鯊魚和男孩當(dāng)前的角度和距離(使用數(shù)學(xué)公式)
shark_angle = shark.towards(boy.position())
shark_distance = shark.distance(boy.position())
# 計(jì)算鯊魚需要轉(zhuǎn)動(dòng)多少度才能朝向男孩(使用數(shù)學(xué)公式)
angle_diff = (shark_angle - shark.heading()) % 360 - 180
# 如果角度差大于10度,則讓鯊魚轉(zhuǎn)動(dòng)10度,否則讓鯊魚轉(zhuǎn)動(dòng)角度差(使用if-else語句)
if abs(angle_diff) > 10:
shark.left(10 * angle_diff / abs(angle_diff))
else:
shark.left(angle_diff)文章來源地址http://www.zghlxwxcb.cn/news/detail-464052.html
到了這里,關(guān)于Python來寫一個(gè)童話故事的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!