导航:首页 > 编程语言 > 做完外星人入侵python游戏心得

做完外星人入侵python游戏心得

发布时间:2023-01-10 20:51:44

python从入门到实践里的《外星人入侵》

项目名如标题,在《python编程:从入门到实践》里有完整详细的说明,网上也能查到源码,这里只是在重复这种程序

不过学编程,借鉴模仿很重要,即使抄轮子也得抄个像模像样才行,抄到即是学到。

进入正题:

游戏很简单,就是一个打飞机类型的游戏,以下代码将实现游戏的主程序,飞船的基本操作等。

注:这里提醒新上手的萌新,python的代码不要随便复制粘贴!

不要随便复制粘贴!

不要随便复制粘贴!

python的缩进很严格,复制粘贴后一定要注意格式是否正确,否则会报出异常:

IndentationError: unexpected indent

未知的缩进错误

当出现此提示时,要检查一下哪里的缩进出现了问题,小段的代码还好,大段的代码就呵呵了

注意下载好的文件后缀名为.whl

然后新建一个文件夹,名字叫alien_invasion,将下载好的模块放在此文件夹下,

然后你要新建以下文件:

1.alien_invasion.py 游戏主程序

2.game_functions.py 存放游戏函数

3.bullet.py 子弹模块

4.settings.py 游戏设置模块

5.ship.py 飞船模块

然后新建images文件夹存放飞船素材。

这些会让我们实现启动游戏,飞船的显示与移动,以及开火功能。

为避免文章冗~长,这里贴一段主程序代码,其它代码下周见(偷懒)。

alien_invasion.py

#!usr/bin/env python3
#_*_ coding:utf-8 _*_

#此模块是游戏的主程序

import sys

import game_functions as gf #导入game_functions文件,并指定了别名gf

import pygame

from settings import Settings
from ship import Ship
from pygame.sprite import Group

def run_game():

# 初始化游戏并创建一个屏幕对象

pygame.init() #pygame的init函数,用于创建一个游戏对象

#把Setting类实例化
ai_settings = Settings()

#显示游戏窗口并设置其大小
screen = pygame.display.set_mode(
(ai_settings.screen_width,ai_settings.screen_height))

#设置窗口标题
pygame.display.set_caption("Alien Invasion")

# 把Ship类实例化,用于创建飞船
ship = Ship(ai_settings,screen)
#存储子弹的编组
bullets = Group()

#开始游戏的主循环
while True:
#用于响应鼠标,键盘事件
gf.check_events(ai_settings,screen,ship,bullets)
#更新飞船在屏幕的位置
ship.update()
#更新子弹位置并删除消失的子弹
gf.update_bullets(bullets)
#用于更新屏幕背景色,更新飞船,子弹等
gf.update_screen(ai_settings,screen,ship,bullets)


run_game() #运行游戏

⑵ python入门可以做的小游戏

1、Python入门拼图小游戏
简单介绍:
将图像分为m×n个矩形块,并将图像右下角的矩形块替换为空白块后,将这些矩形块随机摆放成原图像的形状。
2、Python入门推箱子小游戏
简单介绍:
这是来自日本的一个经典游戏,在狭小的仓库中,要求把木箱放到指定的位置,如果不小心就可能出现箱子无法移动或者通道被堵的情况,所以,如何巧妙利用有限的空间和通道,合理安排移动顺序,就成了这个游戏能否通关的关键。
3、Python入门小游戏之外星人入侵
简单介绍:
玩家可以通过鼠标控制飞船的移动和射击,如果能在敌人达到游戏界面低端之前消灭所有敌人,则游戏胜利,否则游戏失败。
4、Python入门小游戏之吃豆子
简单介绍:
通过键盘方向键,控制游戏的人物吃豆人,吃掉藏在迷宫内的所有豆子,并且不能被敌人抓到。
5、Python入门小游戏之宝石消消乐
简单介绍:
玩家通过鼠标交换相邻的拼图,若交换后,在水平/竖直方向存在连续三个相同的拼图,则这些拼图消失,玩家得分。
6、Python入门小游戏之乒乓球对战
简单介绍:
中间是球网,玩家通过上下键移动球拍,并且这个游戏是可以两个人玩的哦。
7、还有其他四个游戏
它们是:炸弹人小游戏、逃出迷宫、飞扬的小鸟、五子棋

⑶ 外星人入侵python代码编写出错求大神指导

答: pygame里面都是有init()这个函数的,但是错误提示却是这个模块没有init这个方法。那我觉得你可以按以下步骤去检查一下。

  1. 确保自己有没有安装pygame这个模块,安装命令pip install pyname,或者pip3 install pygame,如果你是用anaconda的话,也可以用conda install pyname来安装;
  2. 仔细再检查一下,你有没有重名的文件pyname,之前我也是认为没有的,后来自己看了一下,真的有一个重名的,你根据那个报错路径去看一看。
  3. 如果还不行的话,你干脆重建一个项目目录,再试试,或者重装那个模块。

希望可以帮助到你~

⑷ python,外星人入侵游戏,Pycharm,pygame,写完了,但是有bug,希望帮我找一下原因

只能说明你复制粘贴的能力还欠缺

⑸ Python外星人入侵问题求助

你好,我也遇到了同样的问题。debug可以发现其实你的程序仍然是36个外星人,但是每行外星人的位置重合导致了显示结果看起来只有一列外星人响应。这是由于每个外星人的初始位置相同。

我当初写的时候理所当然地在def create_alien中(该函数目的是生成一组外星人),对函数体中每个alien的位置都是用精灵的实际位置计算,即alien.rect.x和alien.rect.y。但你可以观察到Alien类的update函数计算对象是alien.x, 所以你可能需要在别的文件中补上这个关键的中间变量,加上这句话(图中红字):alien.x=alien.rect.x

这样才能够将真实的位置alien.rect.x和我们数学计算的变量alien.x对应起来,实现一堆外星人动起来的效果!请采纳!!!!!!


阅读全文

与做完外星人入侵python游戏心得相关的资料

热点内容
黑马程序员路径大全 浏览:1000
saas平台PHP 浏览:333
云服务器科学计算配置怎么选 浏览:649
jar解压命令 浏览:609
php正则问号 浏览:299
无线已加密不可上网是怎么了 浏览:464
什么app可以免费做手机 浏览:375
异性下载什么app 浏览:680
51单片机程序单步视频 浏览:241
家庭宽带如何连接服务器 浏览:119
汽车高压泵解压 浏览:772
上门正骨用什么app 浏览:761
安卓为什么免费使用 浏览:397
加密货币都有哪些平台 浏览:628
python和matlab难度 浏览:391
python爬虫很难学么 浏览:574
小米解压积木可以组成什么呢 浏览:816
为什么滴滴出行app还能用 浏览:566
怎么升级手机android 浏览:926
php权威编程pdf 浏览:998