趣玩Python之《射箭》篇

今天我们用Python来模拟射箭。箭射出后,系统判定中了几环,并显示在屏幕上。
程序分为三个部分:
(1)箭靶设置
(2)射箭过程
(3)成绩判断
效果图如下:


《射箭》效果图

完成代码如下:

from turtle import *
import random
import math
#箭靶设置
speed(0)
hideturtle()
penup()
goto(0,-10)
pendown()
circle(10)
penup()
goto(0,-20)
pendown()
circle(20)
penup()
goto(0,-40)
pendown()
circle(40)
penup()
goto(0,-70)
pendown()
circle(70)
penup()
goto(0,-110)
pendown()
circle(110)
penup()
goto(0,-160)
pendown()
circle(160)

#射箭过程
penup()
goto(-600,-600)
showturtle()
speed(5)
pendown()
myx=random.randint(-160,160)
myy=random.randint(-160,160)
goto(myx,myy)
dis=math.sqrt(myx**2+myy**2)
#print(myx,myy,dis)

#成绩判断
if dis<10:
    write('10环')
elif dis>10 and dis<=20:
    write('9环')
elif dis>20 and dis<=40:
    write('8环')
elif dis>40 and dis<=70:
    write('7环')
elif dis>70 and dis<=110:
    write('6环')
elif dis>110 and dis<=160:
    write('5环')
else:
    write('没有射中箭靶')
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 已下大部分内容参考于:Objective-C Runtime杨萧玉的博客 Objective-C Runtime深...
    dyouknow阅读 579评论 0 2
  • 可能我们多数人都有读书的习惯,但是读书过程中有带着目的性去读吗?还是就一味的读下去,随随便便的翻翻看呢?读了奥野宣...
    筱天大大阅读 437评论 2 8
  • 信号的周期加大,对振幅的收敛性没有影响,会使信号的密度增加。实信号的幅度是偶函数,相位是奇函数实信号具有共轭对称的...
    快乐的大脚aaa阅读 579评论 0 0
  • 很多人认为,封面并不是一份个人简历必须含有的部分,其实并不假,对于一些工作量比较繁重的HR们来说,他们希望过目的简...
    ll鲸鱼阅读 4,877评论 0 0