Я следую руководству по созданию клона Галага, и после завершения создания генератора врагов я попытался запустить его и получил ошибку ValueError, в которой говорится следующее:
"пустой диапазон в randrange(0,-131).
Я не знаю, что не так, так как я следовал руководству в точности, и там это сработало.
Я пробовал пересматривать и проверять на опечатки, но ничего.
Основной код:
import pygame
from ship import Ship
import constants as c
from background import BG
from enemy_spanner import EnemySpanner
#Display setup
display = pygame.display.set_mode(c.DISPLAY_SIZE)
fps = 60
clock = pygame.time.Clock()
black = (0,0,0)
#Object setup
bg = BG()
player = Ship()
bg_group = pygame.sprite.Group()
bg_group.add(bg)
sprite_group = pygame.sprite.Group()
sprite_group.add(player)
enemy_spanner = EnemySpanner()
running = True
while running:
clock.tick(fps) #Tick clock
#Handle events
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
player.velocity_x = player.speed
elif event.key == pygame.K_LEFT:
player.velocity_x = -player.speed
if event.key == pygame.K_SPACE:
player.shoot()
if event.type == pygame.KEYUP:
if event.key == pygame.K_RIGHT:
player.velocity_x = 0
elif event.key == pygame.K_LEFT:
player.velocity_x = 0
#Update all the objects
sprite_group.update()
bg_group.update()
enemy_spanner.update()
#Render the display
display.fill(black)
bg_group.draw(display)
sprite_group.draw(display)
player.bullets.draw(display)
enemy_spanner.enemy_group.draw(display)
pygame.display.update()
Код вражеского Spanwer:
import pygame
from enemy import Enemy
import random
class EnemySpanner:
def __init__(self):
self.enemy_group = pygame.sprite.Group()
self.spawn_timer = random.randrange(30,120)
def update(self):
self.enemy_group.update()
if self.spawn_timer == 0:
self.spawn_enemy()
self.spawn_timer = random.randrange(30,120)
else:
self.spawn_timer -= 1
def spawn_enemy(self):
new_enemy = Enemy()
self.enemy_group.add(new_enemy)
Подробнее здесь: https://stackoverflow.com/questions/793 ... mpty-range
Игра Galaga в Pygame не запускается из-за пустого диапазона ⇐ Python
Программы на Python
-
Anonymous
1735958510
Anonymous
Я следую руководству по созданию клона Галага, и после завершения создания генератора врагов я попытался запустить его и получил ошибку ValueError, в которой говорится следующее:
"пустой диапазон в randrange(0,-131).
Я не знаю, что не так, так как я следовал руководству в точности, и там это сработало.
Я пробовал пересматривать и проверять на опечатки, но ничего.
Основной код:
import pygame
from ship import Ship
import constants as c
from background import BG
from enemy_spanner import EnemySpanner
#Display setup
display = pygame.display.set_mode(c.DISPLAY_SIZE)
fps = 60
clock = pygame.time.Clock()
black = (0,0,0)
#Object setup
bg = BG()
player = Ship()
bg_group = pygame.sprite.Group()
bg_group.add(bg)
sprite_group = pygame.sprite.Group()
sprite_group.add(player)
enemy_spanner = EnemySpanner()
running = True
while running:
clock.tick(fps) #Tick clock
#Handle events
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
player.velocity_x = player.speed
elif event.key == pygame.K_LEFT:
player.velocity_x = -player.speed
if event.key == pygame.K_SPACE:
player.shoot()
if event.type == pygame.KEYUP:
if event.key == pygame.K_RIGHT:
player.velocity_x = 0
elif event.key == pygame.K_LEFT:
player.velocity_x = 0
#Update all the objects
sprite_group.update()
bg_group.update()
enemy_spanner.update()
#Render the display
display.fill(black)
bg_group.draw(display)
sprite_group.draw(display)
player.bullets.draw(display)
enemy_spanner.enemy_group.draw(display)
pygame.display.update()
Код вражеского Spanwer:
import pygame
from enemy import Enemy
import random
class EnemySpanner:
def __init__(self):
self.enemy_group = pygame.sprite.Group()
self.spawn_timer = random.randrange(30,120)
def update(self):
self.enemy_group.update()
if self.spawn_timer == 0:
self.spawn_enemy()
self.spawn_timer = random.randrange(30,120)
else:
self.spawn_timer -= 1
def spawn_enemy(self):
new_enemy = Enemy()
self.enemy_group.add(new_enemy)
Подробнее здесь: [url]https://stackoverflow.com/questions/79328147/galaga-game-in-pygame-not-running-due-to-an-empty-range[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия