我用PyGame模块在Python中创建了一个太空入侵者克隆,但是当它们到达游戏屏幕的边缘时,我遇到了一些困难。在

当外星人到达游戏屏幕的边缘时,他们会同时改变方向并下降一个关卡?在import pygame

import random

class spaceInvader(pygame.sprite.Sprite):

def __init__(self):

self.image = pygame.image.load("spaceInvader.png")

self.x = 200

self.y = 390

self.shots = []

def handle_keys(self):

key = pygame.key.get_pressed()

dist = 5

if key[pygame.K_RIGHT]:

self.x+=dist

elif key[pygame.K_LEFT]:

self.x-=dist

def draw(self, surface):

surface.blit(self.image,(self.x,self.y))

for s in self.shots:

s.draw(screen)

class Alien(pygame.sprite.Sprite):

def __init__(self,x,y,direction,alienType):

pygame.sprite.Sprite.__init__(self)

self.AlienType = alienType

self.Direction = direction

if alienType == 1:

alienImage = pygame.image.load("alien1.png")

self.Speed = 1

self.Score = 5

if alienType == 2:

alienImage = pygame.image.load("alien2.png")

self.Score = 15

self.Speed = 1

if alienType == 3:

alienImage = pygame.image.load("alien3.png")

self.Score = 10

self.Speed = 1

if alienType == 4:

alienImage = pygame.image.load("alien4.png")

self.Score = 20

self.Speed = 1

if alienType == 5:

alienImage = pygame.image.load("alien5.png")

self.Score = 25

self.Speed = 1

self.image = pygame.Surface([26, 50])

self.image.set_colorkey(black)

self.image.blit(alienImage,(0,0))

self.rect = self.image.get_rect()

self.rect.x = x

self.rect.y = y

def moveAliens(self):

if self.Direction == "right":

self.rect.x += self.Speed

if self.Direction == "left":

self.rect.x -= self.Speed

pygame.init()

pygame.mouse.set_visible(False)

screen = pygame.display.set_mode([400,400])

allAliens = pygame.sprite.Group()

spaceInvader = spaceInvader()

pygame.display.set_caption("Space Attack")

background_image = pygame.image.load("Galaxy.png").convert()

pygame.mouse.set_visible(True)

done = False

clock = pygame.time.Clock()

black =( 0, 0, 0)

white =( 255,255,255)

red = (255, 0, 0)

score = 0

enemies = []

#For X coords

spawnPositions = [50,100,150,200,250,300,350]

yCoord = 10

for n in range(5):

for i in range(len(spawnPositions)):

xCoord = spawnPositions[i]

alienType = random.randint(1,5)

alien = Alien(xCoord, yCoord,"right", alienType)

allAliens.add(alien)

yCoord = yCoord + 15

loop = 0

while done == False:

for event in pygame.event.get():

if event.type == pygame.QUIT:

done = True

for alien in (allAliens.sprites()):

if alien.rect.x < 0:

alien.rect.y = alien.rect.y + 15

alien.Direction = "right"

if alien.rect.x > 395:

alien.rect.y = alien.rect.y + 15

alien.Direction = "left"

loop =+1

for alien in (allAliens.sprites()):

alien.moveAliens()

spaceInvader.handle_keys()

screen.blit(background_image,[0,0])

spaceInvader.draw(screen)

allAliens.draw(screen)

pygame.display.flip()

clock.tick(20)

pygame.quit()

谢谢。在

python如何让外星人随机移动_太空入侵者游戏让外星人一起移动相关推荐

  1. python:实现Space Invader太空入侵者游戏(附完整源码)

    python:实现Space Invader太空入侵者游戏 import pygame import random import math from pygame import mixer# init ...

  2. Python编程:打造太空入侵者游戏(含完整源码)

    Python编程:打造太空入侵者游戏(含完整源码) 太空入侵者这款游戏经典得让人不能忘怀,而Python语言的简单易学.快速开发的特性,使其成为实现该游戏的最好选择.在本篇文章中,我们将为读者呈现如何 ...

  3. 树莓派zero玩JAVA游戏,用树莓派编写“太空入侵者”游戏教程,这个元旦简单太爽了……...

    几乎人人都玩过太空入侵者,这款游戏还可能是有些人玩的第一个电脑游戏. 这个"太空入侵者"游戏模式需要相当多的不同编码技术才能完成.一直以来,当人们需要学习一种新的编码语言,常常会写 ...

  4. 太空入侵者游戏(VC++)

    太空入侵者游戏 转载请注明出处 本文章的下载地址,请单击此链接 入侵者是一个简单的射击游戏.游戏运行的初始界面如图3.14所示,游戏的战斗场面如图3.15所示. 图3.14入侵者程序初始运行图 图3. ...

  5. python在范围内随机偏移_偏移随机森林分类器scikit学习

    我用python编写了一个程序,使用机器学习算法对数据进行预测.我使用Scikit Learn的函数RandomForestClassifier创建一个随机林来进行预测.在 这个程序的目的是预测未知的 ...

  6. python 从列表中随机选择_使用条件Python从列表中随机选择

    我在一个列表中创建了一个笛卡尔积,现在我想随机取出4个不同的元组(我在文章末尾尝试过).在shape = ['triangle' , 'square' , 'circle' , 'cross'] co ...

  7. python画布按钮颜色随机切换_我想让每次点换颜色按钮换一个随机色,该怎么写?...

    源自:4-1 编程挑战 我想让每次点换颜色按钮换一个随机色,该怎么写? javascript body{font-size:12px;} #txt{ height:400px; width:600px ...

  8. python飞机大战子弹不显示_飞机大战游戏 飞机打出一发子弹后就不出现子弹了...

    马上注册,结交更多好友,享用更多功能^_^ 您需要 登录 才可以下载或查看,没有帐号?立即注册 x # main.py import pygame import sys import tracebac ...

  9. python贪吃蛇的实验报告_贪吃蛇游戏课程设计实验报告

    DOC 可编辑修改 -------- 为你整理各种最新最全办公范文 -------- 双击可以删除 爱心 --- 用心 --- 恒心 贪吃蛇游戏课程设计实验报告 辽 宁 科 技 大 学 课程设计说明书 ...

最新文章

  1. 2022年了,PyTorch和TensorFlow选哪个?
  2. chgrp r mysql ._mysql操作命令
  3. zip unzip 命令
  4. sourceInsight4 破解笔记(完美破解)
  5. 补贴背后的商业竞争,你真的懂吗?
  6. python str 换行_Python学习之路(1)
  7. bootstrap 图片轮询_消息通知功能之前端Ajax定时轮询_后端接口获取数据一
  8. 四参数坐标转换c++_GPSRTK坐标转换及四参数、七参数适用条件
  9. ICIP2012 关于Saliency Map的文章
  10. java midlet 是什么_编译JAVA游戏,MIDlet出错,急求大家帮助
  11. 2022电工(中级)考试模拟100题模拟考试平台操作
  12. 《统计学》第八版贾俊平第十三章时间序列分析和预测知识点总结及课后习题答案
  13. vbs脚本打开web窗口隐藏地址栏和工具栏
  14. 用php打印出日历_php简单日历实现程序代码
  15. 一般意义的resolution地图分辨率和比例尺理解
  16. Bootstrap注册页面模板
  17. 关闭QQ弹出的腾讯网迷你版
  18. 数据库mongodb效率测试
  19. IDEA更换背景图片
  20. PHP审计-RIPS

热门文章

  1. 用OpenSSL做自签名的证书(by quqi99)
  2. 【毕业设计】单片机家用燃气的可视化实时监控报警仪 - 物联网 嵌入式 stm32
  3. 8月图书畅销榜:经典书霸屏,AI持续火爆《深度学习》拔头筹
  4. 教你查询快递单号物流,并筛选已签收还有的物流单号
  5. English语法_反身代词
  6. android pmem内存,android内存管理-ION/PMEM【转】
  7. 语言-英语-英国英语:英国英语
  8. JavaScript 秘密花园 http://bonsaiden.github.com/JavaScript-Garden/zh/
  9. 多个excel工作簿汇总,同一工作簿中sheets合并
  10. 工程伦理(笔记)第二章