导弹发射小游戏

# 导弹发射小游戏完整源代码

# Designed by Mcoblack 公众号pythonwanyuxue

import turtle

import random

# 设置屏幕画布的大小背景

wn = turtle.Screen()

wn.setup(600, 600)

wn.bgcolor('black')

wn.bgpic("stars.gif")

# 变量

TARGET_LLEFT_X = 100    # 目标的X坐标

TARGET_LLEFT_Y = 250    # 目标的Y坐标

TARGET_WIDTH = 25      # 目标方块的宽度

FORCE_FACTOR = 30      # 力量因数

PROJECTILE_SPEED = 1    # 导弹速度

NORTH = 90              # 正北的角度

SOUTH = 270            # 正南的角度

EAST = 0                # 正东的角度

WEST = 180              # 正西的角度

# 画导弹要击中的正方形目标

a = turtle.Turtle()

a.hideturtle()

a.speed(0)

a.penup()

a.goto(TARGET_LLEFT_X, TARGET_LLEFT_Y)

a.pendown()

a.fillcolor('orange')

a.begin_fill()

a.pencolor('yellow')

for dir in [EAST,NORTH,WEST,SOUTH]:

a.setheading(dir)

a.forward(TARGET_WIDTH)

a.end_fill()

a.penup()

# 画一批星形.

a.pencolor('white')

def stars(turtle):

turtle.speed(0)

turtle.up()

x = random.randint(-300,400)

y = random.randint(-300,300)

turtle.goto(x,y)

turtle.down()

turtle.dot()

for i in range(50):

stars(a)

# 画个星球

a.pencolor('black')

a.goto(-129, -270)

a.pendown()

a.fillcolor('green')

a.begin_fill()

a.circle(25)

a.end_fill()

a.penup()

# 再画个星球

a.pencolor('black')

a.goto(-200, 200)

a.pendown()

a.fillcolor('blue')

a.begin_fill()

a.circle(30)

a.end_fill()

a.penup()

# 再画个星球

a.pencolor('black')

a.goto(275, -150)

a.pendown()

a.fillcolor('brown')

a.begin_fill()

a.circle(30)

a.end_fill()

a.penup()

# Draw the ship.

a.pencolor('black')

a.goto(-34, -16)

a.pendown()

a.fillcolor('gray')

a.begin_fill()

a.circle(25)

a.end_fill()

a.penup()

a.goto(-15, -2)

a.pendown()

a.fillcolor('black')

a.begin_fill()

a.circle(10)

a.end_fill()

a.penup()

a.goto(-35,-13)

a.pendown()

a.pencolor('black')

a.setheading(0)

a.forward(55)

a.penup()

# 目标物体写几个字

a.goto(135,270)

a.pendown()

a.pencolor('white')

a.write("That's Something!")

a.penup()

# 显示导弹

a.goto(0, 0)

a.setheading(EAST)

a.pencolor('red')

a.showturtle()

a.speed(PROJECTILE_SPEED)

print()

print('目标指向方形物体,发射导弹击中目标')

print('祝你好运!')

active = True

while active:

a_angle = input("输入导弹角度: ")

f_force = input("输入导弹的力度(1-10): ")

if a_angle == "" and f_force == "":

active = False

else:

angle =float(a_angle)

force = float(f_force)

distance = force * FORCE_FACTOR

a.setheading(angle)

a.pendown()

a.forward(distance)

if (a.xcor() >= TARGET_LLEFT_X and

a.xcor() <= (TARGET_LLEFT_X + TARGET_WIDTH) and

a.ycor() >= TARGET_LLEFT_Y and

a.ycor() <= (TARGET_LLEFT_Y + TARGET_WIDTH)):

print('击中目标!')

active = False

elif (angle > 70):

print('再小一点点角度!')

a.undo()

elif (angle < 63):

print('再大一点角度!')

a.undo()

elif (angle == 70 and force == 10):

print('你射过头了!')

print('试着再小点角度,小点力度!')

a.undo()

elif (angle == 70 and force <= 9):

print('好近哦!')

print('再小点角度!')

a.undo()

elif (angle == 70 and force <= 7):

print('小点角度,更多力度!')

a.undo()

elif (angle == 69 and force == 10):

print('射过头了!')

print('稍微小点角度,小点力度!')

a.undo()

elif (angle == 69 and force <= 9):

print('有点短有点歪')

print('再稍小点角度试试!')

a.undo()

elif (angle == 68 and force == 10):

print('刚射过头一丢丢儿!')

print('再小点力度')

a.undo()

elif (angle == 68 and force <= 8):

print('力度太小!')

print('大点力度!')

a.undo()

elif (angle == 67 and force == 10):

print('你射过头了!')

print('更小的力度,合适的角度')

a.undo()

elif (angle == 67 and force <= 9):

print('好近哦!')

print('试试更大力度,合适的角度!')

a.undo()

elif (angle == 66 and  force <= 9):

print('方向不错!')

print('试着大点力度!')

a.undo()

elif (angle == 65 and force == 10):

print('你射过头了!')

print('大点角度小点力度!')

a.undo()

elif (angle == 65 and  force <= 9 and  force >= 8):

print('好近哦,马上快成功了!')

print('试试更大点的角度和力度!')

a.undo()

elif (angle == 65 and force <= 7):

print('试试更大点的角度和力度!')

a.undo()

elif (angle == 64 and force == 10):

print('你射过头了!')

print('Try a bit more angle and less force!')

a.undo()

elif (angle == 64 and  force <= 9 and  force >= 8):

print('So close!')

print('Try more angle and more force!')

a.undo()

elif (angle == 64 and force <= 7):

print('Try more angle and more force!')

a.undo()

elif (angle == 63 and force == 10):

print('You overshot!')

print('Try a bit more angle and less force!')

a.undo()

elif (angle == 63 and force <= 9 and  force >= 8):

print('So close!')

print('Try more angle and more force!')

a.undo()

elif (angle == 63 and force <= 7):

print('Try more angle and more force!')

a.undo()

else:

print('You missed the target.')

a.undo()

python小游戏源码-导弹发射小游戏——Python源代码相关推荐

  1. 娱乐小游戏助力神器威信小程序源码下载多种游戏选择玩法多种

    大家好今天给大家带来另外一款小神器 好像记得小编之前也发过好几款这种小程序源码吧 但是每一款的UI或者功能什么的都还是会有所不一样的 大家也可以找找之前所发的那几款对比一下然后决定自己需要哪一款哟 这 ...

  2. 小程序源码:喝酒娱乐小游戏助力神器微信小程序源码下载多种游戏选择玩法多种

    大家好今天给大家带来另外一款喝酒小神器 好像记得小编之前也发过好几款这种小程序源码吧 但是每一款的UI或者功能什么的都还是会有所不一样的 大家也可以找找之前所发的那几款对比一下然后决定自己需要哪一款哟 ...

  3. 喝酒娱乐小游戏助力神器微信小程序源码下载多种游戏选择玩法多种

    大家好今天给大家带来另外一款喝酒小神器 好像记得小编之前也发过好几款这种小程序源码吧 但是每一款的UI或者功能什么的都还是会有所不一样的 大家也可以找找之前所发的那几款对比一下然后决定自己需要哪一款哟 ...

  4. 【小程序源码】小游戏神器新UI版本带特效和音效,缩减版本微信小程序源码下载

    这是一款也是自带音效和特效的微信小程序源码 由多个小游戏组合而成,具体如下: 大话骰(带音效) 愤怒大叔(带音效,多个皮肤模板用户可选择) 指尖轮盘(带音效特效) 剪刀石头布(带音效特效) 789骰子 ...

  5. 天鹅城理财游戏源码,天鹅湖游戏拆分源码

    天鹅城理财游戏,天鹅湖游戏拆分:天鹅湖项目,免费送天鹅了0lu!相信这两天不少做互联网项一.天鹅注册需要330元,注册后游戏里会有300只天鹅,玩家需要每天手动收获鹅蛋,收获的鹅蛋可以卖出也可以孵化成 ...

  6. java swing游戏源码-宇宙战争游戏,Java飞船射击游戏

    原文:java swing游戏源码-宇宙战争游戏,Java飞船射击游戏 源代码下载地址: http://www.zuidaima.com/share/1880717151603712.htm 一个基于 ...

  7. 大商创小程序源码_小程序直播系统有哪些基本功能

    小程序直播系统源码能够构建出高品质的直播平台,现如今较为流行的"直播间+电商.""直播间+教育"等新型的"直播间+"等多元化的直播间方向都不 ...

  8. 2021最新壁纸小程序源码 壁纸小程序已去授权

    2021最新壁纸小程序暗黑系列可流量主收益.高清壁纸小程序 [源码说明] 本小程序系在wordpress+酱茄基础上进行的二开,后台使用wordpress+二开插件,前端为微信小程序原生代码,页面美观 ...

  9. 600多个微信小程序源码_C2CQQ小程序源码

    C2CQQ小程序源码 rtgds5f C2CQQ小程序源码 的人都知道,建设需要有域名..源码,站建设成功,所以,,站时,有的自己会备有域名和,来购买,这两者都可以的,看自己的选择,当然,站选择一个好 ...

最新文章

  1. 什么是 MIME Type
  2. MFC80.DLL复制到程序目录中,也有的说复制到安装目录中
  3. ffmpeg 同宽度 画中画_FFmpeg中overlay滤镜用法-水印及画中画
  4. 酱茄社区论坛圈子小程序pro更新与WordPress开源版小程序下载
  5. 绝对免费搭建不限速私人网盘5T存储空间:Gearhost免费空间+OneIndex程序+Onedrive免费账号
  6. 丁腈橡胶自然老化时间_丁腈橡胶自然贮存老化及寿命研究
  7. 对电化学极化曲线(LSV/Tafel)的数据进行自动化处理并可视化作图/画图(科研投稿)
  8. 解决linux系统网络时常断开的问题
  9. 并发--生产者消费者模式
  10. UPDATE和DELETE
  11. php mcrypt模块,PHP模块mcrypt模块安装
  12. 玉环市礁门塘除险加固工程水闸扩建设计
  13. 1.1 HTML 基础
  14. 电子商务的概念及定义
  15. ll卸载mysql出现2503_Win10系统安装/卸载itunes出现代码2502/2503错误
  16. hp520 驱动下载 地址 顺序 安装
  17. 无节制消费的元凶——总结
  18. Ext.form.ComboBox 属性详解及使用方法介绍和级联使用
  19. 哈工大威海计算机科学与技术好不好,哈尔滨工业大学威海校区和西电比哪个计算机专业好...
  20. 2680 争渡(递推)

热门文章

  1. stm32非操作系统开发和带uCos的开发的区别,及一些解析
  2. MongoDB中_id(ObjectId)生成
  3. SQL 数据库 存储过程 视图
  4. javaweb基础(35)_jdbc处理oracl大数据
  5. Backlog和冲刺结果以及产品Demo市场调研
  6. Tom Ryaboi
  7. 00设计模式——指导规则
  8. 教你修改Linux下高并发socket最大连接数所受的各种限制
  9. 解决远程登录MYSQL数据库
  10. jQuery 1.9+ ajaxStart事件无效,无法被触发的原因。