相关文件

关注小编,私信小编领取哟!
当然别忘了一件三连哟~~

公众号:Python日志
可以关注小编公众号,会不定时的发布一下Python小技巧,还有很多资源可以免费领取哟!!
源码领取:加Python学习交流群:773162165 可以领取哟

开发工具

Python版本:3.7.8
相关模块:
pygame模块;
random模块;
pyttsx3模块;
以及一些python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

一:足球

效果展示


部分代码展示

def myinit():screen = pygame.display.set_mode((769,563))g1 = pygame.image.load("g1.jpg").convert()g2 = pygame.image.load("hh.png").convert()t = 0timer = pygame.time.Clock()while(1):timer.tick(30)ticks = pygame.time.get_ticks();for event in pygame.event.get():if event.type == QUIT:pygame.quit()sys.exit()screen.blit(g1,(0,0))t+= 1print(t)if t > 66:break;pygame.display.update()while(1):timer.tick(30)ticks = pygame.time.get_ticks();for event in pygame.event.get():if event.type == QUIT:pygame.quit()sys.exit()if event.type == MOUSEBUTTONUP:mouse_up = event.buttonmouse_up_x,mouse_up_y = event.posif mouse_up_x > 245 and mouse_up_x < 469 and mouse_up_y> 368 and mouse_up_y < 470:returnscreen.blit(g2,(0,0))pygame.display.update()if __name__ == '__main__':pygame.init()screen = pygame.display.set_mode((1200, 800))pygame.display.set_caption("简单足球 公众号:Python日志 源码领取学习交流群:773162165")font = pygame.font.Font(None, 36)myinit()timer = pygame.time.Clock()n1 = 0n2 =0screen = pygame.display.set_mode((1200, 800))for x in range(10000):t = begin_a_game(n1,n2);if t == 1:n1 +=1else:n2 += 1

二:拳皇

效果展示


部分代码展示

import pygame as pgfrom .. import tools
from .. import constants as cclass MainMenu(tools._State):def __init__(self):super(MainMenu, self).__init__()self.reset_game_info()self.startup(0.0, self.persist)def startup(self, current_time, persist):#self.game_info = persist#self.persist = self.game_infoself.next = c.CHOOSINGself.state = c.PLAYself.setup_background()#self.setup_cursor()self.setup_UI()#self.setup_BGM()def setup_UI(self):self.UI = {c.PLAY: [{'image': pg.transform.scale(pg.image.load('images/UI/start_game.png'), (150, 50))},{'image': pg.transform.scale(pg.image.load('images/UI/start_game.png'), (180, 60))}],c.QUIT: [{'image': pg.transform.scale(pg.image.load('images/UI/exit_game.png'), (150, 50))},{'image': pg.transform.scale(pg.image.load('images/UI/exit_game.png'), (180, 60))}]}for state, k in zip(self.UI.keys(), range(0, 2)):for i in range(0, 2):rect = self.UI[state][i]['image'].get_rect()rect.centerx = c.SCREEN_WIDTH // 2rect.centery = 450 + 60 * kself.UI[state][i]['rect'] = rectdef setup_background(self):self.background = pg.transform.scale(pg.image.load('images/%s' % c.TITLE_SCREEN), c.SCREEN_SIZE)self.background_rect = self.background.get_rect()def setup_cursor(self):pass# self.cursor.image = pg.Surface([c.TITLE_CURSOR_WIDTH, c.TITLE_CURSOR_HEIGHT])# self.cursor.image.set_colorkey(c.BLACK)# self.cursor.rect = self.cursor.image.get_rect()# self.cursor.rect.x = 350# self.cursor.rect.y = 300# self.cursor.state = c.PLAYdef update(self, surface, keys, current_time):self.current_time = current_timeself.game_info[c.CURRENT_TIME] = self.current_timeself.update_cursor(keys)self.blit_everything(surface)def update_cursor(self, keys):if self.state == c.PLAY:if keys[pg.K_DOWN]:self.state = c.QUITif keys[pg.K_RETURN]:self.reset_game_info()self.done = Trueelif self.state == c.QUIT:if keys[pg.K_UP]:self.state = c.PLAYif keys[pg.K_RETURN]:self.quit = Truedef blit_everything(self, surface):surface.blit(self.background, self.background_rect)# surface.blit(self.cursor.image, self.cursor.rect)for state in self.UI.keys():if state == self.state:surface.blit(self.UI[state][1]['image'], self.UI[state][1]['rect'])else:surface.blit(self.UI[state][0]['image'], self.UI[state][0]['rect'])def get_event(self, event):passdef reset_game_info(self):self.game_info = {c.P1_CHARACTER: '',c.P2_CHARACTER: '',c.CURRENT_TIME: 0.0,c.P1_HP: 0,c.P2_HP: 0,c.P1_HEART: 0,c.P2_HEART: 0,}self.persist = self.game_infodef setup_BGM(self):pg.mixer.music.load('music/{}'.format(c.TITLE_BGM))pg.mixer.music.play()

三:阴阳师

效果展示

部分代码展示

# 进入游戏场景
while True:# 游戏欢迎界面gs.welcome()time.sleep(3)# 游戏人物介绍gs.introduction_game_character()gs.please_select_game_character()input_figure = int(input('请输入您使用的游戏人物'))game_figure = gs.select_figure(input_figure)time.sleep(2)# 游戏场景介绍以及选择gs.introduction_game_scene()gs.please_select_scene()time.sleep(2)select_game = int(input('请输入您要进入的游戏场景'))# 开始游戏gs.enter_scene(game_figure, select_game)# 是否进入下一轮游戏print()end_game = input(" 是否接着开始下一次挑战(Y/N)")if end_game == 'N':print()print("游戏结束!")breakelif end_game == 'Y':print()print("接着开始")

四:蔡徐坤大战篮球

效果展示


部分代码展示

#游戏主函数
def main():#循环播放背景音乐pygame.mixer.music.play(-1)#用于计算未暂停时经过的时间TIME = 0#生成CXKme = CXK.CXK(bg_size)#用于存放敌人enemies = pygame.sprite.Group()#生成小型敌人small_enemies = pygame.sprite.Group()add_small_enemies(small_enemies,enemies,40)#生成中型敌人mid_enemies = pygame.sprite.Group()add_mid_enemies(mid_enemies,enemies,10)#生成大型敌人big_enemies = pygame.sprite.Group()add_big_enemies(big_enemies,enemies,6)#生成普通子弹bullet1 = []bullet1_index = 0BULLET1_NUM = 4for i in range(BULLET1_NUM):bullet1.append(bullet.Bullet(me.rect.midtop))#生成超级子弹bullet2 = []bullet2_index = 0BULLET2_NUM = 8for i in range(BULLET2_NUM//2):bullet2.append(bullet.Bullet2((me.rect.centerx-10,me.rect.centery)))bullet2.append(bullet.Bullet2((me.rect.centerx+10,me.rect.centery)))clock = pygame.time.Clock()#爆炸图片索引e1_destroy_index = 0e2_destroy_index = 0e3_destroy_index = 0me_destroy_index = 0#统计得分score = 0score_font = pygame.font.Font("font/font.ttf",36)#暂停paused = Falsepause_nor_image = pygame.image.load("images/pause_1.png").convert_alpha()pause_pressed_image = pygame.image.load("images/pause_2.png").convert_alpha()resume_nor_image = pygame.image.load("images/start_1.png").convert_alpha()resume_pressed_image = pygame.image.load("images/start_2.png").convert_alpha()pause_rect = pause_nor_image.get_rect()pause_rect.left,pause_rect.top = width - pause_rect.width - 10,10paused_image = pause_nor_image#设置难度级别level = 1#全屏炸弹bomb_image = pygame.image.load("images/bomb.png").convert_alpha()bomb_rect = bomb_image.get_rect()bomb_font = pygame.font.Font("font/font.ttf",48)bomb_num = 3#护盾shield_image = pygame.image.load("images/shield.png").convert_alpha()shield_rect = shield_image.get_rect()#每30秒发放一个补给包bullet_supply = supply.Bullet_Supply(bg_size)bomb_supply = supply.Bomb_Supply(bg_size)shield_supply = supply.Shield_Supply(bg_size)SUPPLY_TIME = USEREVENTpygame.time.set_timer(SUPPLY_TIME,30*1000)#超级子弹定时器DOUBLE_BULLET_TIME = USEREVENT+1#无敌时间计时器INVINCIBLE_TIME = USEREVENT+2#暂停计时器PAUSE_TIME = USEREVENT+3pygame.time.set_timer(PAUSE_TIME,1*1000)#标志是否使用超级子弹is_double_bullet = False#标志是否有护盾is_protected = False#生命数量life_image = pygame.image.load("images/life.png").convert_alpha()life_rect = life_image.get_rect()life_num = 3#游戏结束画面gameover_font = pygame.font.Font("font/font.ttf",48)again_image = pygame.image.load("images/again.png").convert_alpha()again_rect = again_image.get_rect()gameover_image = pygame.image.load("images/gameover.png").convert_alpha()gameover_rect = gameover_image.get_rect()#用于切换图片CXK_switch_image = 1enemy_switch_image = 1#用于延迟delay = 100enemy_delay = 15#用于限制重复打开记录文件recorded = False#标志是否暂停过is_pause_time = False#主函数循环while True:for event in pygame.event.get():if event.type == QUIT:pygame.quit()sys.exit()#如果有鼠标点击事件elif event.type == MOUSEBUTTONDOWN:#如果是鼠标左键点击暂停按键if event.button == 1 and pause_rect.collidepoint(event.pos):#更改暂停状态paused = not paused#如果当前为暂停if paused:#标志暂停过is_pause_time = True#暂停补给投放pygame.time.set_timer(SUPPLY_TIME,0)#背景音乐暂停pygame.mixer.music.pause()#音效暂停pygame.mixer.pause()#如果当前不是暂停状态else:#如果曾经暂停过if is_pause_time:#设置补给投放时间为30秒减去之前未暂停时经过的时间pygame.time.set_timer(SUPPLY_TIME,(30-TIME)*1000)#从新标志位未暂停is_pause_time = False#继续播放背景音乐pygame.mixer.music.unpause()#继续播放音效pygame.mixer.unpause()#检测鼠标移动事件elif event.type == MOUSEMOTION:#根据鼠标位置更改暂停/继续按键的样式if pause_rect.collidepoint(event.pos):if paused:paused_image = resume_pressed_imageelse:paused_image = pause_pressed_imageelse:if paused:paused_image = resume_nor_imageelse:paused_image = pause_nor_image#检测键盘按下的事件elif event.type == KEYDOWN:#如果按下空格键if event.key == K_SPACE:#如果炸弹数量不为0if bomb_num:#炸弹数量-1bomb_num -=1#使用炸弹音效播放bomb_sound.play()#屏幕内所有敌人暴毙for each in enemies:if each.rect.bottom > 0:each.active = False

五:地道战

效果展示


部分代码展示

import pygamefrom scene.fail_scene import FailScene
from scene.tunnel_war_scene import TunnelWarScene
from scene.win_scene import WinScene
from actor.xiao_tie import XiaoTie
from game import GAME_TITLE, SCREEN_WIDTH, SCREEN_HEIGHT
from scene import ScenePassStatus
from scene.welcome_scene import WelcomeSceneclass TunnelWarGame:def __init__(self):pygame.init()pygame.mixer.init()pygame.display.set_caption(GAME_TITLE)self.surface = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))self.clock = pygame.time.Clock()self.xiao_tie = XiaoTie(3070, 1460)self.current_scene = WelcomeScene(self.xiao_tie)self.flag = Falsedef run(self):while True:# 游戏循环down_flag = Falsefor event in pygame.event.get():# 关闭事件,进行退出处理if event.type == pygame.QUIT:exit()elif event.type == pygame.KEYDOWN:if event.key == pygame.K_ESCAPE:self.flag = not self.flagelse:down_flag = Truekey_list = pygame.key.get_pressed()# 1.获取场景的视窗图像current_surface = self.current_scene.get_current_surface()# 2.绘制窗口self.surface.blit(current_surface, (0, 0))# 3.场景的运动self.current_scene.run(down_flag, key_list)# 4.切换场景pass_status, next_scene_name = self.current_scene.get_pass_status()if pass_status != ScenePassStatus.normal:if next_scene_name:next_scene = globals()[next_scene_name](self.xiao_tie)self.current_scene = next_sceneelse:break# 通过时钟对象指定循环频self.clock.tick(40)# 调用flip方法更新显示,也可以使用update方法if not self.flag:pygame.display.flip()

好啦,今天的分享就到这里啦,源码获取可以看看相关文件哟!!

【Python游戏】Python各大游戏合集(4):足球、拳皇、阴阳师、蔡徐坤大战篮球 ,地道战 | 附带源码相关推荐

  1. 【Python游戏】咱就说Python实现一个蔡徐坤大战篮球的小游戏,可还行? | 附带源码

    相关文件 想学Python的小伙伴可以关注小编的公众号[Python日志] 有很多的资源可以白嫖的哈,不定时会更新一下Python的小知识的哈!! 需要源码的小伙伴可以在公众号回复蔡徐坤大战篮球 Py ...

  2. 【pygame游戏】用Python实现一个蔡徐坤大战篮球的小游戏,可还行?【附源码】

    Python制作坤坤打篮球小游戏 序言 准备工作 开发环境 效果预览 开始界面 游戏规则 结束游戏 代码实现 序言 话说在前面,我不是小黑子~ 我是超级大黑子

  3. 【Python恶搞】Python恶搞项目代码合集:连续发送信息、弹窗、祝福单身狗 | 附带源码

    相关文件 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 公众号:Python日志 可以关注小编公众号,会不定时的发布一下Python小技巧,还有很多资源可以免费领取哟!! 源码领取:加Pyth ...

  4. 【pygame游戏】Python实现蔡徐坤大战篮球游戏【附源码】

    前言 话说在前面,我不是小黑子~

  5. python写篮球游戏_程序员们把“蔡徐坤打篮球”写成了一个游戏

    原标题:程序员们把"蔡徐坤打篮球"写成了一个游戏 github一直是一个人才辈出的地方 从"杨超越杯编程大赛" 到"清华课程笔记" 无数令人 ...

  6. python篮球-用Python把蔡徐坤打篮球视频转换成字符动画!

    原标题:用Python把蔡徐坤打篮球视频转换成字符动画! 说到现在网络最火的梗,非"蔡徐坤打篮球"莫属.最近,蔡徐坤当仁不让地成为了娱乐圈被黑的最惨的明星. 自从2019年1月份, ...

  7. python动画篮球大小_用Python把蔡徐坤打篮球视频转换成字符动画!

    说到现在网络最火的梗,非"蔡徐坤打篮球"莫属.最近,蔡徐坤当仁不让地成为了娱乐圈被黑的最惨的明星. 自从2019年1月份,蔡徐坤成为了NBA官方形象代言人之后,他打篮球的视频片段被 ...

  8. HTML5 蔡徐坤打篮球游戏 NMSL❤️❤️❤️

    此文章来自实验楼用户dancebyte在实验楼的技术分享,希望大家喜欢~ 使用 es6 语法及原生 javascript 实现的蔡徐坤打篮球游戏.游戏有多种难度可选择(简单.普通.困难.极限以及非人类 ...

  9. 【Python搞笑游戏】因蔡徐坤打篮球动作超火,被某程序员写成了一款游戏,画面美到不敢看,成功学到了精髓~(附源码免费)

    导语 之前网络最火的梗,非"C徐坤打篮球"莫属.个人感觉,只有多年前的"春哥纯爷们"堪与匹敌! 虽然说C徐坤打篮球是一个老梗了,但是确实非常搞笑,今天就跟着小编 ...

最新文章

  1. np实现sigmoid_使用numpy实现一个深度学习框架
  2. 第三讲 数学与简单DP【完结】
  3. linux 构建 无线网络 过程
  4. mysql 半同步关闭_MySQL的半同步模式配置
  5. Docker在Ubuntu16.04上安装
  6. ibm cloud怎么使用_使用VueJS,FeathersJS和GraphQL快速入门IBM Cloud
  7. JavaWeb项目实战(2)安装JDK和Tomcat以及Eclipse构造开发环境
  8. 设置对话框大小和位置
  9. js实现的笛卡尔乘积-商品发布
  10. 简单登录页面html代码
  11. python — pip 下载速度慢解决方法(含Anaconda、spyder 下载包的方法)
  12. 手把手教会你 | 多用户-服务器聊天室应用软件开发
  13. 一文读懂“语言模型”
  14. OA协同办公系统对企业建设会带来什么好处?
  15. html视频自动播放播放器,支持弹字幕HTML5视频播放器DPlayer
  16. PL330 DMAC笔记(3) - 外设请求接口,事件和中断,Abort
  17. 电脑右键文件夹,一直转圈圈卡死,假死机状态解决方案!
  18. 数据挖掘十大经典算法(详解)
  19. (六)Activiti之实现学生请假流程
  20. Latex overleaf 图表公式参考文献

热门文章

  1. 在 iOS 与 Android 上实现 React Native 应用深度链接,通过 URL 打开到指定页面
  2. linux iostat
  3. 又再次的漂走了,到了新的地方
  4. 淘宝站外引流、站外引流、微博、抖音、快手、小红书,多渠道引流---淘宝站外引流方法
  5. 小米 CiVi S什么时候发布 小米 CiVi S配置如何
  6. Qt quick性能提升
  7. python中format的用法-Python中format的用法
  8. soap java实现_java使用soap方式简单实现webservice (二)
  9. mysql强制索引有什么坏处
  10. Docker入门到深入-知识点总结