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

网站如何做跳转惠州建设局官方网站

网站如何做跳转,惠州建设局官方网站,荆州seo推广,模板王字库下载#x1f308;write in front#x1f308; #x1f9f8;大家好#xff0c;我是Aileen#x1f9f8;.希望你看完之后#xff0c;能对你有所帮助#xff0c;不足请指正#xff01;共同学习交流. #x1f194;本文由Aileen_0v0#x1f9f8; 原创 CSDN首发#x1f412; 如… write in front 大家好我是Aileen.希望你看完之后能对你有所帮助不足请指正共同学习交流. 本文由Aileen_0v0 原创 CSDN首发 如需转载还请通知⚠️ 个人主页Aileen_0v0—CSDN博客 欢迎各位→点赞 收藏⭐️ 留言​ 系列专栏Aileen_0v0的PYTHON学习系列专栏——CSDN博客 我的格言:没有罗马,那就自己创造罗马~  目录 首先,在python上 安装pygame 然后,创建文件夹 要注意分级别​ 插入的图片 主函数 Aileen_invasion的文件 创建外星人aileen的文件 子弹bullet的文件 按钮button的文件 游戏数据game_stats的文件 游戏分数scoreboard的文件 游戏设置settings的文件  游戏飞船ship的文件 ​编辑 全屏模式下的游戏 ​编辑 小窗口下的游戏 首先,在python上 安装pygame 资源---https://download.csdn.net/download/Aileenvov/88301424?spm1001.2014.3001.5503 然后转到228页,根据步骤进行安装 然后,创建文件夹 要注意分级别 插入的图片 插入图片:需要注意图片的大小比例,否则可能显示不出来,这需要根据系统屏幕大小进行设置, 将所需要的图片和音乐拖到对应的文件夹,这是我的图片 主函数 Aileen_invasion的文件 import sys from time import sleep import pygame from settings import Settings from game_starts import GameStats from scoreboard import Scoreboard from button import Button from ship import Ship from bullet import Bullet from aileen import Aileen class AileenInvasion:Overall class to manage game assets and behavior.整体类来管理游戏资产和行为def __init__(self):#初始化Initialize the game, and create game resources.pygame.init()self.settings Settings()self.screen pygame.display.set_mode((0,0),pygame.FULLSCREEN)self.settings.screen_width self.screen.get_rect().widthself.settings.screen_height self.screen.get_rect().height# self.screen pygame.display.set_mode(# (self.settings.screen_width,self.settings.screen_height))#类中变量前有self,说明该变量绑定在当前实例化本身pygame.display.set_caption(Aileen Invasion)# Creation an instance to store game statistics.self.stats GameStats(self)# Create an instance to store game statics,# and create a scoreboard.self.sb Scoreboard(self)self.ship Ship(self)self.bullets pygame.sprite.Group()#Group可以批量使用的函数self.aileens pygame.sprite.Group()self._create_fleet()#Make the play button.self.play_button Button(self,Play)self.bg_color (0,0,225) #代表红 绿 蓝 三颜色# def _create_fleet(self):# Create the fleet of aileens.# #Make a aileen# aileen Aileen(self)# self.aileens.add(aileen)# #set the background color.def run_game(self): #功能:1监听事件,2处理事件,3更新屏幕事件Start the main loop for the game.while True:# 1监听事件函数--监听和处理用户的行为self._check_events()#将监听事件(封装)外包给这个函数,减轻run_game的工作量---这个过程叫重构(refactory)if self.stats.game_active:# 2处理事件函数self.ship.update()#更新子弹self._update_bullets()self._update_aileens()# 3 屏幕更新函数self._update_screen()def _update_bullets(self):self.bullets.update()if not self.aileens:# Destory existing bullets and create new fleetself.bullets.empty()self._create_fleet()# Get rid of the bullets that have disappeared.for bullet in self.bullets.copy():if bullet.rect.bottom 0:self.bullets.remove(bullet)self._check_bullet_aileen_collisions()def _check_bullet_aileen_collisions(self):Respond to bullet-aileen collisions. Remove any bullets and aileens that have collided #collisions pygame.sprite.groupcollide(self.bullets, self.aileens,True,True)if collisions: #collision是字典类型变量# for aileens in collisions.values():self.stats.score self.settings.aileen_points #* len(aileens)for aileens in collisions.values():self.stats.score self.settings.aileen_points * len(aileens)self.sb.prep_score()self.sb.check_high_score()self.sb.prep_high_score()if not self.aileens:# Destory existing bullets and create new fleet.self.bullets.empty()self._create_fleet()self.settings.increase_speed()# Increase levelself.stats.level 1self.sb.prep_level()# print(len(self.bullets))# Watch for keyboard and mouse events. 监听用户在做什么操作--这里设置游戏菜单栏def _check_events(self): ##--snip--Respond to keypress and mouse eventsfor event in pygame.event.get():if event.type pygame.QUIT:sys.exit()elif event.type pygame.KEYDOWN:self._check_keydown_events(event)elif event.type pygame.KEYUP:self._check_keyup_events(event)elif event.type pygame.MOUSEBUTTONDOWN:mouse_pos pygame.mouse.get_pos()self._check_play_button(mouse_pos)def _check_play_button(self,mouse_pos):Start a new game when the player clicks Play.button_clicked self.play_button.rect.collidepoint(mouse_pos)if button_clicked and not self.stats.game_active:# Hide the mouse cursor.pygame.mouse.set_visible(False)# Reset the game statistics.self.stats.reset_stats()self.stats.game_active True# 确保分数清0self.sb.prep_score()self.sb.prep_level()self.sb.prep_ships()# Get rid of any remaining aileens and bullets.self.aileens.empty()self.bullets.empty()#Create A new fleet and center the ship.self._create_fleet()self.ship.center_ship()#Reset the game settings.self.settings.initialize_dynamic_settings()pygame.mixer.init()pygame.mixer.music.load(music/香香 - 猪之歌.mp3)# pygame.mixer.music.set_volume(2)pygame.mixer.music.play()def _check_keydown_events(self,event):Respond to keypress#判断右键if event.key pygame.K_RIGHT:#处理右键self.ship.moving_right Trueelif event.key pygame.K_LEFT:self.ship.moving_left Trueelif event.key pygame.K_UP:self.ship.moving_up Trueelif event.key pygame.K_DOWN:self.ship.moving_down Trueelif event.key pygame.K_q:#按q键退出游戏sys.exit()elif event.key pygame.K_SPACE:self._fire_bullet()def _check_keyup_events(self,event):Respond to key release.if event.key pygame.K_RIGHT:self.ship.moving_right Falseelif event.key pygame.K_LEFT:self.ship.moving_left False# Move the ship to the right.self.ship.rect.x 1elif event.key pygame.K_m:self.screen pygame.display.set_mode((0, 0), pygame.FULLSCREEN)self.settings.screen_width self.screen.get_rect().widthself.settings.screen_height self.screen.get_rect().heightself.ship Ship(self)self.aliens pygame.sprite.Group()self._create_fleet()elif event.key pygame.K_n:self.settings Settings()self.screen pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height))self.ship Ship(self)self.aliens pygame.sprite.Group()self._create_fleet()elif event.key pygame.K_UP:self.ship.moving_up Falseelif event.key pygame.K_DOWN:self.ship.moving_down Falsedef _fire_bullet(self):create a new bullet and add it to the bullets group.if len(self.bullets) self.settings.bullets_allowed:new_bullet Bullet(self)self.bullets.add(new_bullet)def _create_fleet(self):#self传的也是aiCreate the fleet of aileens.#Create an aileen and find the number of aileens in a row#Spacing between each aileen is equal to one aileen width.aileen Aileen(self)aileen_width, aileen_height aileen.rect.sizeavailable_space_x self.settings.screen_width - (2 * aileen_width)print(available_space_x)print(self.settings.screen_width)print(2 * aileen_width)number_aileen_x available_space_x // (2 * aileen_width)# Determine the number of rows of aileens that fit on the screen.ship_height self.ship.rect.heightavailable_space_y (self.settings.screen_height -(3 * aileen_height) - ship_height)number_rows available_space_y // (2 * aileen_height)#Create the first row of aileens.for row_number in range(number_rows):for aileen_number in range(number_aileen_x):self._create_aileen(aileen_number, row_number)def _create_aileen(self,aileen_number, row_number):# Create an aileen and place it in row.# Make a aileenaileen Aileen(self)aileen_width, aileen_height aileen.rect.sizeaileen.x aileen_width 2 * aileen_width * aileen_numberaileen.rect.x aileen.xaileen.rect.y aileen.rect.height 2 * aileen.rect.height * row_numberself.aileens.add(aileen)def _check_aileens_bottom(self):Check if any aileens have reached the bottom of the screen.screen_rect self.screen.get_rect()for aileen in self.aileens.sprites():if aileen.rect.bottom screen_rect.bottom:#Treat this the same as if the ship got hit.self._ship_hit()break# Redraw the screen during each pass through the loop. 更新画布颜色def _update_aileens(self):Check if the fleet is at an edge,then update the positions of all aliens in the fleet.self._check_fleet_edges()Update the positions of all aileens in the fleet.self.aileens.update()# Look for aileen-ship collisions.if pygame.sprite.spritecollideany(self.ship, self.aileens):self._ship_hit()print(Ship hit!!!)# Look for aileens hitting the bottom of the screenself._check_aileens_bottom()def _check_fleet_edges(self):Respond appropriately if any aileens have reached an edge.for aileen in self.aileens.sprites():if aileen.check_edges():self._change_fleet_direction()breakdef _change_fleet_direction(self):Drop the entire fleet and change the fleets direction.for aileen in self.aileens.sprites():aileen.rect.y self.settings.fleet_drop_speedself.settings.fleet_direction * -1def _ship_hit(self):Respond to the ship being hit by an allienif self.stats.ships_left 0:# Decrement ships_left.and update scoreboardself.stats.ships_left - 1self.sb.prep_ships()# Get rid of any remaining aileens and bullets.self.aileens.empty()self.bullets.empty()# Create a new fleet and center the ship.self._create_fleet()self.ship.center_ship()# Pausesleep(0.5)else:self.stats.game_active Falsepygame.mouse.set_visible(True)def _update_screen(self):Update images on the screen , and flip to the new screenself.screen.fill(self.settings.bg_color)self.ship.blitme()for bullet in self.bullets.sprites():bullet.draw_bullet()self.aileens.draw(self.screen)#Draw the score information.self.sb.show_score()# Draw the play button if the games is inactive.if not self.stats.game_active:self.play_button.draw_button()self.bullets.draw(self.screen)pygame.display.flip()def check_high_score(self):Check to see if theres a new high score.if self.stats.score self.stats.high_score:self.stats.high_score self.stats.scoreself.prep_high_score()if __name__ __main__:# Make a game instance , and run the game.ai AileenInvasion()#游戏本身的实例化,ai就是那个AileenInvasionai.run_game() 创建外星人aileen的文件 import pygame from pygame.sprite import Spriteclass Aileen(Sprite):A class to represent a single alien in the fleetdef __init__(self,ai_game):Initilize the aileen and set its starting position.super().__init__()self.screen ai_game.screenself.settings ai_game.settings# Load the aileen image and set its rect attribute.self.image pygame.image.load(images/aileen.png)self.rect self.image.get_rect()# Start each new aileen near the top left of the screen.self.rect.x self.rect.width#将矩形左上角的值作为外星人的宽度self.rect.y self.rect.height#通过飞船左上角的坐标来控制其它图片的位置#Store the aileens exact horizontal position.self.x float(self.rect.x)def check_edges(self):Return True if aileen is at edge of screenscreen_rect self.screen.get_rect()if self.rect.right screen_rect.right or self.rect.left 0:return Truedef update(self):Move the aileen to the right or leftself.x (self.settings.aileen_speed *self.settings.fleet_direction)self.rect.x self.x子弹bullet的文件 import pygame import random from pygame.sprite import Spriteclass Bullet(Sprite):#子弹bullet继承Sprite类--继承A class to manage bullets fired from the shipdef __init__(self,ai_game):Create a bullet object at the ships current positionsuper().__init__()#调用父类初始化函数self.screen ai_game.screenself.settings ai_game.settingsself.color self.settings.bullet_color# Load the aileen image and set its rect attribute.self.bullet_images [pygame.image.load(images/heart.png),pygame.image.load(images/banana.png),pygame.image.load(images/cherry.png)]self.image random.choice(self.bullet_images)self.rect self.image.get_rect()#Create a bullet rect at(0,0) and then set correct position.self.rect pygame.Rect(0,0,self.settings.bullet_width,self.settings.bullet_height)self.rect.midtop ai_game.ship.rect.midtop#利用ai将船和子弹初始位置绑定,使得子弹在船中上方# Store the bullets position as a decimal value.self.y float(self.rect.y)def update(self):move the bullet up the screen.#update the decimal position of the bullet.self.y - self.settings.bullet_speed#update the rect position.self.rect.y self.ydef draw_bullet(self):draw the bullet to the screenself.screen.blit(self.image,self.rect)pygame.draw.rect(self.screen, self.color, self.rect) 按钮button的文件 import pygame.fontclass Button:def __init__(self,ai_game,msg):Initialize button attributes.self.screen ai_game.screenself.screen_rect self.screen.get_rect()# Set the dimensions and properties(财产,属性attributes) of the buttonself.width, self.height 200, 50self.button_color (0, 255, 0)self.text_color (255,255,255)self.font pygame.font.SysFont(None, 48)# Build the buttons rect object and center it.self.rect pygame.Rect(0,0,self.width,self.height)self.rect.center self.screen_rect.center# The button message needs to be prepped(准备) only once.self._prep_msg(msg)def _prep_msg(self,msg):Turn msg into a rendered image and center and center text on the button.self.msg_image self.font.render(msg,True, self.text_color,self.button_color)self.msg_image_rect self.msg_image.get_rect()self.msg_image_rect.center self.rect.centerdef draw_button(self):# Draw blank button and then draw message.self.screen.fill(self.button_color,self.rect)self.screen.blit(self.msg_image,self.msg_image_rect) 游戏数据game_stats的文件 class GameStats:Track statics for Aileen Invasion.def __init__(self,ai_game):# High score should never be reset.self.high_score 0# Start Aileen Invasion in an active state.self.game_active TrueInitiallize statistics.self.settings ai_game.settingsself.reset_stats()# Start game in an inactive state.self.game_active Falsedef reset_stats(self):Initialize statistics that can change during the game.self.ships_left self.settings.ship_limitself.score 0self.level1 游戏分数scoreboard的文件 import pygame.font from pygame.sprite import Group from ship import Shipclass Scoreboard:A class to report scoring information.def __init__(self,ai_game):Initialize scorekeeping attributes.self.ai_game ai_gameself.screen ai_game.screenself.screen_rect self.screen.get_rect()self.settings ai_game.settingsself.stats ai_game.stats# Font settings for scoring information.self.text_color (30,30,30)self.font pygame.font.SysFont(None,48)#Prepare the initial score image.self.prep_score()self.prep_high_score()self.prep_level()self.prep_ships()def prep_ships(self):Show how many ships are left.self.ships Group ()for ship_number in range(self.stats.ships_left):ship Ship(self.ai_game)ship.rect.x 10 ship_number * ship.rect.widthship.rect.y 10self.ships.add(ship)def prep_score(self):Turn the score into a rendered image (将分数转换为渲染图像)score_str str(self.stats.score)Turn the score into a rendered image.rounded_score round(self.stats.score,-1)score_str {:,}.format(rounded_score) #round 取整self.score_image self.font.render(score_str,True,self.text_color,self.settings.bg_color)#Display the score at the top right of the screen.self.score_rect self.score_image.get_rect()self.score_rect.right self.screen_rect.right - 20self.score_rect.top 20def prep_high_score(self):Turn the high score into a rendered imagehigh_score round(self.stats.high_score,-1)high_score_str {:,}.format(high_score)self.high_score_image self.font.render(high_score_str,True,self.text_color,self.settings.bg_color)# Center the high score at the top of the screen.self.high_score_rect self.high_score_image.get_rect()self.high_score_rect.centerx self.screen_rect.centerxself.high_score_rect.top self.score_rect.topdef check_high_score(self):Check to see if theres a new high score.if self.stats.score self.stats.high_score:self.stats.high_score self.stats.scoreself.prep_high_score()def prep_level(self):Turn the level into a rendered image.level_str str(self.stats.level)self.level_image self.font.render(level_str,True,self.text_color,self.settings.bg_color)#Position the level below the score.self.level_rect self.level_image.get_rect()self.level_rect.right self.score_rect.rightself.level_rect.top self.score_rect.bottom 10def show_score(self):Draw score,level,and ships to the screenself.screen.blit(self.score_image,self.score_rect)self.screen.blit(self.high_score_image,self.high_score_rect)self.screen.blit(self.level_image,self.level_rect)self.ships.draw(self.screen) 游戏设置settings的文件  class Settings:A class store all settings for Aileen Invasion.def __init__(self):Initialize the gamesettings #Ship settingsself.ship_speed 1.5self.ship_limit 3# Screen settingsself.screen_width 1200self.screen_height800self.bg_color (255,255,255)# Bullet settingsself.bullet_speed 1self.bullet_width 3self.bullet_height 15self.bullet_color (60,60,60)self.bullets_allowed 3#Aileen settingsself.aileen_speed 1.0self.fleet_drop_speed 10# How quickly the game speeds upself.speedup_scale 2# How quickly the aileen point values increaseself.score_scale 1.5self.initialize_dynamic_settings()def initialize_dynamic_settings(self):Initialize speed settingsself.ship_speed 1.5self.bullet_speed 1.5self.aileen_speed 10# Scoringself.aileen_points 50# fleet_direction of 1 represents right ; -1 represents left.self.fleet_direction 1def increase_speed(self):Increase speed settingsIncrease speed settings and aileen point valuesself.ship_speed * self.speedup_scaleself.bullet_speed * self.speedup_scaleself.aileen_speed * self.speedup_scaleself.aileen_points int(self.aileen_points * self.score_scale)print(self.aileen_points) 游戏飞船ship的文件 import pygame from pygame.sprite import Spriteclass Ship(Sprite):A class to manage the ship.def __init__(self,ai_game):Initialize the ship and set its starting position.super().__init__()self.screen ai_game.screenself.settings ai_game.settingsself.screen_rect ai_game.screen.get_rect()#返回窗口矩形# Load the ship image and get its rect.self.image pygame.image.load(images/ship.png)self.rectself.image.get_rect()#取得屏幕的矩形 rectrectangle 拿到图片矩形# Start each new ship at the bottom center of the screen.self.rect.midbottom self.screen_rect.midbottom#通过赋值:图片的中下方的坐标,等于屏幕中下方的坐标# Store a decimal value for the ships horizontal position.self.x float(self.rect.x)self.y float(self.rect.y)# Movement flagself.moving_right Falseself.moving_left Falseself.moving_up Falseself.moving_down Falsedef center_ship(self):Center the ship on the screenself.rect.midbottom self.screen_rect.midbottomself.x float(self.rect.x)def update(self):Update the ships position based on the movement flag# Update the ships value, not the rect.# if self.moving_right:if self.moving_right and self.rect.right self.screen_rect.right:self.x self.settings.ship_speed#不断增加飞船左上角的横坐标带动图片移动self.rect.x 1# if self.moving_left:if self.moving_left and self.rect.left 0:self.x - self.settings.ship_speedself.rect.x - 1#topif self.moving_up and self.rect.top 720 :self.y - self.settings.ship_speedself.rect.y - 1if self.moving_down and self.rect.bottom self.screen_rect.bottom:self.y self.settings.ship_speedself.rect.y 1def blitme(self):#渲染函数,让图片显示出来Draw the ship at its current location.self.screen.blit(self.image,self.rect)全屏模式下的游戏 小窗口下的游戏 今天的打猪游戏就分享到这里啦~ 喜欢就一键三连支持一下吧♥~ 谢谢家人们!
http://www.pierceye.com/news/200933/

相关文章:

  • 可以自己做安卓app的网站Wordpress会员插件出错
  • 做网站优化有前景吗可信网站验证服务中心
  • 韩国设计欣赏网站天津工程建设网官方网站
  • 微网站建设多少钱网站空间管理
  • 济南网站制作定制公司wordpress重新安装主题
  • python 网站开发教程怎么做网站跳转
  • 个人盈利网站怎么建立网站建设 深圳 凡科
  • 网站后台登录地址滨州论坛网站建设
  • 怎么给钓鱼网站做防红wordpress插件合集
  • 骆驼网站建设is_category wordpress
  • 网站中链接怎么做的怎么做资源网站
  • 石家庄建站模板搭建cdr做网站分辨率
  • 学校网站建设有限公司长春网站设计策划书
  • 大连网站建设流程图龙信建设集团网站
  • 徐州好点的做网站的公司深圳做商城网站建设
  • 上海龙象建设集团公司网站网站浮动咨询代码
  • 网站制作培训学校手机网站可以做动态吗
  • 企业推广网站网站开发页面怎么进
  • 嘉兴平湖网站建设网站的底部导航栏怎么做
  • 景安 怎么把网站做别名山东新华电脑学院学网站开发
  • 网站开发好还是app好wordpress 禁用修订
  • win7云主机怎么做网站贵州建设监理网站培训通知栏
  • 制作网站免费建站成都设计公司deanzhang
  • 10个网站用户体验优化的研究结果免费图片设计
  • 做明星网站打广告新闻20条摘抄大全
  • 佛山提供网站设计方案公司wordpress 2.0漏洞
  • wordpress建站教程视频教程百度推广登录首页
  • dede织梦php文章图片网站源码 完整后台 带在线音乐做企业网站进行推广要多少钱
  • 网站正在建设中手机版基于wordpress论文
  • 建设培训网站查询战网