Pygame-依葫芦画瓢之兔獾大战】的更多相关文章

Pygame-依葫芦画瓢之兔獾大战 前几天看到国外一个12岁的孩子写的兔獾大战游戏,心生敬佩,想当年我还是12岁的时候还不知电脑为何物,连小霸王都未曾玩过.自己也未曾想去搞游戏开发,纯属自娱自乐.在此心态下,依葫芦画瓢重新架构了一下该游戏. 1. 参考资料 1.Kill Console 的PC版微信打飞机 2.Garfielt 翻译的青少年如何使用 Python 开始游戏开发 2. 游戏介绍 此游戏基本思想是兔子和敌人獾之间的战斗故事,兔子需要保护自己的窝(城堡)不被獾侵入,通过自己的武器(箭)…
以前在学校的时候无聊的学了会pygame.看了大概一周的教学视频,做出来个坦克大战的小游戏 Python3.5  pycharm import pygame,sys,time from random import randint from pygame.locals import * class TankMain(): #开始游戏 width=600 height=500 my_tank_missile_list = [] my_tank = None wall=None # 创建一个我方坦克…
我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3+pygame实现了一个另外小游戏"坦克大战"(其他的游戏,请翻阅我的博客) 本实例代码量有些多,完整的版本在1000行左右(当然了如果再次优化的话 会减少一部分) 分享出来,希望能帮助到大家,毕竟自己做教育行业做了这么多年,还是教育情怀的,哈哈哈哈哈 一.显示效果 二.代码 下面代码用到了一些素材(游戏背景音乐.图片等等),可以到我的网站https://www.itprojects.cn/detail.html…
主程序 # -*- coding: utf-8 -*- # @Time: 2022/5/20 22:26 # @Author: LiQi # @Describe: 主程序 import pygame from plane_sprites import * """飞机大战主程序""" class PlaneGame(object): # 完成游戏的初始化动作 def __init__(self): print('--游戏初始化--') # 创建游戏…
职责明确 新建plane_main.py 封装主游戏类 创建游戏对象 启动游戏   新建plane_sprites.py 封装游戏中所有需要使用的精灵子类 提供游戏的相关工具 #plane_sprites.py import pygame # 常量定义屏幕大小 SCREEN_RECT = pygame.Rect(0, 0, 480, 700) # 刷新帧率 FRAME_PER_SEC = 60 """飞机大战游戏精灵""" class GameS…
代码修改bug,添加注释等,獾的速度加快之后很难-- git地址: https://github.com/Jailman/blowupyrcastle.git 游戏资源使用了文章中附带的下载,原版文章请看这里: http://blog.jobbole.com/46308/ 附一些基本的数学知识 如图比如以角A为例sinA=对边:斜边=BC:ACcosA=临边:斜边=AB:ACtanA=对边:临边=BC:ABcotA=临边:对边=AB:BC #!/usr/bin/python #coding=ut…
成品已录制视频投稿B站(本文目前实现了基础的游戏功能),点击观看项目稽忽悠不(github)地址:https://github.com/BigShuang/From-simple-to-Huaji 本文首发于本人简书 初始准备工作 本项目使用的python3版本(如果你用python2,我不知会怎么样) Ide推荐大家选择pycharm(不同ide应该没影响) 需要安装第三方库pygame, pygame安装方法(windows电脑,mac系统本人实测与pygame不兼容,强行运行本项目卡成pp…
一.简介 pygame 顶级pygame包 pygame.init - 初始化所有导入的pygame模块 pygame.quit - uninitialize所有pygame模块 pygame.error - 标准的pygame例外 pygame.get_error - 获取当前错误消息 pygame.set_error - 设置当前的错误消息 pygame.get_sdl_version - 获取SDL的版本号 pygame.get_sdl_byteorder - 获取SDL的字节顺序 pyg…
目录 pygame如何实现"切歌"以及多曲重奏? 一.pygame实现切歌 初始化路径 尝试一 尝试二 尝试三 成功 总结 二.如何在python多线程顺序执行的情况下实现音乐和音效同时播放? 尝试一 尝试二 尝试三 尝试四 成功 总结 pygame如何实现"切歌"以及多曲重奏? 昨天晚上研究了好久pygame的音乐混合器mixer,出了很多问题后最终成功,不过学习本来也不可能一帆风顺的吗,下面我就来讲一讲我遇到的问题. 一.pygame实现切歌 初始化路径 # 导…
自己照书写了一个飞机大战游戏的python程序,想把它打包成一个exe文件,在查阅相关教程并经过数次尝试后终于成功. 安装打包应用 pyinstaller 在cmd命令窗口下pip install pyinstaller,安装完成. 但是由于外国的网站比较慢所以可以利用镜像来进行安装 pip install pyinstaller -i https://pypi.douban.com/simple 注意是使用https,不是http.因为https才是安全信任的网站 在cmd中输入pyinsta…
飞机大战 最近学习了python的面向对象,对面向对象的理解不是很深刻. 面向对象是数据和函数的'打包整理',将相关数据和处理数据的方法集中在一个地方,方便使用和管理. 本着学习的目的,在网上找了这个飞机大战游戏的素材和相关代码,自己研究学习,加深对面向对象的理解. python可以做游戏,最基本的一个第三方模块就是pygame,借助pygame可以实现2D和3D游戏的开发. 对python开发游戏感兴趣的园友请参考官方文档:pygame.doc 下面就开始学习了解对象思想吧,顺便学学pygam…
项目名称:太空大战 开发环境:Python3.6.4 第三方库:Pygame1.9.6 代码编辑器:Sublime Text 先来看一下游戏画面吧!  游戏画面动态且丰富哦!   需求分析 利用Python开发一个太空大战,提供UI,Bgm,丰富的游戏图片素材,左上角拥有玩家的生命进度条且能够动态变化,右上角拥有玩家的生命条数 游戏精灵能够动态交互,打败敌人能够有动态的爆炸效果(用静态图片循环播放可实现),且打败敌人能够随机的掉落火箭,增加生命进度甚至增加生命条数(有一个所获几率的控制)的游戏精…
最近想自己写pygame版的坦克大战,今晚已经完成如下功能: 1,我方坦克,可手动移动:敌方坦克,自动转方向与移动 2,坦克颜色随机,坦克形态大小可调. 3,双方坦克速度可调. 4,刷新坦克的位置随机. 5,坦克不会出界. 6,游戏窗口大小可调. 目前存在的问题: 1,表示坦克方向的列表,还未放到类里.未表示是否存活. 2,坦克会重叠(碰撞检测). 3,炮弹类还未写. 4,...... # !/usr/bin/env python # -*- coding:utf-8 -*- # Author:…
0 pygame模块的导入 import pygame导入pygame包 使用pygame.init()导入pygame的所有模块.只有导入模块pygame才能使用. 使用pygame.quit()卸载pygame的所有模块.游戏结束后,释放内存. 1 pygame.Rect :用于描述矩形区域的类 创建矩形对象的命令:变量 = Rect(x,y,width,height) Rect中的size属性:用于封装对象的宽和高. Rect的对象储存该对象的坐标元组,因此可以直接使用Rect的对象当坐标…
2018年12月,作为一个大学专业是物联网工程,毕业后在一家石油行业国企干了近三年,但内心依然有着一颗技术之心的我,通过一次偶然的机会(也许并不偶然),接触到了python.当时抱着玩一玩的心态开始通过<python从入门到实践>这本书作为入门学习python编程,平时基本都是下班之后,利用业余时间看书学习.而凭借着残留的一些大学的基础,书上的内容理解的倒也算快,整个基础知识的学习也比较顺利.这个项目是在学完书中的基础知识之后,根据书中的教程编写出来的,故写一篇心得,来记录这段时间的学习体会.…
pygame开发PC端微信打飞机游戏 一.项目简介 1. 介绍 本项目类似曾经火爆的微信打飞机游戏.游戏将使用Python语言开发,主要用到pygame的API.游戏最终将会以python源文件game.py形式完成,只需要运行python game.py就可以进入游戏. 游戏最终效果截图如下: 2. 知识点 本实验中将介绍在Linux桌面环境下使用Python及pygame快速开发小游戏的方式.可以通过这个游戏入门pygame游戏开发. 3. 参考文档 代码参考 Kill-Console写的P…
上篇写的动画示例其实算不上一个游戏,顶多算是利用pygame进行的图形操作,今天着手实现一个小游戏:传说哥大战剧毒术士.名字很玄乎,其实就是最简单的一个射击游戏.好了废话不多说,先上截图吧: 一.初始化程序和定义变量 import pygame import math import random # 1 - Initialize the game pygame.init() # prepare the variables width, height = 640, 480 screen=pygam…
昨天没有更新内容,今天相对多写一些. 因为我们已经基本完成游戏框架,但是游戏结束后,并不知道怎样比较好开始.我本来本着懒的原则,想结束后显示一个黑屏,然后你重新点一下鼠标就重新开始.但是那样实在太不像个热爱生活的程序员了,所以我决定用更合适的方法解决这个问题. 为此,我决定实现一个相对比较过得去的按钮. 为了实现按钮,我先创建一个测试程序体.然后在上面先实现一个按钮类的功能. 具体的测试程序,我就不详说了,反正就是你去创建一个这样的小窗口: 然后在上面完成一个按钮的类. 我设想的按钮应该是这样的…
使用Pygame制作微信打飞机游戏PC版 转至:http://www.cnblogs.com/dukeleo/p/3339780.html   前一阵子看了一篇文章:青少年如何使用Python开始游戏开发 .看完照葫芦画瓢写了一个,觉得挺好玩儿,相当于简单学了下Pygame库.这篇文章是个12岁小孩儿写的,国外小孩儿真心NB,想我12岁的时候会干嘛?只会打星际... 为了复习一下准备自己做一个小游戏.想到微信上的飞机大战很火,就决定做一个PC版的.首先去下了个微信的APK,把里面的飞机大战的资源…
近来想用pygame做做游戏,在 xishui 大神的目光博客中学了学这东西,就上一段自己写的飞机大战的代码,主要是对键盘控制飞机的移动做了相关的优化 # -*- coding: utf-8 -*- import pygame from pygame.locals import * import sys import time pygame.init() screen_width = 640 screen_height = 480 # 设置游戏窗口的大小 screen = pygame.disp…
用Python写的"飞机大战美女"小游戏 源代码如下: # coding=utf-8 import os import random import pygame # 用一个常量来存储屏幕的位置和大小,常量用全大写表示 SCREEN_RECT = pygame.Rect(0,0,480,600) # 定义敌机事件定时器常量值 CREATE_ENEMY_EVENT = pygame.USEREVENT # 定义发射子弹定时器常量值(由于USEREVENT这个常量值被敌机事件占用了,加1来改…
'''import pygame# 初始化pygame库,让计算机硬件准备pygame.init()# ----------窗口相关操作-----------# 创建窗口window = pygame.display.set_mode([窗口宽,窗口高])# 设置窗口标题pygame.display.set_caption("窗口标题")# 加载资源图片,返回图片对象image = pygame.image.load("res/game.ico")# 设置窗口图标p…
# coding=utf-8 # Version:python3.6.1 __date__ = '2018/9/20 18:51' __author__ = 'Lgsp_Harold' import pygame, sys, time from random import randint from pygame.locals import * # 坦克大战主窗口 class TankMain(object): width = 600 height = 500 my_tank_missile_li…
原文地址:https://www.cnblogs.com/wuzhanpeng/p/4261015.html 引言 博客刚开,想把最近学习的东西记录下来,算是一种笔记.最近打算开始学习Python,因为我感觉Python是一门很有意思的语言,很早以前就想学了(碍于懒),它的功能很强大,你可以用它来做科学运算,或者数字图像处理,或者任务的自动化,还可以构建动态网站,很多很多听起来就很有意思的实现.关于Python你还可以找到更多的资料,这里不一一赘述. 一说到开始学习一门新的编程语言,很多童鞋可能…
相信大家看到过网上很多关于飞机大战的项目,但是对其中的模块方法,以及使用和游戏工作原理都不了解,看的也是一脸懵逼,根本看不下去.下面我做个详细讲解,在做此游戏需要用到pygame模块,所以这一章先进行pygame入门讲解--设置游戏窗口,绘制游戏背景,绘制战机图片,绘制战机移动动画(后面利用面向对象重新设计整个项目) 1.先看看游戏屏幕样式及工作原理 2.再看看动画工作原理 3.分析完了,上代码,所有说明注释写的很清楚 #!/usr/bin/env python # coding=utf-8 #…
ps:2018-7-24 20:58:11 重新整理这个飞机大战源码,我虽然这个时候没看源码,但是知道思路的话用其他语言还是可以写出来的! ''' 2018-5-13 19:53:46 完善成功 一个打飞机的游戏 其实就是面向对象那个 有个主方法. 然后有飞机然后又子弹,逐步的迭代 2018-5-14 18:40:15 继续开干 2018-5-17 17:42:29 继续完善 2018-5-17 20:00:32 写基类(父类) 然后写其他的子类 ''' import pygame import…
pygame.display.set_mode(x, y)设置显示窗口大小pygame.sprite.Sprite方法中有image, rect, speed等参数 其中image 可以通过 pygame.image.load('图片路径')进行加载,rect为记录位置信息的元组(x, y, width, hight) pygame.Rect(x, y, width, hight) # 可定义一个矩形变量,和rect一样pygame.USEREVENT # 可自定义用户事件,常量名最好全是大写字…
博客刚开,想把最近学习的东西记录下来,算是一种笔记.最近打算开始学习Python,因为我感觉Python是一门很有意思的语言,很早以前就想学了(碍于懒),它的功能很强大,你可以用它来做科学运算,或者数字图像处理,或者任务的自动化,还可以构建动态网站,很多很多听起来就很有意思的实现.关于Python你还可以找到更多的资料,这里不一一赘述. 一说到开始学习一门新的编程语言,很多童鞋可能马上想到,“嗯,哥去买本书啃啃!”,结果买了本大部头,全是枯燥的语法知识,看了后面忘了前面,事倍功半.记得以前有位朋…
我们已经完成了飞机大战的大部分东西,但是游戏还是没有办法正式开玩,因为子弹并不能打掉飞机.只有完成了这一个工作,游戏才算基本成型. 今天的内容就非常简单了,就是做到这个碰撞检测,以及控制好子弹和飞机的消失.pygame里的sprite模块里有碰撞检测部分,但是,我们这里自己动手实现一个碰撞检测的函数. 检测碰撞的方法很简单,就是子弹的位置在飞机图片的内部.由于子弹和飞机的速度比较快,所以不需要非常精确地判别. 我们认为,如果子弹的坐标(b.x, b.y)在飞机的图片范围内,也就是(e.x, e,…
按昨天的说法,今天将开始做一个简单的游戏了. 目标是拷贝微信的飞机大战,当然拷贝完以后大家就具备自己添加不同内容的能力了. 首先是要拿到一些图片素材,熟悉使用图像处理软件和绘画的人可以自己制作,并没有这项技能的同学只能和我一样从网上下载相应的素材了. 网上可以找到相应的这样的图片,注意,所有的元件图片要是png类型的图片,那样可以有透明的背景,否则会有白色的边框露出来. 找到素材以后我们就要开始搭建我们的飞机大战了. 微信上的飞机大战是由手指控制的,在电脑上,我们就先用鼠标代替了. 按照之前我们…