用pygame,做一个小小小小小........游戏

根据键盘方向键控制“不知火舞”的上下左右移动

  其实我对Python能不能做大型游戏,还是执质疑态度。Python属于高级语言,那么不可避免的是,它的运行速度没有C语言快。机器语言到汇编语言,到面向过程再到面向对象,它们在电脑上的执行速度由快到慢,而游戏讲究的就是快!一定要快!所以我觉得,Python,不适用于写大型游戏。有的人不服了,Python语言是有C语言开发的,而C语言是做游戏的最有优势的语言,所以Python也能做?

  不可否认的是,Python的确有先天性的优势,然而这些优势并不体现在做游戏上面,它在网页上面的优势更大,Python的爬虫等。但是,做些小游戏,Python是肯定不在话下的。pygame官方给的帧数为40~200,而我们人类肉眼能分辨的帧数不超过30,所以你是不会在玩着游戏的时候,一卡一顿的。

  

import pygame
import sys
from pygame.locals import *

#初始化Pygame
pygame.init()

size = width,hight = 600,400
speed = [-2,1]
bg = (255,200,255) #RGB颜色

#clock = pygame.time.Clock()
#创建指定大写的窗口
screen = pygame.display.set_mode(size)
#设置窗口标题
pygame.display.set_caption(‘不知火舞‘)

#加载图片
turtle = pygame.image.load(‘turtle.png‘)
#获得图像的位置矩形
position = turtle.get_rect()
l_head = turtle
r_head = pygame.transform.flip(turtle,True,False)

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

        if event.type == KEYDOWN:
            if event.key == K_LEFT:
                turtle = l_head
                speed = [-1,0]
            if event.key == K_RIGHT:
                turtle = r_head
                speed = [1,0]
            if event.key == K_UP:
                speed = [0,-1]
            if event.key == K_DOWN:
                speed = [0,1]
    #移动图像
    position = position.move(speed)

    if position.left < 0 or position.right > width:

        #翻转图像
        turtle = pygame.transform.flip(turtle,True,False)
        #反向移动
        speed[0] = -speed[0]

    if position.top < 0 or position.bottom > hight:
        speed[1] = -speed[1]

    #填充背景
    screen.fill(bg)
    #双缓冲
    #更新图像
    screen.blit(turtle,position)#bilt方法将一个图像覆盖到另一个图象上
    #更新界面
    pygame.display.flip()
    #延迟10毫秒
    pygame.time.delay(10)

    #clock.tick(200)

#什么是surface对象?
#pygame 用来表示图像的对象

额,很简单的一个东西。基本没什么难度,但重在坚持嘛!万一做着做着就特么做了一个大大大大大大.....游戏了呢?

(有了这些我觉得我可以先做个贪吃蛇来玩玩?)

时间: 2024-10-07 00:06:45

用pygame,做一个小小小小小........游戏的相关文章

先做一个“小程序”——关于微信应用号的六大猜想

先做一个“小程序”——关于微信应用号的六大猜想 9月 21 日,苦等了9个多月的时间,应用号终于与我们见面了,命名为「小程序」. 01 为什么推出小程序? 考虑到小程序对整个APP市场的影响,毫无疑问会对现有的APP生态带来一定的冲击.但是,之所以推出小程序,最直接的原因可能是为了构建和扩充微信生态链,让微信更具开放性. 如我们所知,目前微信公众号分为三类: • 服务号,连接人和商品,目前很多电商企业,以及在微信端提供产品和服务的企业都用服务号. • 订阅号,微信官方的定位是阅读,连接人和资讯的

用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr

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做一个简单的pong游戏

pong游戏就是一个用挡板去控制一个小球不触底的一个小游戏,上个世纪以电视游戏的方式发行,取得巨大的成功. 看了一点书,知道pygame是python里一个强大的模块,做出这个游戏的简易模式也不难. 主要思想:1.创建游戏界面,挡板,小球以及记分牌. 2.小球碰到游戏界面四个边界会反弹,即x方向和y方向上的速度会改变为负,碰到底边生命数会减1. 3.小球与挡板碰撞y方向速度会变负,同时分数加1. 4.游戏结束会显示相关文字. 代码如下: import pygame pygame.init() s

用NodeJs做一个小爬虫

作者:北京起步科技前端研究员,专注分享HTML5 App快速开发工具 WeX5 的黑魔法以及相应的前端技术. 前言 利用爬虫可以做很多事情,单身汉子们可以用爬虫来收集各种妹子情报,撩妹族们可以用爬虫收集妹子想要的小东西,赚大钱的人可以用来分析微博言论与股票涨跌的关系诸如此类的,简直要上天了. 你们感受一下 点我点我: 蠢蠢欲动 抛开机器学习这种貌似很高大上的数据处理技术,单纯的做一个爬虫获取数据还是非常简单的.对于前段er们来说,生在有nodejs的年代真是不要太幸福了,下面就用nodejs来做

【二次元的CSS】—— 用 DIV + LESS 做一个小黄人构造器

仅仅使用div作为身体的布局,用css3的各种transform和圆角属性来绘制各个细节的形状,当然也不会使用任何图片哦.那就没意思了. 有的同学说,用canvas不是能画得更逼真而且更简单吗?这点我也非常赞同,但我的理由还是,那就没意思了. 这次用到了一些LESS的特性,通过设置一些指定的参数来生成不同种类.不同身材的小黄人. GitHub传送门:https://github.com/lancer07/css3Minons 效果是这个样子的 首先 先做个标准版的(ps:也就是图中的第一个小黄人

基于pygame的一个小游戏

class GameStats(): """跟踪游戏的统计信息""" #def __int__(self, ai_settings): def __init__(self, ai_settings): """初始化统计信息""" self.ai_settings = ai_settings self.reset_stats() # 让游戏 处于非活动状态 self.game_active

使用pygame实现一个简单的五子棋游戏

前言写程序已经丢掉很长一段时间了,最近觉得完全把技术丢掉可能是个死路,还是应该捡起来,所以打算借CSDN来记录学习过程, 由于以前没事的时候断断续续学习过python和用flask框架写过点web,所以第一步想捡起python,但是,单纯学习python有点枯燥,正好看到pygame,感觉还挺简单,所以想先写个小游戏练练手. 准备python基础相关准备: pygame的基础知识,参考目光博客的“用Python和Pygame写游戏-从入门到精通” 安装python 3.8.0 在python官网

一只猿:使用flask来做一个小应用

上周 @萍姐 问我如何抓取天猫上面店铺的评分,看了下挺简单的,于是花了点时间写了个Python脚本,加上web.py做成一个web服务,使用起来还不错,今天来看的时候发现当时为了方便直接用web.py开发有点简陋,自己也好久没用flask写过东西了,打算用flask再写一遍,顺便复习下旧的知识,如果你是flask初学者,可以参考这个例子. 提示:博主默认你已经具备了Python的基础知识,已经能够很顺畅的编写一些Python脚本,否则接下来你会比较难看懂. 旧版 这里先给出旧版本的一些使用截图,