python小游戏代码
from random import choice
cava_numbers = range(0,20)
cavas = []
for i in cava_numbers:
([])
unvisited_cavas = range(0,20)
visited_cavas = [0]
(0)
while unvisited_cavas != []:
i = choice(visited_cavas)
if len(cavas[i])>=3:
continue
next_cava = choice(unvisited_cavas)
cavas[i].append(next_cava)
cavas[next_cava].append(i)
(next_cava)
(next_cava)
for i in cava_numbers:
while len(cavas[i])<3:
passage_to = choice(cava_numbers)
cavas[i].append(passage_to)
print '------------------------------------'
wumpus_location = choice(cava_numbers)
player_location = choice(cava_numbers)
while player_location==wumpus_location:
player_location=choice(cava_numbers)
print "Welcome to Hunt the Wumpus!"
print "You can see",len(cava_numbers),"cavas"
print "To play,just type the number"
print "of the cava you wish to enter next"
while True:
print "You are in cava",player_location
print "From here,you can see three cavas:",cavas[player_location]
if wumpus_location in cavas[player_location]:
print "I smell a Wumpus"
print "Which cava next"
player_input = raw_input(">")
if (not () or
int(player_input) not in cavas[player_location]):
print player_input,""
print "That's not a direction that i can see"
else:
player_location=int(player_input)
if player_location==wumpus_location:
print "Aargh! You got esten by a Wumpus!"
break
python 有趣的代码
Python有趣的代码Python是一种简单易学、功能强大的编程语言,它不仅适用于开发各种类型的应用程序,还可以用来编写有趣的代码。
本文将为您介绍一些有趣的Python代码,希望能给您带来一些乐趣和启发。
1. 打印自己的名字name = "John Doe"print(f"Hello, my name is {name}")这段代码使用了Python的f-string格式化字符串功能,将变量name的值插入到字符串中,实现了打印自己的名字。
2. 猜数字游戏import randomnumber = random.randint(1, 100)guess = Nonewhile guess != number:guess = int(input("猜一个1到100之间的数字: "))if guess < number:print("太小了,再试试!")elif guess > number:print("太大了,再试试!")else:print("恭喜你,猜对了!")这段代码实现了一个简单的猜数字游戏。
程序会生成一个1到100之间的随机数,然后提示用户猜数字,根据用户的猜测给出提示,直到猜对为止。
3. 绘制彩色螺旋import turtlecolors = ["red", "orange", "yellow", "green", "blue", "purple"]turtle.speed(0)for i in range(360):turtle.pencolor(colors[i % len(colors)])turtle.width(i / 100 + 1)turtle.forward(i)turtle.left(59)这段代码利用Python的turtle模块绘制了一个彩色螺旋。
python实例:利用pygame实现小游戏“飞机大战”
python实例:利⽤pygame实现⼩游戏“飞机⼤战”0、程序代码代码1:1import random2import pygame34# 屏幕⼤⼩的常量5 SCREEN_RECT = pygame.Rect(0, 0, 480, 700)6# 刷新的帧率7 FRAME_PER_SEC = 608# 创建敌机的定时器常量9 CREATE_ENEMY_EVENT = EREVENT10# 英雄发射⼦弹事件11 HERO_FIRE_EVENT = EREVENT+112#⼦弹速度13 BULLET_SPEED = -2.5141516class GameSprite(pygame.sprite.Sprite):17""""飞机⼤战游戏精灵"""1819def__init__(self, image_name, speed = 1):20# 调⽤⽗亲的初始化⽅法21 super().__init__()22# 定义对象的属性23 self.image = pygame.image.load(image_name)24 self.rect = self.image.get_rect()25 self.speed = speed2627def update(self):28#在屏幕的垂直⽅向上移动29 self.rect.y += self.speed303132class Background(GameSprite):33""""游戏背景精灵"""3435def__init__(self, is_alt = False):36# 1.调⽤⽗类构造⽅法37 super().__init__("./images/background.png")38# 2.判断是否与前图像循环重合,若否,则需重新设置初始位置39if is_alt:40 self.rect.y = -self.rect.height414243def update(self):44# 1.调⽤⽗类的⽅法,,,注意super后⾯要加括号!!!45 super().update()46# 2.判断是否移出屏幕47if self.rect.y >= SCREEN_RECT.height:48 self.rect.y = -self.rect.height495051class Enemy(GameSprite):52""""敌机精灵"""5354def__init__(self):55# 1.调⽤⽗类⽅法,创建敌机精灵56 super().__init__("./images/enemy1.png")57# 2. 指定敌机的初始随机速度 1-2-358 self.speed = random.randint(1,3)59# 3.指定敌机的初始随机位置60 self.rect.bottom = 06162 max_x = SCREEN_RECT.width - self.rect.width63 self.rect.x = random.randint(0, max_x)646566def update(self):6768# 1.调⽤⽗类⽅法,保持垂直⽅向的飞⾏69 super().update()70# 2.判断是否⾮出屏幕,如果是,需要从精灵组删除敌机71if self.rect.y >= SCREEN_RECT.height:72#print("飞出屏幕,需要从精灵组删除...")73# kill⽅法可以将精灵从精灵组中移除74 self.kill()7576def__del__(self):77#print("敌机挂了%s" %self.rect)78pass798081class Hero(GameSprite):82"""英雄精灵"""8384def__init__(self):85# 1.调⽤⽗类⽅法,设置image和speed86 super().__init__("./images/me1.png", speed = 0)87 self.speed1 = 088# 2.设置英雄的初始位置89 self.rect.centerx = SCREEN_RECT.centerx90 self.rect.bottom = SCREEN_RECT.bottom - 10091# 3.创建⼦弹精灵组92 self.bullets = pygame.sprite.Group()9394def update(self):95#(错误的判断句,会导致⼀旦出界就很难再恢复回来)if 0 <= self.rect.x <= SCREEN_RECT.width - self.rect.width: 96 self.rect.x += self.speed97if self.rect.x < 0:98 self.rect.x = 099elif self.rect.right > SCREEN_RECT.width:100 self.rect.right = SCREEN_RECT.width101102 self.rect.y += self.speed1103if self.rect.y < 0:104 self.rect.y = 0105elif self.rect.bottom > SCREEN_RECT.height:106 self.rect.bottom = SCREEN_RECT.height107108109def fire(self):110#print("发射⼦弹")111# 1.创建⼦弹精灵112 bullet = Bullet()113# 2.设置精灵位置114 bullet.rect.bottom = self.rect.y115 bullet.rect.centerx = self.rect.centerx116# 3.将精灵添加到精灵组117 self.bullets.add(bullet)118119120class Bullet(GameSprite):121""""⼦弹精灵"""122123def__init__(self):124# 调⽤⽗类⽅法125 super().__init__("./images/bullet1.png", BULLET_SPEED)126127def update(self):128 super().update()129if self.rect.bottom < 0:130 self.kill()131132def__del__(self):133#print("⼦弹被销毁")134passView Code代码2:1from plane_sprites import *2# 游戏主程序34class PlaneGame(object):5""""飞机⼤战主游戏"""67def__init__(self):8print("游戏初始化")910# 1.创建游戏的窗⼝11 self.screen = pygame.display.set_mode(SCREEN_RECT.size)12# 2.创建游戏的时钟13 self.clock = pygame.time.Clock()14# 3.调⽤私有⽅法,精灵和精灵组的创建15 self.__create_sprites()16# 4.设置定时器事件——创建敌机 1s17 pygame.time.set_timer(CREATE_ENEMY_EVENT,1000)18 pygame.time.set_timer(HERO_FIRE_EVENT, 300)1920def__create_sprites(self):21# 创建背景精灵和精灵组22 bg1 = Background()23 bg2 = Background(True)24 self.back_group = pygame.sprite.Group(bg1, bg2)25# 创建敌机精灵26 self.enemy_group = pygame.sprite.Group()27# 创建英雄精灵28 self.hero = Hero()29 self.hero_group = pygame.sprite.Group(self.hero)303132def start_game(self):33print("游戏开始...")3435while True:36# 1.设置刷新帧率37 self.clock.tick(FRAME_PER_SEC)38# 2.事件监听39 self.__event_handler()40# 3.碰撞检测41 self.__check_collide()42# 4.更新/绘制精灵组43 self.__update_sprites()44# 5.更新显⽰45 pygame.display.update()464748def__event_handler(self):49for event in pygame.event.get():50#判断是否退出游戏51if event.type == pygame.QUIT:52 PlaneGame.__game_over()53elif event.type == CREATE_ENEMY_EVENT:54#print("敌机出现。
Python飞行棋游戏代码
Python飞行棋游戏代码飞行棋游戏涉及到游戏逻辑、界面设计等多个方面,这里仅提供一个简单的Python飞行棋游戏框架,使用pygame库实现。
要运行此代码,请确保已安装pygame库。
import pygameimport sysimport random# 初始化pygamepygame.init()# 设置窗口大小screen_width = 800screen_height = 600screen = pygame.display.set_mode((screen_width, screen_height))# 设置标题pygame.display.set_caption("飞行棋")# 加载背景图片background = pygame.image.load("background.png")# 加载棋子图片player = pygame.image.load("player.png")opponent = pygame.image.load("opponent.png")# 设置棋盘格子大小grid_size = 40# 创建棋盘board = [[0 for _ in range(grid_size)] for _ in range(grid_size)]# 随机放置玩家和对手棋子player_pos = random.randint(0, grid_size - 1), random.randint(0, grid_size - 1)opponent_pos = random.randint(0, grid_size - 1), random.randint(0, grid_size - 1)while player_pos == opponent_pos:opponent_pos = random.randint(0, grid_size - 1), random.randint(0, grid_size - 1)# 将棋子图片放置在棋盘格子上board[player_pos[0]][player_pos[1]] = playerboard[opponent_pos[0]][opponent_pos[1]] = opponent# 游戏主循环turn = 1while True:# 处理事件for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit()elif event.type == pygame.MOUSEBUTTONDOWN:x, y = event.posrow, col = x // grid_size, y // grid_sizeif board[row][col] == 0:board[row][col] = turn % 2turn += 1# 清屏screen.blit(background, (0, 0))# 绘制棋盘格子for i in range(grid_size):for j in range(grid_size):pygame.draw.rect(screen, (255, 255, 255), (i * grid_size, j * grid_size, grid_size, grid_size), 1)if board[i][j] == 1:pygame.draw.circle(screen, (0, 0, 255), (i * grid_size + grid_size // 2, j * grid_size + grid_size // 2), 10)elif board[i][j] == 2:pygame.draw.circle(screen, (255, 0, 0), (i * grid_size + grid_size // 2, j * grid_size + grid_size // 2), 10)# 更新屏幕pygame.display.update()请注意,这个代码仅仅实现了一个非常简化的飞行棋游戏,只有一个可以移动的棋子。
python飞翔的小鸟源代码
python飞翔的小鸟源代码Python飞翔的小鸟源代码介绍:Python飞翔的小鸟源代码是一款基于Python语言开发的游戏,游戏玩法简单,玩家通过点击屏幕使小鸟飞行,避免撞到障碍物。
该游戏实现了基本的游戏逻辑和界面设计,适合初学者学习和练手。
一、环境搭建1.安装Python3在官网下载Python3版本并安装。
2.安装Pygame库使用pip命令安装Pygame库:```pip install pygame二、源代码解析1.导入模块```pythonimport pygameimport randomimport sys```导入pygame、random和sys模块。
2.初始化pygame```pythonpygame.init()```初始化pygame,必须在程序开始时调用。
3.设置窗口大小和标题```pythonsize = width, height = 288, 512screen = pygame.display.set_mode(size)pygame.display.set_caption("Flappy Bird")```设置窗口大小为288×512,并设置标题为“Flappy Bird”。
4.加载图片资源```pythonbackground_image =pygame.image.load("images/background.png").convert()floor_image = pygame.image.load("images/floor.png").convert() bird_images =[pygame.image.load("images/bird1.png").convert_alpha(), pygame.image.load("images/bird2.png").convert_alpha(),pygame.image.load("images/bird3.png").convert_alpha()]pipe_image =pygame.image.load("images/pipe.png").convert_alpha()加载游戏中需要用到的图片资源。
python例子for有趣案例
python例子for有趣案例以Python语言为例,for循环是一种非常有趣且常用的结构,它允许我们重复执行特定的代码块,可以应用于各种有趣的案例。
下面列举10个以Python的for循环为核心的有趣案例。
1. 猜数字游戏猜数字游戏是一种非常经典的游戏,我们可以利用for循环来实现一个简单的猜数字游戏。
通过随机生成一个数字,然后让用户通过输入猜测的数字,根据用户的输入给出相应的提示,直到用户猜中为止。
2. 绘制图形利用for循环可以绘制各种有趣的图形。
比如,我们可以使用for 循环嵌套来绘制一个三角形、正方形、五角星等等。
通过控制循环变量的范围和输出的符号,可以绘制出各种有趣的图案。
3. 打印九九乘法表九九乘法表是学习数学时经常使用的一个工具,我们可以使用两个嵌套的for循环来打印九九乘法表。
通过控制循环变量的范围和输出的格式,可以打印出清晰美观的九九乘法表。
4. 统计字符出现次数使用for循环可以遍历字符串,并统计每个字符在字符串中出现的次数。
通过定义一个空字典和一个for循环,可以实现一个简单的字符统计程序,输入一个字符串,输出每个字符及其出现的次数。
5. 列表推导式列表推导式是Python中非常有趣和强大的特性之一,它允许我们使用for循环和条件语句快速生成一个新的列表。
通过在一个方括号内使用for循环和条件语句,可以实现对原始列表的筛选、变换和组合等操作,生成一个新的列表。
6. 文件读取和处理在处理文本文件或日志文件时,我们经常需要逐行读取文件内容并进行处理。
使用for循环可以很方便地逐行读取文件,并对每一行进行处理。
比如,我们可以使用for循环逐行读取一个文本文件,并统计其中单词的个数、行数或者进行其他处理。
7. 遍历数据结构for循环不仅适用于遍历字符串,还可以遍历列表、元组、集合、字典等各种数据结构。
通过使用for循环和内置的遍历函数,可以方便地遍历数据结构中的每个元素,并进行相应的操作。
【python】10分钟教你用Python做个打飞机小游戏超详细教程
【python】10分钟教你⽤Python做个打飞机⼩游戏超详细教程整体框架开始之前-精灵类Sprite⼦弹类class Bullet玩家飞机类class Player敌机类class Enemy游戏主体循环以及帧率设置让⼦弹飞刷出敌机 打怪把飞机敌机⼦弹都画出来处理键盘事件分数显⽰ 和 GameOver最终代码这次还是⽤python的pygame库来做的游戏。
关于这个库的内容,读者可以上⽹了解⼀下。
本⽂只讲解⽤到的知识。
代码参考⾃⽹上,⾃⼰也做了⼀点代码简化。
尽量把最核⼼的⽅⾯⽤最简单的⽅式呈现给⼤家,让⼤家尽快掌握这个游戏的框架。
⾄于那些华丽的功能,⼤家在弄懂了核⼼知识以后,再去添加也是⾮常easy的。
这个游戏设计⽤到了⾯向对象的编程思想。
游戏主体划分为三个主要的类:⼦弹类class Bullet玩家类class Player敌机类class Enemy在屏幕上可见的也就是这三个东西了。
⾃⼰的飞机、敌⼈的飞机、⼦弹。
因此整个游戏的核⼼就是:把这三个东西的图像呈现在屏幕上。
判断和处理⼦弹撞击敌机和敌机撞击玩家这两种情况。
下⾯我们会展开为⼤家⼀⼀讲解。
在下⾯的代码中,你们会⼤量见到这个pygame.sprite模块。
这⾥就给⼤家介绍⼀下。
“sprite”,中⽂翻译“精灵”,在游戏动画⼀般是指⼀个独⽴运动的画⾯元素,在pygame中,就可以是⼀个带有图像(Surface)和⼤⼩位置(Rect)的对象。
简单来说是⼀个会动图⽚。
它的两个成员变量self.image=要显⽰图⽚的Surfaceself.rect = 显⽰Surface的区域对于self.rect,常⽤的设置rect的⽅法:self.rect = self.image.get_rect()。
然后设定self.rect.topleft=(0,0)来设定左上⾓的位置,从⽽设定这个精灵在屏幕上的显⽰位置。
精灵特别适合⽤在OO语⾔中,⽐如Python。
python小游戏源代码
# --按键检测
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
key_pressed = pygame.key.get_pressed()
#播放背景音乐
pygame.mixer.music.load(cfg.AUDIO_PATHS['bgm'])
pygame.mixer.music.play(-1, 0.0)
#字体加载
font = pygame.font.Font(cfg.FONT_PATH, 40)
#定义hero
hero = Hero(game_images['hero'], position=(375, 520))
pygame.display.flip()
clock.tick(cfg.FPS)
#游戏结束,记录最高分并显示游戏结束画面
fp = open(cfg.HIGHEST_SCORE_RECORD_FILEPATH, 'w')
fp.write(str(highest_score))
fp.close()
return showEndGameInterface(screen, cfg, score, highest_score)
#定义食物组
food_sprites_group = pygame.sprite.Group()
generate_food_freq = random.randint(10, 20)
Python天天酷跑小游戏源码
天天酷跑小游戏制作一、天天酷跑小游戏二、首先安装PYcharm软件,python3.7解释器三、先展示效果图如下四、分享代码:#库定义:import pygame,sysimport random#游戏配置width = 1200 #窗口宽度height = 508 #窗口高度size = width, heightscore=None #分数myFont=myFont1=None #字体surObject=None #障碍物图片surGameOver=None #游戏结束图片bg=None #背景对象role=None #人物对象object=None #障碍物对象objectList=[] #障碍物对象数组clock=None #时钟gameState=None #游戏状态(0,1)表示(游戏中,游戏结束)#写人物class Role: #人物def __init__(self,surface=None,y=None):self.surface=surfaceself.y=yself.w=(surface.get_width())/12self.h=surface.get_height()/2self.currentFrame=-1self.state=0 #0代表跑步状态,1代表跳跃状态,2代表连续跳跃self.g=1 #重力加速度self.vy=0 #y轴速度self.vy_start=-20 #起跳开始速度def getRect(self):return (0,self.y+12,self.w,self.h)#写障碍物class Object: #障碍物def __init__(self,surface,x=0,y=0):self.surface=surfaceself.x=xself.y=yself.w=surface.get_width()self.h=surface.get_height()self.currentFrame=random.randint(0,6)self.w = 100self.h = 100def getRect(self):return (self.x,self.y,self.w,self.h)def collision(self,rect1,rect2):#碰撞检测if (rect2[0]>=rect1[2]-20) or (rect1[0]+40>=rect2[2])or (rect1[1]+rect1[3]<rect2[1]+20) or (r ect2[1]+rect2[3]<rect1[1]+20):return Falsereturn True#写背景class Bg: #背景def __init__(self,surface):self.surface=surfaceself.dx=-10self.w=surface.get_width()self.rect=surface.get_rect()def initGame():global bg,role,clock,gameState,surObject,surGameOver,score,myFo nt,myFont1,objectList#分数初始化score=0#初始化objectList=[]#加载字体myFont=pygame.font.Font("./freesansbold.ttf",32)myFont1=pygame.font.Font("./freesansbold.ttf",64)# 创建时钟对象 (可以控制游戏循环频率)clock = pygame.time.Clock()#初始化游戏状态gameState=0#游戏背景surBg=pygame.image.load("image/bg.bmp").convert_alpha()bg=Bg(surBg)#结束画面surGameOver=pygame.image.load("image/gameover.bmp").convert _alpha()#人物图片surRole=pygame.image.load("image/role.png").convert_alpha() role=Role(surRole,508-85)#障碍物图片surObject=pygame.image.load("image/object.png").convert_alpha()def addObject():global surObject,object,objectList,objectrate=4#是否生成障碍物if not random.randint(0,300)<rate:returny=random.choice([height-100,height-200,height-300,height-400]) object=Object(surObject,width+40,y)objectList.append(object)def updateLogic():global gameState,score#键盘事件处理for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()elif event.type==pygame.KEYDOWN: #空格键跳跃if gameState==0:if event.key==pygame.K_SPACE: if role.state==0:role.state=1role.vy=role.vy_startelif role.state==1:role.state=2role.vy=role.vy_startelif gameState==1:if event.key==pygame.K_SPACE:#重新开始游戏initGame()if gameState==0:#背景的移动bg.dx+=10if bg.dx==1200:bg.dx=0#人物的移动if role.state==0:role.currentFrame+=1if role.currentFrame==12: role.currentFrame=0 else:role.y+=role.vyrole.vy+=role.gif role.y>=508-85:role.y=508-85role.state=0#障碍物的移动addObject()for object in objectList:object.x-=10 #障碍物移动# 障碍物超出屏幕,移除障碍物if object.x+object.w<=0:objectList.remove(object)score+=10 #避开障碍物,加10分print("移除了一个目标")#碰撞检测if object.collision(role.getRect(),object.getRect()): if(object.currentFrame==6):objectList.remove(object)score+=100 #吃金币加100分print(score)print("吃了一个金币")else:gameState=1 #游戏失败print("发生了碰撞!")。
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
基于Python-Pycharm实现的猴⼦摘桃⼩游戏(源代码)源码及注释:import pygamefrom sys import exitfrom random import randintimport timeimport os# 定义窗⼝分辨率SCREEN_WIDTH = 700SCREEN_HEIGHT = 600current_path = os.path.abspath(os.path.dirname(__file__))root_path = current_path[:current_path.find("monkey-picking-peach\\") + len("monkey-picking-peach\\")] \+ "resource\\images\\"# 图⽚BACKGROUND_IMAGE_PATH = root_path + "background.jpg"MONKEY_IMAGE_PATH = root_path + "monkey.png"APPLE_IMAGE_PATH = root_path + "apple.png"JUMP_STATUS = FalseOVER_FLAG = FalseSTART_TIME = Noneoffset = {pygame.K_LEFT: 0, pygame.K_RIGHT: 0, pygame.K_UP: 0, pygame.K_DOWN: 0}# 定义画⾯帧率FRAME_RATE = 60# 定义动画周期(帧数)ANIMATE_CYCLE = 30ticks = 0clock = pygame.time.Clock()# 猴⼦类class Monkey(pygame.sprite.Sprite):# 苹果的数量apple_num = 0def __init__(self, mon_surface, monkey_pos):pygame.sprite.Sprite.__init__(self)self.image = mon_surfaceself.rect = self.image.get_rect()self.rect.topleft = monkey_posself.speed = 5# 控制猴⼦的移动def move(self, _offset):global JUMP_STATUSx = self.rect.left + _offset[pygame.K_RIGHT] - _offset[pygame.K_LEFT]y = self.rect.top + _offset[pygame.K_DOWN] - _offset[pygame.K_UP]if y < 0:self.rect.top = 0JUMP_STATUS = Trueelif y >= SCREEN_HEIGHT - self.rect.height:self.rect.top = SCREEN_HEIGHT - self.rect.heightJUMP_STATUS = Falseelse:self.rect.top = yJUMP_STATUS = Trueif x < 0:self.rect.left = 0elif x > SCREEN_WIDTH - self.rect.width:self.rect.left = SCREEN_WIDTH - self.rect.widthelse:self.rect.left = x# 接苹果def picking_apple(self, app_group):# 判断接到⼏个苹果picked_apples = pygame.sprite.spritecollide(self, app_group, True)# 添加分数self.apple_num += len(picked_apples)# 接到的苹果消失for picked_apple in picked_apples:picked_apple.kill()# 苹果类class Apple(pygame.sprite.Sprite):def __init__(self, app_surface, apple_pos):pygame.sprite.Sprite.__init__(self)self.image = app_surfaceself.rect = self.image.get_rect()self.rect.topleft = apple_posself.speed = 1def update(self):global START_TIMEif START_TIME is None:START_TIME = time.time()self.rect.top += (self.speed * (1 + (time.time() - START_TIME) / 40))if self.rect.top > SCREEN_HEIGHT:# 苹果落地游戏结束global OVER_FLAGOVER_FLAG = Trueself.kill()# 初始化游戏pygame.init()screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))pygame.display.set_caption("猴⼦接苹果")# 载⼊图⽚background_surface = pygame.image.load(BACKGROUND_IMAGE_PATH).convert() monkey_surface = pygame.image.load(MONKEY_IMAGE_PATH).convert_alpha()apple_surface = pygame.image.load(APPLE_IMAGE_PATH).convert_alpha()# 创建猴⼦monkey = Monkey(monkey_surface, (200, 500))# 创建苹果组apple_group = pygame.sprite.Group()# 分数字体score_font = pygame.font.SysFont("arial", 40)# 主循环while True:if OVER_FLAG:break# 控制游戏最⼤帧率clock.tick(FRAME_RATE)# 绘制背景screen.blit(background_surface, (0, 0))if ticks >= ANIMATE_CYCLE:ticks = 0# 产⽣苹果if ticks % 30 == 0:apple = Apple(apple_surface,[randint(0, SCREEN_WIDTH - apple_surface.get_width()), -apple_surface.get_height()]) apple_group.add(apple)# 控制苹果apple_group.update()# 绘制苹果组apple_group.draw(screen)# 绘制猴⼦screen.blit(monkey_surface, monkey.rect)ticks += 1# 接苹果monkey.picking_apple(apple_group)# 更新分数score_surface = score_font.render(str(monkey.apple_num), True, (0, 0, 255)) screen.blit(score_surface, (620, 10))# 更新屏幕pygame.display.update()for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()exit()# 控制⽅向if event.type == pygame.KEYDOWN:if event.key in offset:if event.key == pygame.K_UP:offset[event.key] = 80else:offset[event.key] = monkey.speedelif event.type == pygame.KEYUP:if event.key in offset:offset[event.key] = 0# 移动猴⼦if JUMP_STATUS:offset[pygame.K_DOWN] = 5offset[pygame.K_UP] = 0monkey.move(offset)# 游戏结束推出界⾯score_surface = score_font.render(str(monkey.apple_num), True, (0, 0, 255)) over_surface = score_font.render(u"Game Over!", True, (0, 0, 255)) screen.blit(background_surface, (0, 0))screen.blit(score_surface, (620, 10))screen.blit(over_surface, (250, 270))while True:pygame.display.update()for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()exit()⾷⽤指南:使⽤的图⽚monkey.png:background.jpg:apple.png:这是我的⽂件⽬录,学习者也可改为⾃⼰的:更改的代码位置:root_path = current_path[:current_path.find("monkey-picking-peach\\") + len("monkey-picking-peach\\")] \ + "resource\\images\\"游戏截图:到此这篇关于基于Python-Pycharm实现的猴⼦摘桃⼩游戏的⽂章就介绍到这了,更多相关Python 猴⼦摘桃⼩游戏内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
pythonpygame愤怒的小鸟游戏示例代码
pythonpygame愤怒的⼩鸟游戏⽰例代码⼩鸟(image)游戏展⽰代码展⽰import pygame,syspygame.init()#初始化操作#保存窗⼝⼤⼩width,height=600,400screen=pygame.display.set_mode([width,height])#创建游戏窗⼝#设置窗⼝标题pygame.display.set_caption("愤怒的⼩鸟")#加载⼩鸟素材player=pygame.image.load("xiaoniao.png")#获取图像矩形位置rect=player.get_rect()#声明XY运动速度的列表speed = [3,2]left_head = pygame.transform.flip(player,True,False)right_head = player#⽆限循环while True:for event in pygame.event.get():if event.type ==pygame.QUIT:exit()if event.type ==pygame.KEYDOWN:if event.key == pygame.K_LEFT:player = left_head #⼩鸟的头向左speed=[-2,1]if event.key == pygame.K_RIGHT:player = right_head #⼩鸟的头向左speed=[2,1]if event.key == pygame.K_UP:player = left_head #⼩鸟的头向左speed=[2,-1]if event.key == pygame.K_DOWN:player = right_head #⼩鸟的头向左speed=[2,1]rect =rect.move(speed)if rect.right>width or rect.left<0:#将图⽚⽔平翻转反转对象是否⽔平反转是否垂直翻转player = pygame.transform.flip(player,True,False)speed[0]=-speed[0]if rect.bottom>height or rect.top<0:speed[1]=-speed[1]screen.fill((255,255,255))screen.blit(player,rect)pygame.display.update()pygame.time.delay(10)这就是⽤python制作的完整原创愤怒⼩鸟,如果有懒得⼩伙伴可以在我的资源⾥下载呢,5个积分即可下载哦!我直接附上资源链接好了:到此这篇关于python pygame 愤怒的⼩鸟游戏⽰例代码的⽂章就介绍到这了,更多相关python愤怒的⼩鸟内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
