"unexpected argument"
Quentin Bock
qberz2005 at gmail.com
Tue Mar 9 15:03:54 EST 2021
Error 1:
Space Invaders.py:90: SyntaxWarning: "is" with a literal. Did you mean "=="?
if bullet_state is "fire":
Error 2:
line 66, in <module>
if event.key == pygame.K_SPACE:
AttributeError: 'Event' object has no attribute 'key'
Code:
import pygame
import random
# Space Invaders!
background = pygame.image.load('space_invader_background.png')
# Title and Icon
pygame.display.set_caption ("Space Invaders")
icon = pygame.image.load ('space-invaders.png')
pygame.display.set_icon (icon)
# Player
player_Image = pygame.image.load ('player.png')
player_X = 370
player_Y = 480
player_X_change = 0
# Enemy
enemy_Image = pygame.image.load ('invader_enemy.png.')
enemy_X = random.randint(0, 800)
enemy_Y = random.randint(50, 150)
enemy_X_change = 5
enemy_Y_change = 35
# Bullet
bullet_Image = pygame.image.load ('bullet.png')
bullet_X = 0
bullet_Y = 480
bullet_X_change = 0
bullet_Y_change = 10
bullet_state = "ready"
def player(x, y):
screen.blit (player_Image, (x, y))
def enemy(x, y):
screen.blit (enemy_Image, (x, y))
def fire_bullet():
global bullet_state
bullet_state = "fire"
screen.blit(bullet_Image, (x + 16, y + 10))
# Game Loop
pygame.init()
screen = pygame.display.set_mode ((800, 600))
running = True
while running:
screen.fill ((0, 0, 0))
screen.blit(background, (0, 0))
for event in pygame.event.get ():
if event.type == pygame.QUIT:
running = False
# Check whether keystroke is being pressed
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
player_X_change = -6
if event.key == pygame.K_RIGHT:
player_X_change = 6
if event.key == pygame.K_SPACE:
fire_bullet(player_X, bullet_Y)
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
player_X_change = 0
#Player Movement and Boundaries
player_X += player_X_change
if player_X <= 0:
player_X = 0
elif player_X >= 736:
player_X = 736
#Enemy Movement and Boundaries
enemy_X += enemy_X_change
if enemy_X <= 0:
enemy_X_change = 4
enemy_Y += enemy_Y_change
elif enemy_X >= 736:
enemy_X_change = -4
enemy_Y += enemy_Y_change
# Bullet Movement
if bullet_state == "fire":
fire_bullet(player_X, bullet_Y)
bullet_Y -= bullet_Y_change
player(player_X, player_Y)
enemy(enemy_X, enemy_Y)
pygame.display.update()
Why is it saying unexpected argument?
Youtube Tutorial I'm Following:
https://www.youtube.com/watch?v=FfWpgLFMI7w
More information about the Python-list
mailing list