python零基础入门的小游戏。

新手上路,请多包涵

报错。

import sys

import pygame

from settings import Settings
from ship import Ship

def run_game():

#初始化游戏并创建一个屏幕对象
pygame.init()
ai_settings=Settings()

screen=pygame.display.set_mode(
    (ai_settings.screen_width,ai_settings,screen_height))
pygame.display.set_caption("Alien Invasion")

#创建一艘飞船
ship=Ship(screen)

#开始游戏的主循环
while True:

    #每次循环时都重绘屏幕
    screen.fill(ai_settings.bg_color)
    ship_blitme()

    #让最近绘制的屏幕可见
    pygame.display.flip()

run_game()

class Settings():

"""储存{外星人入侵}的所有类"""
def__init__(self):
   """初始化游戏的设置"""
    #屏幕设置
    self.screen_width=1200
    self.screen_height=800
    self.bg_color=(230,230,230)



import pygame

class Ship():

def__init__(self,screen):
    """初始化飞船并设置其初始位置"""
    self.screen= screen

    #加载飞船图像并获取其外接矩形
    self.image=pygame.image.load('images/ship.bmp')
    self.rect=self.image.get_rect()
    self.screen_rect=screen.get_rect()

    #将每个新飞船放在屏幕底部中央
    self.rect.centerx=self.screen_rect.centerx
    slef.rect.bottom=self.screen_rect.bottom

def blitme(self):

"""在制定位置绘制飞船"""
self.screen.blit(self.image,self.rect)
    









错误代码

Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.

================ RESTART: D:alien_invasionalien_invasion.py ================
pygame 1.9.4
Hello from the pygame community. https://www.pygame.org/contri...
Traceback (most recent call last):
File "D:alien_invasionalien_invasion.py", line 5, in <module>
from settings import Settings

File "D:alien_invasionsettings.py", line 3

def__init__(self):
                 ^

SyntaxError: invalid syntax

新手琢磨半天了。。

阅读 2.9k
1 个回答

def后面要有空格

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题