昨天没有更新内容,今天相对多写一些. 因为我们已经基本完成游戏框架,但是游戏结束后,并不知道怎样比较好开始.我本来本着懒的原则,想结束后显示一个黑屏,然后你重新点一下鼠标就重新开始.但是那样实在太不像个热爱生活的程序员了,所以我决定用更合适的方法解决这个问题. 为此,我决定实现一个相对比较过得去的按钮. 为了实现按钮,我先创建一个测试程序体.然后在上面先实现一个按钮类的功能. 具体的测试程序,我就不详说了,反正就是你去创建一个这样的小窗口: 然后在上面完成一个按钮的类. 我设想的按钮应该是这样的…
昨天我们已经实现了这个游戏的三个基本类. 但是现在它还是没办法做成一个适合玩的游戏,毕竟只有一架敌机的游戏是很乏味的.所以,我们需要好多子弹,也需要好多敌机. 所以,我们要创建list,这个list存放Bullet或者Enemy的实例. 以Bullet为例: bullet = [] #创建子弹 for i in range(6): bullet.append(Bullet()) ... for b in bullet:#移动子弹 b.move(time_passed_second) ... fo…
这两天学习数据结构和算法,有时感觉并不如直接做项目来的有趣.刚刚学完python的基本使用,现在刚好趁热打铁做个小项目. 由于本人一直很想制作一款游戏,就想使用Python制作一个基础的游戏.搜了一下资料,看到一个很便于使用的库,也就是pygame. pygame介绍 pygame是一个建立在SDL(Simple DirectMedia Layer)上的Python模块,是一个跨平台模块.SDL是用C写的,也可以用C++开发,也有很多语言,pygame就是一个Python中使用的库. 安装pyg…
昨天的内容里有了运动的子弹,虽然我们只添加了一个子弹,但你可以看到我们需要记录子弹的x,y坐标,每次要更新它的坐标.如果我们想要有多颗子弹,就需要存储多个坐标.那时候处理起来就不显得那么简单,也许我们可以使用两个list,一个专门存储各个子弹的x坐标,另一个专门存储子弹的y坐标,问题似乎变得没那么复杂,写起来会简单一些.但是我们到现在还没有加入过敌机,如果加入了敌机,加入别的东西的设计,我们将需要很多不同的数据的存储.虽然一个思路清晰的程序员可以记住所有的坐标存储在哪个list里,但是这毕竟比较…
按昨天的说法,今天将开始做一个简单的游戏了. 目标是拷贝微信的飞机大战,当然拷贝完以后大家就具备自己添加不同内容的能力了. 首先是要拿到一些图片素材,熟悉使用图像处理软件和绘画的人可以自己制作,并没有这项技能的同学只能和我一样从网上下载相应的素材了. 网上可以找到相应的这样的图片,注意,所有的元件图片要是png类型的图片,那样可以有透明的背景,否则会有白色的边框露出来. 找到素材以后我们就要开始搭建我们的飞机大战了. 微信上的飞机大战是由手指控制的,在电脑上,我们就先用鼠标代替了. 按照之前我们…
游戏里面一般是肯定会出现文字显示的,即使是俄罗斯方块也应该显示分数.那么我们应该怎样来显示文字呢,今天一起学习一下pygame的font模块. 使用字体模块 pygame可以直接调用系统字体,也可以调用TTF字体.为了使用字体,首先应该创建一个Font对象,对于系统自带的字体,应该这样调用: >>> font1 = pygame.font.SysFont('arial', 16) 第一个参数是字体名,第二个参数是字号.正常情况下系统里都会有arial字体,如果没有会使用默认字体,默认字体…
我们已经完成了飞机大战的大部分东西,但是游戏还是没有办法正式开玩,因为子弹并不能打掉飞机.只有完成了这一个工作,游戏才算基本成型. 今天的内容就非常简单了,就是做到这个碰撞检测,以及控制好子弹和飞机的消失.pygame里的sprite模块里有碰撞检测部分,但是,我们这里自己动手实现一个碰撞检测的函数. 检测碰撞的方法很简单,就是子弹的位置在飞机图片的内部.由于子弹和飞机的速度比较快,所以不需要非常精确地判别. 我们认为,如果子弹的坐标(b.x, b.y)在飞机的图片范围内,也就是(e.x, e,…
pygame是一个比较大的库,以我这点弱小的实力是没办法详解的.所以我只讲我懂得那些部分,其他部分由大家慢慢查找了解. ------------------------------- 我用pygame的目标很明确,写一个自己的游戏娱乐,权当学习时的放松.一个小项目的运行是非常有成就感的,所以一切讲解都按这样的简单步骤来. 首先,我们来理解动画: 上面是一种给孩子玩的小游戏,将几张不同姿态的图片放在一个转轴上,旋转转轴时我们就能看到一个连贯的飞翔动画,几张断开的静止的图像,当我们以高速切换时,人眼…
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理 提到开心消消乐这款小游戏,相信大家都不陌生,其曾在 2015 年获得过玩家最喜爱的移动单机游戏奖,受欢迎程度可见一斑,本文我们使用 Python 来做个简单的消消乐小游戏. 实现 消消乐的构成主要包括三部分:游戏主体.计分器.计时器,下面来看一下具体实现. 先来看一下游戏所需 Python 库. import os import sys import time import pygame impo…
首先是代码: MyDirectX.h: #pragma once //header file #define WIN32_EXTRA_LEAN #define DIRECTINPUT_VERSION 0x0800 #include<Windows.h> #include<d3d9.h> #include<d3dx9.h> #include<dinput.h> #include<xinput.h> #include<time.h> #i…