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

【作品介绍】
这是一个有计划的游戏,将来会出更多的版本,现在这个游戏只能查看世界,按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
一只正常的杉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
评论