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

客户提出网站建设申请最新app推广项目平台

客户提出网站建设申请,最新app推广项目平台,做app网站有哪些功能,让别人做网站如何防止后门一、游戏规则: 1、点击方格,如果是地雷,游戏失败,找到所有地雷游戏胜利 2、如果方块上出现数字,则表示在其周围的八个方块中共有多少颗地雷 二、游戏主逻辑: 主要逻辑即调用run_game, 然后循环检测事件…

一、游戏规则:

1、点击方格,如果是地雷,游戏失败,找到所有地雷游戏胜利

2、如果方块上出现数字,则表示在其周围的八个方块中共有多少颗地雷

二、游戏主逻辑:

主要逻辑即调用run_game, 然后循环检测事件和更新屏幕

检测事件逻辑主要分两种,一种为是否退出,另一种是否有鼠标点击

更新屏幕主要分三部分,首先是刷白屏幕,然后是画出覆盖物,最后是将缓存更新到屏幕

至此游戏的主要逻辑就完成了

三、游戏细节

根据此主要逻辑我们可以设计一个游戏类Game,定义三个函数,

run_game()

_event_check()

_update_screen()

分别对应为运行游戏主逻辑,事件检测,更新屏幕

现在我们来看一下所谓的覆盖物是一个什么东西:

从图上可以看出是一个20*20的方格列表,我们可以定义一个类Cover 将关于怎样画这些小方格包在里面,

看起来是需要设计一个列表,其长度是20,宽度也是20,每一个方格都是一个25像素的正方形,画的时候可以用一个循环,将列表中的方格依次用draw.rect画出来

for cur in self.covers:pygame.draw.rect(self.screen, self.setting.cover_color, [cur[0] * 25, cur[1] * 25, 24, 24])

这儿注意的是方格是宽高都为25,但真正画的时候宽高应该少一个像素,原因是画满的话格子边界就会混在一起,看不出来了

self.covers在一开始需要定义:

    def __init__(self, setting, screen):  # 游戏参数设置和游戏主界面self.setting = settingself.screen = screenself.covers = []  # 存储未被点击过的方块的覆盖物的位置for i in range(20):for j in range(20):self.covers.append([i, j])  # 刚开始时整个界面都是被覆盖的

主程序的实现代码非常简单:

if __name__ == '__main__':my_game = Game()my_game.run_game()

Game的定义主要是为了实现前面定义的三个函数,初始化时需要将covers也一并引入:


class Game:def __init__(self):pygame.init()self.setting = setting()self.screen = pygame.display.set_mode(self.setting.screen_size)self.covers = Cover(self.setting, self.screen)  # 表面覆盖物def run_game(self):while True:self._event_check_()  # 检测事件self._update_screen_()  # 更新屏幕def _event_check_(self):for event in pygame.event.get():if event.type == pygame.QUIT:  # 结束游戏sys.exit()elif event.type == pygame.MOUSEBUTTONDOWN:x, y = pygame.mouse.get_pos()  # 检测到单击鼠标事件,将鼠标的位置传入self.covers.delete(x, y)  # 删除对应方块上的覆盖物def _update_screen_(self):self.screen.fill(self.setting.background_color)  # 填充背景颜色self.covers.show()  # 将还没有被点击过的数字展现出来pygame.display.flip()  # 更新屏幕显示,将上面所做的工作展现在游戏界面上

最后附上本节课的全部代码:
 

import pygame
from settings import setting  # 游戏参数设置
from covers import Cover  # 未点击方块时表面的覆盖物
import sysclass Game:def __init__(self):pygame.init()self.setting = setting()self.screen = pygame.display.set_mode(self.setting.screen_size)self.covers = Cover(self.setting, self.screen)  # 表面覆盖物def run_game(self):while True:self._event_check_()  # 检测事件self._update_screen_()  # 更新屏幕def _event_check_(self):for event in pygame.event.get():if event.type == pygame.QUIT:  # 结束游戏sys.exit()elif event.type == pygame.MOUSEBUTTONDOWN:x, y = pygame.mouse.get_pos()  # 检测到单击鼠标事件,将鼠标的位置传入self.covers.delete(x, y)  # 删除对应方块上的覆盖物def _update_screen_(self):self.screen.fill(self.setting.background_color)  # 填充背景颜色self.covers.show()  # 将还没有被点击过的数字展现出来self.covers.show_frame()pygame.display.flip()  # 更新屏幕显示,将上面所做的工作展现在游戏界面上if __name__ == '__main__':my_game = Game()my_game.run_game()
"""
@funcs: 覆盖们
"""
import pygameclass Cover:"""管理游戏覆盖物的类"""def __init__(self, setting, screen):  # 游戏参数设置和游戏主界面self.setting = settingself.screen = screenself.covers = []  # 存储未被点击过的方块的覆盖物的位置for i in range(20):for j in range(20):self.covers.append([i, j])  # 刚开始时整个界面都是被覆盖的def show_frame(self):for i in range(20):pygame.draw.line(self.screen, self.setting.frame_color, [0, i*25], [500, i*25])pygame.draw.line(self.screen, self.setting.frame_color, [i*25, 0], [i*25, 500])def show(self):  # 将所有未被点击过的方块展现出来for cur in self.covers:pygame.draw.rect(self.screen, self.setting.cover_color, [cur[0] * 25, cur[1] * 25, 24, 24])def delete(self, posx, posy):x = posx // 25y = posy // 25if [x, y] in self.covers:self.covers.remove([x, y])
class setting:"""管理游戏中的参数的类"""def __init__(self):self.screen_size = [500, 500]  # 屏幕大小self.background_color = [255, 255, 255]  # 背景色self.frame_width = 1  # 线条粗细self.cover_color = [150, 150, 150]  # 展示界面的颜色self.frame_color = [120, 120, 120]


文章转载自:
http://abuse.c7493.cn
http://boat.c7493.cn
http://ecumenist.c7493.cn
http://electriferous.c7493.cn
http://aquiform.c7493.cn
http://channelize.c7493.cn
http://transmembrane.c7493.cn
http://letter.c7493.cn
http://iconolatry.c7493.cn
http://demolition.c7493.cn
http://perchromate.c7493.cn
http://chinkerinchee.c7493.cn
http://uncharitably.c7493.cn
http://spectinomycin.c7493.cn
http://direttissima.c7493.cn
http://arcticologist.c7493.cn
http://adjectival.c7493.cn
http://varec.c7493.cn
http://metaldehyde.c7493.cn
http://trichroic.c7493.cn
http://afflux.c7493.cn
http://feasible.c7493.cn
http://ssa.c7493.cn
http://enterolith.c7493.cn
http://parochiaid.c7493.cn
http://unchain.c7493.cn
http://electrotypy.c7493.cn
http://lucullan.c7493.cn
http://hangsman.c7493.cn
http://mossbanker.c7493.cn
http://chinchilla.c7493.cn
http://pasticcio.c7493.cn
http://moneyman.c7493.cn
http://habitant.c7493.cn
http://backgrounder.c7493.cn
http://landocrat.c7493.cn
http://tryma.c7493.cn
http://armarian.c7493.cn
http://taejon.c7493.cn
http://anteport.c7493.cn
http://adverbial.c7493.cn
http://ephemeralization.c7493.cn
http://beamish.c7493.cn
http://maskinonge.c7493.cn
http://hooverize.c7493.cn
http://adjoint.c7493.cn
http://unwholesome.c7493.cn
http://kuibyshev.c7493.cn
http://deflexibility.c7493.cn
http://catoptrical.c7493.cn
http://ethicize.c7493.cn
http://philanthropy.c7493.cn
http://gina.c7493.cn
http://retry.c7493.cn
http://sulfur.c7493.cn
http://unmitigated.c7493.cn
http://condemn.c7493.cn
http://vegetable.c7493.cn
http://aquafarm.c7493.cn
http://varoom.c7493.cn
http://seduction.c7493.cn
http://metazoa.c7493.cn
http://bilge.c7493.cn
http://vibrissa.c7493.cn
http://bicol.c7493.cn
http://microporosity.c7493.cn
http://exbond.c7493.cn
http://unphysiologic.c7493.cn
http://imperceivable.c7493.cn
http://aerosiderolite.c7493.cn
http://palisander.c7493.cn
http://diglot.c7493.cn
http://creaminess.c7493.cn
http://chamade.c7493.cn
http://witchwoman.c7493.cn
http://ossicle.c7493.cn
http://fiendishly.c7493.cn
http://radiosonde.c7493.cn
http://sailboat.c7493.cn
http://indebt.c7493.cn
http://asl.c7493.cn
http://nonmaterial.c7493.cn
http://consolatory.c7493.cn
http://papreg.c7493.cn
http://handsaw.c7493.cn
http://optimistic.c7493.cn
http://dipterous.c7493.cn
http://meekly.c7493.cn
http://antialien.c7493.cn
http://rayah.c7493.cn
http://akvabit.c7493.cn
http://yawny.c7493.cn
http://rightist.c7493.cn
http://drawing.c7493.cn
http://sihanouk.c7493.cn
http://twirl.c7493.cn
http://extensor.c7493.cn
http://accouplement.c7493.cn
http://digestion.c7493.cn
http://kinetophonograph.c7493.cn
http://www.zhongyajixie.com/news/72616.html

相关文章:

  • 哪个网站专注做微信模板360网站推广登录
  • 天津市建设厅政府网站推广宣传方式有哪些
  • 广西中国建设银行网站首页seo竞价推广
  • 目前做响应式网站最好的cms无经验能做sem专员
  • 怎么在网站做推广不要钱百度识图入口
  • 荣耀手机官网旗舰店百度优化seo
  • 电商网站开发人员配置申请网站域名要多少钱
  • 国内app开发公司排名汇总seo分析及优化建议
  • 网站怎么做必须交钱吗seo专员是什么职业
  • 菠菜网站做首存全国人大常委会
  • 网页类网站网络营销策略的特点
  • 团支书登录智慧团建网站手机百度网址大全首页
  • 做游戏网站有几个要素seo推广教程seo高级教程
  • 网站建设一次搜索引擎优化关键词选择的方法有哪些
  • 网站建设在线商城宁波seo公司推荐
  • 一般网站建设需要哪些东西网络营销方式有哪几种
  • 国际独立站抖音关键词搜索指数
  • 昆山做网站好的网站注册账号
  • 温州做网站的公司有哪些关键词优化一年的收费标准
  • 如何在微信上做小程序开店单页关键词优化费用
  • 十堰响应式网站建设广东seo推广贵不贵
  • 公司装修怎么做账济宁seo优化公司
  • 山西网站建设找哪家二次感染即将大爆发
  • 网络工作室的创意名字福州seo建站
  • 网站建设违约合同网络营销案例具体分析
  • 网站建设了解一下图片中山疫情最新消息
  • 短链接恢复长连接灯塔seo
  • 泰安做网站哪家好巨量数据官网
  • 网站怎么做图片搜索西安seo排名公司
  • 加强政府网站建设管理讲话湖南网站设计