Python 实践——外星人入侵小游戏(上)

这篇具有很好参考价值的文章主要介绍了Python 实践——外星人入侵小游戏(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python 实践——外星人入侵小游戏(上)

安装pip/pygame

先查询python路径,然后在终端输入:

/路径/python3 -m ensurepip --default-pip

通过pip安装pygame:

/路径/python3 -m pip install pygame

新建一个python文档:

import pygame

没报错就说明安装成功

1.开始项目

import sys
import pygame
def run_game():
    # 初始化游戏并创建一个屏幕对象
    pygame.init() #初始化
    screen = pygame.display.set_mode((1200,800)) #设置屏幕大小
    pygame.display.set_caption("Alien Invasion")
    # 开始游戏的主循环
    while True:#事件(用户的操作)循环
        # 监视键盘和鼠标事件
        for event in pygame.event.get():#检测事件-操作
            if event.type == pygame.QUIT:
                sys.exit()
         # 让最近绘制的屏幕可见
        pygame.display.flip() #更新屏幕
run_game()

注意:
名称不要叫pygame.py,他会覆盖真正的pygame
pygame 开发游戏
sys 退出游戏
.get()检测事件
.display.flip() (flip快速翻动)随着操作改变,不断更新屏幕,以显示元素的新位置。

2.设置屏幕背景色

基本操作:

(1)bg_color=(,) RGB 表示
(2)调用screen.fill(bg_color),这个方法只接受一个实参(颜色)

RGB
这种颜色由红色、绿色和蓝色值组成,其中每个值的可能取值范围都为0~255。颜色值(255,0,0)表示红色,(0,255,0)表示绿色,而(0,0,255)表示蓝色。通过组合不同的RGB值,可创建1600万种颜色。在颜色值(230,230,230)中,红色、蓝色和绿色量相同,它将背景设置为一种浅灰色。

3. 设置类

可以在另一个py文件中把你的规定都写好,然后直接导入到游戏文件里。
settings.py

class Setting():
    def __init__(self):
        self.screen_width= 1200
        self.screen_height= 800
        self.bg_color=(230,230,230)

alien.py

import sys
import pygame
from settings import Setting
def run_game():
    # 初始化游戏并创建一个屏幕对象
    pygame.init() #初始化
    ai_settings=Setting()
    #传递元组
    screen = pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")

    while True:#事件(用户的操作)循环
        for event in pygame.event.get():#检测事件-操作
            if event.type == pygame.QUIT:
                sys.exit()
        screen.fill(ai_settings.bg_color)
        pygame.display.flip() #更新屏幕
run_game()

注意:

    screen = pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))

传递元组,而不是参数。

4. 添加飞船图像

  • 写代码之前:
    在pycharm中创建一个叫images的文件夹
    然后把图片粘贴到其中,refactor成ship.bmp
    (根据需求,可以在ps里调整一下像素大小)
    注意背景颜色要一样
  • 代码操作:
    初始化
    加载图像.image.load(‘路径.bmp’)
    矩形处理图形 self.rect/.get_rect()
    矩形处理屏幕self.screen_rect
    放置位置 .screen_rect.位置
    def
    .blit(图形,屏幕) 位块传输,绘制
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
        self.rect.bottom = self.screen_rect.bottom

    def blitme(self):
        self.screen.blit(self.image, self.rect)

注意:
.bmp形式 位图
.表示访问属性
· get_rect():像处理矩形一样处理游戏元素.
·要将游戏元素居中,可设置相应rect对象的属性center、centerx或centery。要让游戏元素与屏幕边缘对齐,可使用属性top、bottom、left或right;要调整游戏元素的水平或垂直位置,可使用属性x和y,它们分别是相应矩形左上角的x和y坐标。
·在Pygame中,原点(0,0)位于屏幕左上角,向右下方移动时,坐标值将增大。在1200×800的屏幕上,原点位于左上角,而右下角的坐标为(1200,800)。

5.导入程序

基本操作:

from xx import
ship=Ship(screen) 创建实例
ship.blitme()

完整:

import sys
import pygame
from settings import Setting
from ship import Ship
def run_game():
    # 初始化游戏并创建一个屏幕对象
    pygame.init() #初始化
    ai_settings=Setting()
    #传递元组
    screen = pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    ship=Ship(screen)

    while True:#事件(用户的操作)循环
        for event in pygame.event.get():#检测事件-操作
            if event.type == pygame.QUIT:
                sys.exit()
        screen.fill(ai_settings.bg_color)
        ship.blitme()
        pygame.display.flip() #更新屏幕
run_game()

总结

欢迎你进入编写自己的游戏阶段!我把很长的一章切分成了几个部分。本章你在画布中导入了一个飞船的图片。你完成了如下几个部分:开始项目(初始化/循环/屏幕可见/更新屏幕);设置背景颜色;设置类(预设规定);添加飞船图像;导入程序。文章来源地址https://www.toymoban.com/news/detail-815587.html

到了这里,关于Python 实践——外星人入侵小游戏(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python实战——外星人入侵游戏

    经历三天时间完成为python实战小游戏,外星人入侵,主要完成了书目当中的主要功能。同时添加了一些自己定义的功能:每次保留历史最高分,随着等级的不断提升改变飞船子弹的相关设置,加入音效模块在集中外星人的时候击中音效。同时,简单写了几个遇到的bug,希望可

    2023年04月08日
    浏览(44)
  • Python游戏开发--外星人入侵(源代码)

    最近学习的python第一个项目实战,《外星人入侵》,成功实现所有功能,给大家提供源代码 环境安装:python 3.7+ pygame 安装 pygame 或者 先展示效果,消灭外星人,有三条命,按Q是退出全屏,空格键是子弹,按下play键开始游戏,击败外星人飞船会有积分加,三条命之后需要点击

    2024年02月06日
    浏览(40)
  • 用 python 写游戏《外星人入侵》完整代码

    aliven_invasion.py: game_functions.py: alien.py bullet.py button.py game_stats.py scoreboard.py settings.py ship.py

    2024年02月12日
    浏览(37)
  • Python Project- Alien_invasion(外星人入侵)

    目录 武装飞船 开始游戏项目 创建pygame窗口以及相应用户输入   初始化程序   创建surface对象   事件监听   游戏循环 设置背景色 创建设置类 添加飞船图像 创建ship类 pygame.image   get_rect( )   surface.blit( ) 在屏幕上绘制飞船 重构:模块game_functions 函数 check_events( ) 函数 update_

    2024年02月09日
    浏览(40)
  • pygame外星人入侵

    ✅作者简介:大家好我是hacker707,大家可以叫我hacker,新星计划第三季python赛道Top1🥇🥇🥇 📃个人主页:hacker707的csdn博客 🔥系列专栏:python 💬推荐一款模拟面试、刷题神器👉点击跳转进入网站 最近在看一本《python:从入门到实践》,这本书是我看的第一本python书籍,也

    2024年02月03日
    浏览(47)
  • 外星人入侵游戏-(创新版)

    🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️ 📝个人主页:Aileen_0v0🧸—CSDN博客 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📣系列专栏:Aileen_0v0🧸

    2024年02月08日
    浏览(65)
  • python 外星人入侵FileNotFoundError: No file ‘player.gif‘ found in working directory

    将相对路径改为绝对路径即可 例如 D:/AlienInvasion/ship/player.gif/

    2024年02月13日
    浏览(46)
  • python实战【外星人入侵】游戏并改编为【梅西vsC罗】(球迷整活)——搭建环境、源码、读取最高分及生成可执行的.exe文件

    本篇文章将介绍python游戏【外星人入侵】代码的 环境安装 , 具体介绍如何将游戏的最高分写入文件并在下次启动时读取、生成 .exe可执行文件 、如何 趣味性的改变游戏 。游戏相关的所有源码已经在文章 游戏实现———————游戏源码 部分。 🎮游戏介绍: 玩家控制着一

    2024年02月11日
    浏览(42)
  • 宇宙物演进程——外星人去哪了游戏代码(Python实现)(1)

    import os import sys import cfg import random import pygame from modules import * # 开始游戏 def startGame(screen): clock = pygame.time.Clock() font = pygame.font.SysFont(‘arial’, 18) if not os.path.isfile(‘score’): f = open(‘score’, ‘w’) f.write(‘0’) f.close() with open(‘score’, ‘r’) as f: highest_score = int(f.read().strip()

    2024年04月26日
    浏览(35)
  • 外星人鼠标如何设置宏定义

    适用于Alienware Wired/Wireless Gaming Mouse | AW610M的支持 | 驱动程序和下载 | Dell 中国 下载应用程序 下载到默认位置 安装程序   与正常安装程序一样,   安装第二个程序俗称cmcc 我英文不好,知道这个干嘛的 打开安装程序 第一次要点上面FX按钮    点击宏  点击+ 创建自己的宏,

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包