当前位置: 首页 > news >正文

网站开发的费用计入什么科目html网页设计期末作业

网站开发的费用计入什么科目,html网页设计期末作业,电话网络营销是什么,seo短视频网页入口引流网址一、响应鼠标左键事件 pygame.MOUSEBUTTONDOWN 表示鼠标事件发生, pygame.mouse.get_pressed()[0] 确认是鼠标左键被按下 pygame.mouse.get_pos() 获取到鼠标按下时的坐标值。 因此,我们可以在事件逻辑中例用此三个函数判断鼠标事件及对应的坐标&#x…

一、响应鼠标左键事件

pygame.MOUSEBUTTONDOWN 表示鼠标事件发生, pygame.mouse.get_pressed()[0] 确认是鼠标左键被按下 pygame.mouse.get_pos() 获取到鼠标按下时的坐标值。 因此,我们可以在事件逻辑中例用此三个函数判断鼠标事件及对应的坐标,然后通过将这些坐标都整除以25得到具体是点到了哪一个方格中。 事件的代码如下:

elif event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:x, y = pygame.mouse.get_pos()self.cover.delete(x, y)self.game_map.add(x, y)
复制代码

其中cover是我们之前所写的整个20*20的方格块,且每个格子的大小为25*25 game_map是我们即将实现的新类,此类中用来标明每个小格子中存放的是地雷还是表示地雷数量的数字

二、一些特效的处理

1 再画一层边框,使得格子立体化:

def frame(self):for i in range(25):pygame.draw.line(self.screen, [120, 120, 120], [0, i * 25], [500, i * 25], 1)pygame.draw.line(self.screen, [120, 120, 120], [i * 25, 0], [i * 25, 500], 1)
复制代码

2 再点击格子时,发现是地雷,将其存储到red_point中,使得在显示雷时,格子是红色的

def add(self, x, y):...if self.maps[i][j] == 'X':self.red_points["{}.{}".format(i, j)] = [i, j]
复制代码

然后在显示时,先显示有雷的红色框:

def show(self):for k in self.red_points.values():pygame.draw.rect(self.screen, [255, 0, 0], [k[0] * 25, k[1] * 25, 25, 25])...

二、地雷算法实现类

很明显,此类中应该首先包含一个表格,此表格每行应有格子20个,然后有20行,与前面cover中表示的格子一致。然后默认值为0

class Map:def __init__(self, screen, cover):self.screen = screenself.cover = coverself.maps = []for i in range(20):item = [0] * 20self.maps.append(item)self.moves = [[-1, -1], [0, -1], [1, -1], [-1, 0], [1, 0], [-1, 1], [0, 1], [1, 1]]

moves是标记每一格的上下左右和斜上,斜下8个方向的相对距离

怎样将地图上的数字显示出来需要用到一个知识点:即将文字转为图片显示

文字的定义为:font = pygame.font.SysFont(None, 45)

转成图片通过如下函数:font_image = font.render(msg, True, [60, 0, 0], None)

然后我们就可以通过获取图片的矩形大小,将这个矩形画到(blit)screen中去了,在画之前还需注意,我们获取的是图片大小,还需要定位每个图片的坐标,此时就需要用到之前的格子,将每个格子左上角的坐标提取出来,代码如下:

def show(self):for cur in self.now_show:i = cur[0]j = cur[1]if self.maps[i][j] == 0:continuemsg = str(self.maps[i][j])font = pygame.font.SysFont(None, 45)font_image = font.render(msg, True, [60, 0, 0], None)image_rect = font_image.get_rect()image_rect.x = i * 25image_rect.y = j * 25image_rect.width = 24image_rect.height = 24self.screen.blit(font_image, image_rect)作者:绿色的麦田
链接:https://juejin.cn/post/7203993298817712188
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.yayakq.cn/news/727600/

相关文章:

  • 做汽配网站合肥专门做网站的公司有哪些
  • 汶上县建设局官方网站熊掌号 西安网站建设
  • 莫企业网站建设方案网站 备案查询
  • 海誉网站定制大学网站建设图
  • 怎样搭建属于自己的网站php黄页系统
  • 如何制作课程网站模板下载地址网页设计流行趋势
  • 广告网站留电话整人企业网站建设设计
  • 网站配色的方案收费网站解决方案
  • 网站主页设计收费单页面网站做排名
  • win7 iis 新建网站企业邮箱怎么搞
  • 建设网站注意哪几点百度seo怎么样优化
  • 长治网站建设招聘餐饮公司网站建设的特点
  • 漂亮全屏网站一流的购物网站建设
  • 网站建设的一些原理lnmpa wordpress ssl
  • 网站上如何做天气插件有域名和主机怎么做网站
  • 网站建设中 英语有没有外国人做发明的网站
  • 可以做微网站的第三方平台广告推广平台
  • 我网站建设建站哪个网站比较好
  • H5酒店静态网站建设开题报告范文口碑好的免费网站建设
  • 有什么网站用名字做图片wordpress ftp
  • 温州网站建设企业推广计划名称写什么
  • 网站建设与维护百科做微商必备十大软件
  • 网站开发公司员工叫什么名字导航到光明城市
  • 网站域名备案和icp备案一样么网站排名掉了怎么办
  • 可视化网站制作软件网站建设需要什么研究条件
  • 旅游网站建设分析 需求上海微网站建设方案
  • 京东优惠劵网站怎么做wordpress可以上传网页
  • 做网站开发的笔记本配置微信小程序开发常见问题
  • 2015做哪个网站致富工厂 电商网站建设
  • 做企业网站设免费建站网页无需登陆