• JS逆向
...

大佬们帮忙看看哪里出错了(自己找不出来o(╥﹏╥)o)

江306 2023-03-18 15:46:45
  1. import pygame #引用第三方的模块
  2. import random #随机产生数据对象
  3. import time
  4. from pygame.locals import *
  5. pygame.init()
  6. #实现飞机的显示,并且可以控制飞机的移动{面向对象}
  7. class Mypiane(object):
  8. def __init__(self,screen):
  9. #设置默认的窗口初始化
  10. self.screen=screen #进行初始化
  11. #飞机的默认位置
  12. self.x=200 #飞机的横坐标
  13. self.y=600 #飞机的纵坐标
  14. #生成飞机的图片对象
  15. self.myimagenaem='./picture(图片)/plane.png' #插入飞机图片
  16. self.image=pygame.image.load(self.myimagenaem) #加载飞机
  17. #存放子弹的列表
  18. self.Shebullet=[]
  19. pass
  20. def moveleft(self): #左移动
  21. if self.x>0:
  22. self.x-=5
  23. pass
  24. def moverigth(self): #右移动
  25. if self.x<400:
  26. self.x+=5
  27. pass
  28. def moveup(self): #上移动
  29. if self.y<640:
  30. self.y-=5
  31. def movedown(self): #下移动
  32. if self.y>0:
  33. self.y+=5
  34. def display(self): #显示飞机
  35. self.screen.blit(self.image,(self.x,self.y))
  36. #完善子弹的展示逻辑
  37. needlist=[]
  38. for itme in self.Shebullet:
  39. if itme.judge():
  40. needlist.append(itme)
  41. pass
  42. pass
  43. for i in needlist:
  44. self.Shebullet.remove(i)
  45. pass
  46. for itmeA in self.Shebullet:
  47. itmeA.display() #显示子弹的位置
  48. bullet.move() #让子弹进行移动下次显示时候会看到子弹在修改后的位置
  49. pass
  50. #发射子弹
  51. def shebullet(self):
  52. #创建一个新的子弹对象
  53. newshebullet=bullet(self.x,self.y,self.screen)
  54. self.Shebullet.append(newshebullet)
  55. pass
  56. pass
  57. #创建我方子弹
  58. class bullet(object):
  59. def __init__(self,x,y,screen):
  60. self.x=x+10
  61. self.y=y-20
  62. self.screen=screen
  63. self.image=pygame.image.load("./picture(图片)/780.png")
  64. pass
  65. def disply(self): #调用子弹并调整初始位置
  66. self.screen.blit(self.image,(self.x,self.y))
  67. pass
  68. def move(self): #设置子弹的速度
  69. self.y-=2
  70. pass
  71. def judge(self): #判断子弹是否越界
  72. if self.y<0:
  73. return True
  74. else:
  75. return False
  76. #创建敌方飞机
  77. class enemypiane(object):
  78. def __init__(self,screen):
  79. #默认设置一个方向
  80. self.direction="right"
  81. # 设置默认的窗口初始化
  82. self.screen = screen # 进行初始化
  83. # 飞机的默认位置
  84. self.x = 0 # 飞机的横坐标
  85. self.y = 0 # 飞机的纵坐标
  86. # 生成飞机的图片对象
  87. self.myimagenaem = './picture(图片)/enemy.png' # 插入飞机图片
  88. self.image = pygame.image.load(self.myimagenaem) # 加载飞机
  89. self.Shebullet=[]
  90. pass
  91. #显示敌方飞机以及位置子弹信息
  92. def display(self):
  93. self.screen.blit(self.image,(self.x,self.y))
  94. needlist = []
  95. for itme in self.Shebullet:
  96. if itme.judge():
  97. needlist.append(itme)
  98. pass
  99. pass
  100. for i in needlist:
  101. self.Shebullet.remove(i)
  102. pass
  103. for itmeA in self.Shebullet:
  104. itmeA.display() # 显示子弹的位置
  105. bullet.move() # 让子弹进行移动下次显示时候会看到子弹在修改后的位置
  106. pass
  107. pass
  108. #敌方飞机随机发射
  109. def shebullet(self):
  110. num=random.randint(1,51)
  111. if num==3:
  112. newbullet=enemybullet(self.x,self.y)
  113. self.Shebullet.append(newbullet)
  114. pass
  115. #敌方飞机移动,随机进行的
  116. def enemymove(self):
  117. if self.direction=="rigth":
  118. self.x+=10
  119. pass
  120. elif self.direction=="left":
  121. self.x-=10
  122. pass
  123. if self.x>450-49:
  124. self.direction="left"
  125. pass
  126. elif self.x<0:
  127. self.direction="rigth"
  128. pass
  129. #创建敌方子弹
  130. class enemybullet(object):
  131. def __init__(self, x, y, screen):
  132. self.x = x
  133. self.y = y +5
  134. self.screen = screen
  135. self.image = pygame.image.load("./picture(图片)/enemybullet.png")
  136. pass
  137. def disply(self): # 调用子弹并调整初始位置
  138. self.screen.blit(self.image, (self.x, self.y))
  139. pass
  140. def move(self): # 设置子弹的速度
  141. self.y += 2
  142. pass
  143. def judge(self): # 判断子弹是否越界
  144. if self.y >700 :
  145. return True
  146. else:
  147. return False
  148. #检测键盘
  149. def key_boaed(Myobj): #定义普通的函数用来控制检测的对象
  150. evention=pygame.event.get()
  151. for even in evention: # 从队列中获取事件,并从队列中删除该事件
  152. if even.type == QUIT: # 按下x退出窗口
  153. print("退出")
  154. exit() #结束一个进程
  155. pass
  156. elif even.type == KEYDOWN:
  157. if even.type == K_a or even.type == K_LEFT: # 键盘按下a健或者是左键
  158. print("left")
  159. Myobj.moveleft() #调用函数左移动
  160. pass
  161. elif even.type == K_d or even.type == K_RIGHT: # 键盘按下d健或者是右键
  162. print("right")
  163. Myobj.moverigth() #调用函数右移动
  164. pass
  165. elif even.type==K_w or even.type==K_UP:
  166. print("up")
  167. Myobj.moveup() #调用函数上移动
  168. pass
  169. elif even.type==K_s or even.type==K_DOWN:
  170. print("down")
  171. Myobj.down() #调用函数下移动
  172. pass
  173. elif even.type == K_SPACE: # #键盘按下空格键
  174. print("按下 space ,发射子弹")
  175. Myobj.Shebullet()
  176. # 更新显示的内容
  177. pygame.display.update() # 更新软件的显示部分
  178. pass
  179. def main():
  180. #首先创建一个窗口,用来显示内容
  181. screen=pygame.display.set_mode((450,700))#初始化窗口或者屏幕以供显示
  182. #设定一个背景图片对象
  183. background=pygame.image.load('./picture(图片)/background(背景).png')#设置图片大小加载图片
  184. #设置标题(title)
  185. pygame.display.set_caption("阶段总结飞机")#设置当前题目
  186. #添加背景音乐
  187. pygame.mixer.init() #初始化mixer(声音)模块
  188. pygame.mixer.music.load('./picture(图片)/backgroundmusic.mp3')#导入音乐加载音乐
  189. pygame.mixer.music.set_volume((0.2)) #设置音量。参数0~1之间的浮点数
  190. pygame.mixer.music.play(-1) #开始播放音乐(循环次数),默认是0,设置为-1可不确定的重复播放
  191. #载入飞机图片
  192. plane=Mypiane(screen) #加载我方飞机
  193. #加载敌方飞机对象
  194. enemy=enemypiane(screen)
  195. #设定需要显示的内容
  196. while True:
  197. screen.blit(background,(0,0)) #调用并显示居中
  198. plane.display() #调用并显示居中我方飞机
  199. enemy.display() #显示调用敌方飞机
  200. #获取键盘事件
  201. key_boaed(plane)
  202. #更新显示的内容
  203. pygame.display.update()#更新软件的显示部分
  204. pass
  205. if __name__=="__main__":
  206. main()

 

 执行出来:我方和敌方飞机不动,也不发射子弹,敲击键盘我方飞机不动

 

 

...全文
给本帖投票
398 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2023-05-03
  • 打赏
  • 举报
回复

函数key_boade的代码后面不要加

pass

应该能解决问题。
或者
把事件循环好好的放在游戏循环里

「已注销」 2023-05-03
  • 举报
回复
@「已注销」 写错了,是key_boaed函数!!!
shaoyouhao 2023-03-22
  • 打赏
  • 举报
回复

这个没必要弄, 没有意义,

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧

手机看
关注公众号

关注公众号

客服 返回
顶部