首页 > 其他分享 >小游戏

小游戏

时间:2023-12-28 21:44:23浏览次数:30  
标签:Pipeline screen Bird 小游戏 pygame font self

import pygame import sys import random import time import math

class Bird(object):     def __init__(self):         self.birdRect = pygame.Rect(65, 50, 50, 50)           self.birdStatus = [pygame.image.load("new_img1.png"),                            pygame.image.load("new_img1.png"),                            pygame.image.load("new_img1.png")]         self.status = 0           self.birdX = 120         self.birdY = 350           self.jump = False           self.jumpSpeed = 10           self.gravity = 5             self.dead = False    
    def birdUpdate(self):         if self.jump:
            self.jumpSpeed -= 1               self.birdY -= self.jumpSpeed           else:             self.gravity += 0.2               self.birdY += self.gravity             self.birdRect[1] = self.birdY     class Pipeline(object):
    def __init__(self):
        self.wallx = 400             self.pineUp = pygame.image.load("shangguandao.png")             self.pineDown = pygame.image.load("xiaguandao.png")  
    def updatePipeline(self):
        self.wallx -= 5    
        if self.wallx < -80:             global score             score += 1             self.wallx = 400
def createMap(screen, background, font):     """定义创建地图的方法"""     screen.fill((255, 255, 255))         screen.blit(background, (0, 0))  


    screen.blit(Pipeline.pineUp, (Pipeline.wallx, -100 ))         screen.blit(Pipeline.pineDown, (Pipeline.wallx,500))       Pipeline.updatePipeline()    
    if Bird.dead:           Bird.status = 2     elif Bird.jump:           Bird.status = 1     screen.blit(Bird.birdStatus[Bird.status], (Bird.birdX, Bird.birdY))       Bird.birdUpdate()  

    screen.blit(font.render("score: " + str(score), -1, (255, 255, 255)), (230, 20))    
    pygame.display.update()
def checkDead():    
    upRect = pygame.Rect(Pipeline.wallx, -100,Pipeline.pineUp.get_width() , Pipeline.pineUp.get_height())
    downRect = pygame.Rect(Pipeline.wallx, 500, Pipeline.pineDown.get_width() ,  Pipeline.pineUp.get_height())
    if upRect.colliderect(Bird.birdRect) or downRect.colliderect(Bird.birdRect) or Bird.birdY>=680:         Bird.dead = True         return True     else:         return False
def getResult():     final_text1 = "Game over"     final_text2 = "Your final score is: " + str(score)     ft1_font = pygame.font.SysFont("Arial", 70)           ft1_surf = ft1_font.render(final_text1, 1, (242, 3, 36))         ft2_font = pygame.font.SysFont("Arial", 50)         ft2_surf = ft2_font.render(final_text2, 1, (253, 177, 6))  
    screen.blit(ft1_surf, [screen.get_width() / 2 - ft1_surf.get_width() / 2, 100])
    screen.blit(ft2_surf, [screen.get_width() / 2 - ft2_surf.get_width() / 2, 200])
    pygame.display.flip()  
if __name__ == "__main__":     """主程序"""     pygame.init()         pygame.font.init()     font = pygame.font.SysFont(None, 50)       size = width, height = 400, 680       screen = pygame.display.set_mode(size)       clock = pygame.time.Clock()         Pipeline = Pipeline()         Bird = Bird()       score = 0  
    while True:         clock.tick(60)    

        for event in pygame.event.get():             if event.type == pygame.QUIT:                 sys.exit()             if (event.type == pygame.MOUSEBUTTONDOWN) and not Bird.dead:                 Bird.jump = True                     Bird.gravity = 10                     Bird.jumpSpeed = 10             background = pygame.image.load("new_img.png").convert()         if checkDead():             getResult()             else:             createMap(screen, background, font)       pygame.quit()    

标签:Pipeline,screen,Bird,小游戏,pygame,font,self
From: https://www.cnblogs.com/wubianxuyu/p/17933644.html

相关文章

  • 开心打地鼠,Android小游戏开发
    A.项目描述“开心打地鼠”是一款非常有趣的游戏,它能够帮助人们放松身心,同时也能够锻炼人们的智力。“开心打地鼠”这款游戏的玩法非常简单,玩家需要在规定的时间内点击屏幕上出现的地鼠,每次点击都可以得到一定的分数。但是,玩家需要小心,因为如果没有点击中,地鼠逃过的话,就会失去分数......
  • 弹球小游戏
    importsysimportpygamepygame.init()#初始化pygamesize=width,height=640,800screen=pygame.display.set_mode(size)#显示窗口color=(0,0,0)#设置颜色ball=pygame.image.load('E:\\截屏\\bre2.jpg')#加载小球图片,但不现实ballrect=ball.get_rect()......
  • 「模问题」AI原生小游戏强势来袭,一起为AI失眠吧!
    WAVESUMMIT+深度学习开发者大会2023举办在即,为了让大家更好地体验文心大模型的各项能力,掌握Prompt的使用技巧,我们带来一个惊喜的消息:全新AI原生小游戏——「模问题」火热上线啦!「模问题」是基于文心大模型的能力而设计的一款文字解谜AI原生游戏。在游戏中,玩家需要通过调整输入适......
  • 微信开发者之猜数字小游戏js代码
    // pages/game/game.jsPage({  /**   * 页面的初始数据   */  data: {  },  initial: function() {    this.setData({      answer: Math.round(Math.random() * 100),//获取随机数      count: 0,//回合数      tip: '',//提示语......
  • 【江鸟中原】————简单小游戏
    一、引言 经过一段实践学习之后,我开始运用学习过的知识,自己实践创作了一个鸿蒙小型游戏。二、游戏介绍 我所创作的是一个贪吃蛇的小游戏,这个游戏主要思路是在一个1010方格上随机出现一个格子,当贪吃蛇的头出现在格子上时,则贪吃蛇整体长度加1。当贪吃蛇的头部在1010方格之外时,则......
  • 微信小游戏中的场景拖拽显示范围
    usingOrg.BouncyCastle.Crypto.Macs;usingSystem;usingSystem.Collections.Generic;usingUnityEngine;[RequireComponent(typeof(Camera))]publicclassCameraControl:MonoBehaviour{publicstaticCameraControlinstance;publicList<string>......
  • 微信小游戏中拖拽场景位置的限制代码
    usingSystem.Collections.Generic;usingUnityEngine;[RequireComponent(typeof(Camera))]publicclassCameraControl:MonoBehaviour{publicstaticCameraControlinstance;publicList<string>list_RayName=newList<string>();publ......
  • 做一个小游戏,跳跃的小球
    以下为代码:#-*-coding:utf-8-*-importsys#导入sys模块importpygame#导入pygame模块pygame.init()#初始化pygamesize=width,height=800,700#设置窗口screen=pygame.display.set_mode(size)#显示窗口color=(0,0,0)#设置颜......
  • 小游戏
    importpygameimportsysclassBird(object):"""定义一个鸟类"""def__init__(self):"""定义初始化方法"""self.birdRect=pygame.Rect(65,50,50,50)#鸟的矩形#定义鸟的3种状态列表......
  • 小游戏
    flybird游戏importpygameimportrandompygame.init()WIDTH=288HEIGHT=512screen=pygame.display.set_mode((WIDTH,HEIGHT))pygame.display.set_caption('FlappyBird')background_img=pygame.image.load('background.png').convert()bird_im......