利用Python自制雷霆战机小游戏,娱乐编程,快乐学习!


开发工具

Python版本:3.6.4
相关模块:
pygame模块;
以及一些Python自带的模块。
环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。
先睹为快

在cmd窗口运行"Game10.py"文件即可。
效果如下:



原理简介

游戏规则简介:

游戏模式包括单人模式和双人模式。

单人模式中,玩家通过↑↓←→控制飞船行动,J键发射炮弹;双人模式中,玩家一通过↑↓←→控制飞船行动,J键发射炮弹,玩家二通过wsad控制飞船行动,空格键发射炮弹。每击碎一个小行星(或者说陨石),玩家得分加一,若所有玩家均被小行星击中,则游戏结束。

逐步实现:

Step1:定义精灵类

首先,我们定义一下游戏中涉及到碰撞检测的三个精灵类,也就是小行星(陨石)类:

×××类:

飞船类:

×××发射后,只需要一直向前飞就行了,小行星和×××类似,产生后,只需要一直向前飞,然后顺便旋转一下就行了,飞船类则需要拥有发射×××的能力以及被小行星击中后爆炸的"能力"。

Step2:实现游戏主循环

先初始化:

然后就可以进入游戏主循环了,主循环包括按键检测并根据检测结果行动飞船:

向下移动背景图实现飞船向上移动的效果:

画×××、飞船和小行星,并进行必要的碰撞检测等操作:

Step3:制作简易的游戏开始和结束界面

游戏开始界面:

游戏结束界面:

Step4:整合游戏开始、游戏进行和游戏结束界面

最后

如果你跟我一样都喜欢python,想成为一名优秀的程序员,也在学习python的道路上奔跑,欢迎你加入python学习群:839383765 群内每天都会分享最新业内资料,分享python免费课程,共同交流学习,让学习变(编)成(程)一种习惯!

原文地址:http://blog.51cto.com/14186420/2349295

时间: 2024-10-07 07:28:56

利用Python自制雷霆战机小游戏,娱乐编程,快乐学习!的相关文章

利用Python制作一个连连看小游戏,边学边玩!

导语 今天我们将制作一个连连看小游戏,让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Python自带的模块 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 先睹为快 在cmd窗口运行"Game15.py"文件即可. 效果如下: 原理简介 游戏规则: 玩家通过鼠标交换相邻的拼图,若交换后水平/竖直方向存在连续三个相同的拼图,则这些拼图消失,玩家得分,同时生成新的拼图以补充消失的部分,否则,交换失败,玩家不

利用 Python yield 创建协程将异步编程同步化

在 Lua 和 Python 等脚本语言中,经常提到一个概念: 协程.也经常会有同学对协程的概念及其作用比较疑惑,本文今天就来探讨下协程的前世今生. 首先回答一个大家最关心的问题:协程的好处是什么? 通俗易懂的回答: 让原来要使用 异步 + 回调 方式写的非人类代码,可以用看似同步的方式写出来. 1.回顾同步与异步编程 同步编程即线性化编程,代码按照既定顺序执行,上一条语句执行完才会执行下一条,否则就一直等在那里. 但是许多实际操作都是CPU 密集型任务和 IO 密集型任务,比如网络请求,此时不

Python开发接水果小游戏

我研发的Python游戏引擎Pylash已经更新到1.4了.现在我们就来使用它完成一个极其简单的小游戏:接水果.以下是游戏截图: 游戏操作说明:点击屏幕左右两边或者使用键盘方向键控制人物移动,使人物与水果接触得分,碰到非水果的物品,如碎玻璃,就会game over. 接下来是详尽的开发过程,篇幅较长,请看官耐心阅读. Pylash项目地址 由于本次开发用到了pylash,大家可以先去Github上对引擎进行了解. https://github.com/yuehaowang/pylash_engi

python成语接龙小游戏

上一篇讲了小游戏的坑现在把源码放出来 1 import string 2 import pypinyin 3 import sys 4 5 print("初始化中,请稍等……") 6 7 robot=["哀鸿遍野"]#可自己添加机器人的成语 8 9 robotpy1=[] 10 for k in robot: 11 robotpy1.append(pypinyin.pinyin(k, style=pypinyin.NORMAL)[0]) 12 13 f2 = ope

python pygame做的小游戏(贪吃蛇)

# pygame游戏库,sys操控python运行的环境 import pygame, sys, random # 这个模块包含所有pygame所使用的常亮 from pygame.locals import * # 1,定义颜色变量 # 0-255 0黑色 255白色 redColor = pygame.Color(255, 0, 0) # 背景为黑色 blackColor = pygame.Color(0, 0, 0) # 贪吃蛇为白色 whiteColor = pygame.Color(2

【python学习】使用python写一个2048小游戏

个人博客:jerwang.cn 没有参考其他代码,效果图: 话不多少,源代码: https://github.com/jerustc/Python/blob/master/2048.py

python——成语接龙小游戏

小试牛刀的简易成语接龙. 思路-- 1.网上下载成语字典的txt版本 2.通过python进行处理得到格式化的成语,并整理成字典(python字典查找速度快) 3.python程序,查找 用户输入的最后一个字和字典里首字一致的,放入列表,并通过random进行随机选择,然后输出 字典整理部分:转换成字典 file = open(r'D:\Desktop\zidian.txt').readlines() f = open(r'D:\Desktop\zidian3.txt','w') x={} nu

Python成龙快跑小游戏

一.项目简介 1.1 项目博客地址 https://www.cnblogs.com/cwblogshirlly66/ 1.2 项目完成的功能与特色 在程序开始的时候,有一个名叫“1940”的“你醒啦”游戏界面,界面上有一个“开始游戏”的按钮,当鼠标移动到这个按钮的时候会变成灰色,离开的时候变成白色,当鼠标与这个按钮重合且按下鼠标左键的时候,游戏就开始.程序里的地图背景是两张图片以相同的速度向左滚动,不断平移,左边的图片移动到最左边的时候,再回到原来的位置,继续滚动,通过调用update与roll

python写贪吃蛇小游戏

python的pygame模块写的. 运行界面: # 没搞素材,丑了点 身体跟随蛇头的实现思路: 1. 通过双向链表+两个标志. 链表是为了,蛇头改变方向后,告诉后一个身体,移动后跟着主蛇方向改变,之后身体在告诉后一个身体,跟随前一个身体方向改变. 两个标志(start_flag,change_flag)是为了,每一帧依次改变方向,而不是一个帧内就循环告诉完全部身体方向改变. 2. 加上两个标志,只记录一次前者方向,那么主体发生连续两次改变会出现的情况 解决方式:身体有存前者改变方向的列表 #