python#魔兽游戏#英雄联盟lol#地图
python小游戏#魔兽游戏#英雄联盟lol#地图
下面是游戏运行截图
初始化界面
import pygame
import random
import mathpygame.init()
#1. 初始化界面
screen = pygame.display.set_mode((1300, 800), 0, 32)
#创建了一个窗口
pygame.display.set_caption('魔兽')#程序名称
#设置窗口标题
#背景
background_image_filename = 'LOL.png'
mouse_image_filename = '1.png'
mouse_cursor = pygame.image.load(mouse_image_filename).convert_alpha()
#鼠标右键位置pygame.mixer.music.load('bao.mp3')
#加载并转换图像#地图
mapIng = pygame.image.load('LOL.png')
bgX = -495
bgY = -317
mapstep = 0
mapstep2 = 0
ps1 = 0
ps2 = 0#英雄
playerImg = pygame.image.load('player.png')
playerX = 400 #玩家的X坐标
playerY = 400 #玩家的Y坐标
playerStep = 0
playerStep2 = 0score = 0
font = pygame.font.SysFont('simsunnsimsun',32)
#font = pygame.font.SysFont('simsunnsimsun',32) #宋体
显示分数
def show_score():text = f"Score: {score}"score_render = font.render(text, True, (0,255,0))screen.blit(score_render, (10,10))
游戏结束
is_over = False
over_font = pygame.font.Font('freesansbold.ttf', 64)
def check_is_over():if is_over:text = "Game Over "render = over_font.render(text,True,(255,0,0))screen.blit(render, (200,250))# 两个点之间的距离
def distance(bx, by, ex, ey):a = bx - exb = by - eyreturn math.sqrt(a * a + b * b) # 开根号
技能类
class Bullet():def __init__(self):self.img = pygame.image.load('bullet.png')self.x = playerX + 150self.y = playerY - 30self.step = 30#击中def hit(self):global scorefor e in enemies:if(distance(self.x, self.y, e.x, e.y) < 60):pygame.mixer.music.play()e.reset()score += 1print(score)
bullets = []
显示技能
def show_bullets():for b in bullets:screen.blit(b.img, (b.x, b.y))b.hit() #看看是否击中了敌人b.x += b.step #移动子弹#判断子弹是否出了界面,如果出了就移除掉if b.x-playerX>300:bullets.remove(b)
敌人类
number_of_enemies = 2 # 敌人的数量
class Enemy():def __init__(self):self.img = pygame.image.load('enemy.png')self.x = random.randint(20, 1000)self.y = random.randint(20, 700)self.step = random.randint(1, 2)# 当被射中时,恢复位置def reset(self):self.x = random.randint(50, 1000)self.y = random.randint(50, 700)
敌人
def show_enemy():global is_overfor e in enemies:screen.blit(e.img,(e.x, e.y))e.x += e.stepe.y += e.stepif(e.x > 1200 or e.x < 0) or (e.y >700 or e.y < 0):e.step *= -1if distance(playerX, playerY, e.x, e.y) < 80:is_over = Trueprint("游戏结束啦")enemies.clear()
地图
def map():global bgXglobal bgYbgX += mapstepbgY += mapstep2if bgX < -980:bgX = -980if bgX > 0:bgX = 0if bgY < -600:bgY = -600if bgY >0:bgY = 0
enemies = [] #保存所有的敌人
for i in range(number_of_enemies):enemies.append(Enemy())
鼠标
def mouse():x, y = pygame.mouse.get_pos()x -= mouse_cursor.get_width() / 2y -= mouse_cursor.get_height() / 2# 计算光标的左上角位置screen.blit(mouse_cursor, (x, y))# 把光标画上去
英雄
def move_player():global playerXglobal playerYplayerX += playerStepplayerY -= playerStep2#防止英雄出界if playerX > 1200:playerX = 1200if playerX < 0:playerX = 0if playerY > 700:playerY = 700if playerY < 0:playerY = 0
游戏主循环
speed = 5
running = True
while running:for event in pygame.event.get():if event.type == pygame.QUIT:running = Falsemapstep = 0mapstep2 = 0gs2 = 0gs1 = 0x, y = pygame.mouse.get_pos()if y < 20:mapstep2 = speedgs2 = -speedif y > 700:mapstep2 = -speedgs2 = speedif x < 20:mapstep = speedgs1 = speedif x > 1200:mapstep = -speedgs1 = -speedif event.type == pygame.KEYDOWN:if event.key == pygame.K_SPACE:print("使用技能")bullets.append(Bullet())#英雄移动if event.type == pygame.MOUSEBUTTONDOWN:pressed_array = pygame.mouse.get_pressed()for index in range(len(pressed_array)):if pressed_array[index]:if index == 0:print('Pressed LEFT Button!')elif index == 1:print('The mouse wheel Pressed!' )elif index == 2:print('Pressed RIGHT Button!')mouse_x1, mouse_y1 = pygame.mouse.get_pos()if (mouse_x1 - playerX > 10):ps1 = 5if (mouse_x1 - playerX < -10):ps1 = -5if (mouse_y1-playerY > 10 ):ps2 = -5if (mouse_y1 - playerY <-10):ps2 = 5if event.type == pygame.KEYDOWN: # 按下就移动if event.key == pygame.K_RIGHT:ps1 = 5elif event.key == pygame.K_LEFT:ps1 = -5elif event.key == pygame.K_UP:ps2 = 5elif event.key == pygame.K_DOWN:ps2 = -5if event.type == pygame.KEYUP: # 抬起来就不动ps1 = 0ps2 = 0playerStep = ps1 + gs1playerStep2 =ps2 + gs2screen.blit(mapIng, (bgX, bgY))screen.blit(playerImg, (playerX, playerY))mouse()#鼠标map()#移动地图move_player()#移动玩家show_bullets()#释放技能show_enemy()#显示敌人show_score()#显示分数check_is_over()#显示游戏结束字段pygame.display.update()#刷新一下画面
python#魔兽游戏#英雄联盟lol#地图相关推荐
- python爬取英雄联盟手游的全英雄皮肤 初识selenium
python爬取英雄联盟手游的全英雄皮肤 前言 分析页面 具体代码 下载工具类 获取英雄列表的每个英雄 获取英雄皮肤链接并下载 完整代码 成果 总结 前言 近期这个鸽了好久的英雄联盟手游终于上线了,虽 ...
- 英雄联盟LOL地图修改.三种地图任由你改.
这个方法是我最近才研究出来的,自己也一直在用.每天玩这个英雄联盟,看着召唤师峡谷这张地图是不是有些厌倦了呢?我就有这种感觉,现在我来教大家吧. 召唤师峡谷的冬天 是不是有种很清新的感觉? 我来教大家怎 ...
- linux运行国服英雄联盟,从UKUI 3.0桌面截图当中得知,Linux能运行腾讯游戏英雄联盟了...
你没有看错,腾讯游戏英雄联盟在Linux操作系统中也能正常运行了,这一消息是从优麒麟UKUI 3.0桌面环境截图当中得知的,请看下图: 有网友评论称:在UKUI 3.0的商店中发现了腾讯游戏英雄联盟的 ...
- Python爬取英雄联盟全皮肤
Python爬取英雄联盟皮肤 打开英雄联盟官网:https://lol.qq.com,点击游戏资料,按F12进入开发者模式.刷新,找到hero_list.js,里面有我们需要的网址以及其他信息. 代码 ...
- python 游戏辅助lol_用Python爬取英雄联盟(lol)全部皮肤
小三:"怎么了小二?一副无精打采的样子!" 小二:"唉!别提了,还不是最近又接触了一个叫英雄联盟的游戏,游戏中很多皮肤都需要花钱买,但是我钱不够呀..." 小三 ...
- 如何运用python爬游戏皮肤_用Python爬取英雄联盟(lol)全部皮肤
小三:"怎么了小二?一副无精打采的样子!" 小二:"唉!别提了,还不是最近又接触了一个叫英雄联盟的游戏,游戏中很多皮肤都需要花钱买,但是我钱不够呀..." 小三 ...
- python爬取英雄联盟所有皮肤价格表_实用Python是如何爬取英雄联盟(lol)所有皮肤,涨知识了...
小三:"怎么了小二?一副无精打彩的样子!"html 小二:"唉!别提了,还不是最近又接触了一个叫英雄联盟的游戏,游戏中不少皮肤都须要花钱买,可是我钱不够呀..." ...
- python爬取英雄联盟所有皮肤价格表_实用Python是如何爬取英雄联盟(lol)全部皮肤,涨知识了...
小三:"怎么了小二?一副无精打采的样子!" 小二:"唉!别提了,还不是最近又接触了一个叫英雄联盟的游戏,游戏中很多皮肤都需要花钱买,但是我钱不够呀..." 小三 ...
- Python爬虫实战| Python爬取英雄联盟高清壁纸
先看一下最终爬取的效果,每个英雄的壁纸都被爬取下来了: "黑暗之女 安妮"的12张壁纸: 高清大图: 下面开始正式教学! 版本:Python 3.5 工具:Jupyter note ...
- python爬取英雄联盟所有皮肤价格表_用Python爬取英雄联盟(lol)全部皮肤
小三:"怎么了小二?一副无精打采的样子!" 小二:"唉!别提了,还不是最近又接触了一个叫英雄联盟的游戏,游戏中很多皮肤都需要花钱买,但是我钱不够呀..." 小三 ...
最新文章
- perfmon 端口修改_Jmeter 5.3 服务器资源监控插件 PerfMon 使用介绍
- 如何选择正确的RAID级别
- 测量几种不同颜色的LED的V-A 曲线,以及它们作为STM32的P2(Boot1)下拉电阻
- hihocoder1718 最长一次上升子序列
- C语言希尔排序(解析)
- TensorFlow学习笔记(十八)tf.reshape矩阵变形
- vue实现侧边折叠菜单栏手风琴效果
- P2831-愤怒的小鸟【状压dp】
- ApiController得到服务器端绝对路径
- 升级python以及安装anaconda
- 10个微型计算机应用的例子,微型计算机原理与接技术版简答题.doc
- 二分查找算法(Java)
- 一款简约大气的PHP短网址系统程序源码
- java 微信主动推送消息_java微信主动推送消息,java微信主动推送消息怎么实现?
- 408复习策略(强化阶段)
- XML实现异构数据库间转换的实现与分析
- hgame2021 week2 pwn刷题
- 肠道菌群失衡的症状、原因和自然改善
- DM数据库安装、踩雷、解决办法
- 阿里支付系统就该这么设计(万能通用),稳的一批!
热门文章
- YARN : FairScheduler深入解析(队列维护,demand、fair share计算)
- 解决小程序直播组件live-player全屏问题
- 4、c++头文件、源文件使用小记
- android指纹测试,Android指纹识别
- GraphQL学习过程应该是这样的 1
- WP短代码实现“chat”文章聊天形式 文章也能活跃起来
- 32位操作系统电脑上的打印机如何共享给64位操作系统的电脑想要使用_hudingyin_新浪博客
- ERP Qt实现之路 前言
- uva10105-多项式系数
- Excel如何批量删除公式只保留数值