猫史档案馆


【Python作品分享】(q键退出)自编游戏 测试版 海归编辑器有点问题【作品秀】

用户:沉默的小代沉默的小代查看:0 回复:2 评论:0 创建时间:2021-10-10T20:27:12


【作品展示】

center_image

 

【作品介绍】

这是一个有计划的游戏,将来会出更多的版本,现在这个游戏只能查看世界,按q键退出

 

【作品源代码】

import pygame
import random
import time
import sys
from mode1 import world_block
from mode2 import Player

class Main:
    def __init__(self):
        pygame.init()
        self.screen=pygame.display.set_mode((500,400))
        pygame.display.set_caption('Game Main')
        self.bg = pygame.image.load('images/mainbg.png')
        self.rect = self.bg.get_rect()
        self.bg_color=(230,230,230)
        self.OPB = OnePlayerButton(self.screen)

    def mainloop(self):
        while True:
            self.event()
            self.update_screen()
            if self.OPB.m == 2:
                break

    def event(self):
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()

    def update_screen(self):
        self.screen.blit(self.bg,self.rect) 
        self.OPB.blitme()
        pygame.display.flip()

class OnePlayerButton:
    def __init__(self,game):
        self.m = 1
        self.game = game
        self.one_player_button1 = pygame.image.load('images/OPG1.png')
        self.one_player_button2 = pygame.image.load('images/OPG2.png')
        self.rect = self.one_player_button1.get_rect()
        self.rect.center = (250,200)

    def blitme(self):
        if self.m == 1:
            pos = pygame.mouse.get_pos()
            if self.rect.collidepoint(pos):
                self.game.blit(self.one_player_button2,self.rect)
                for event in pygame.event.get():
                    if event.type == pygame.MOUSEBUTTONDOWN:
                        self.m = 2
            else:
                self.game.blit(self.one_player_button1,self.rect)

class Game:
    def __init__(self):
        pygame.init()
        self.GameWorld = []
        self.screen = pygame.display.set_mode((0,0),pygame.FULLSCREEN)
        self.width = self.screen.get_rect().width
        self.height = self.screen.get_rect().height
        pygame.display.set_caption('The World')
        self.grass = pygame.image.load('images/grass.png')
        self.dirt = pygame.image.load('images/dirt.png')
        self.rock = pygame.image.load('images/rock.png')
        self.player = Player(self.screen)

    def world_block(self):
        self.w = world_block(self)
        x_block = 0
        for x in range(1,100,10):            
            self.w.hall_make(2,2,1,x_block)
            x_block = self.w.x_block
            
                        
    def mainloop(self):
        self.world_block()
        while True:
            self.event()
            self.screen_update()
            self.left()
            time.sleep(0.01)

    def event(self):
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_q:
                    pygame.quit()
                    sys.exit()

    def left(self):
        for block in self.GameWorld:
            block[1] -= 1 

    def right(self):
        for block in self.GameWorld:
            block[1] += 1
            
    def screen_update(self):
        self.screen.fill((0,0,255))
        for block in self.GameWorld:
            if block[1] <=self.width and block[1] >=0:
                self.screen.blit(block[0],(block[1],self.height-block[2]))
        self.player.blitme()
        pygame.display.flip()
        
if __name__ == '__main__':
    main = Main()
    main.mainloop()
    g = Game()
    g.mainloop()
        

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
HYS王权超级威威HYS王权超级威威

为什么提升mode1库没安装

点赞0


评论


一只正常的杉一只正常的杉

goodimgsrc="https://static.cod喵/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E5%8A%A0%E6%B2%B9.gif"alt="emotion_编程猫_加油"imgsrc="https://static.cod喵/emoji/codemao/%E7%BC%96%E7%A8%8B%E7%8C%AB_%E7%82%B9%E8%B5%9E.gif"alt="emotion_编程猫_点赞"

点赞0


评论