导语

"翱翔蓝天是每个人的梦想,但是梦想必须有一个起点,现在这个起点就在你面前。“

——顾木子吖

哈喽哈喽!大家好,我是木木子~

每日上线更新,今天有时间了就给大家升级一下上一期的飞机大战的源码!

小时候电脑上的雷电,后来微信上的飞机大战,没玩过飞机对战游戏的请举手!神秘的天空还

会发生什么故事?由你来撰写!那么,跟着我一起正式开始今天的旅程吧~

正文

游戏思路:

在上一期的《太空陨石VS大型战机对决 》游戏上,这一次是实现的功能会增加难度:直接飞机

进行对战,敌军以及子弹都会增加设置。

游戏规则:

升级版的《雷霆战机对决》是一款经典的飞行空战类游戏,玩家们将进行精彩刺激的空战

玩法,搭配高清的游戏画质,绝对给你带来非凡的体验,更有强大的火力系统,搭配炫酷的

射击特效,快来体验吧!完整的项目源码滴滴我获取哈都是免费分享的~

一、准备中

1)图片素材

2)音效素材(必不可少)

3)环境安装

本文用到的环境如下:Python3、Pycharm、Pygame游戏模块以及部分自带的模块。

模块安装:

pip install +模块名 或者豆瓣镜像源 pip install -i https://pypi.douban.com/simple/ +模块名

二、代码演示

1)主程序

#导入模块
import pygame
import random
from pygame.locals import *
from os import path#######################################基本参数配置########################################获取图片库和声音库路径
img_dir = path.join(path.dirname(__file__),'pic')
sound_folder = path.join(path.dirname(__file__),'sounds')#定义游戏窗口、玩家血量条尺寸,游戏运行速度、炮火持续时间等参数
WIDTH = 480
HEIGHT = 600
FPS = 60
POWERUP_TIME = 5000
BAR_LENGTH = 100
BAR_HEIGHT = 10#定义白、黑、红、绿、蓝、黄的RGB参数
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)#初始化pygame模块,创建游戏窗口、游戏窗口命名、创建跟踪时间对象
pygame.init()
pygame.mixer.init()  #初始化音效
screen = pygame.display.set_mode((WIDTH,HEIGHT))
pygame.display.set_caption("Aircraft Battle")
clock = pygame.time.Clock()#定义文本字体
font_name = pygame.font.match_font('arial')#######################################加载图片########################################加载游戏进行中背景图片
background = pygame.image.load(path.join(img_dir,'starfield.png')).convert()
background = pygame.transform.scale(background,(WIDTH,1536))
height = -936#加载玩家图片
player_img = pygame.image.load(path.join(img_dir,'player.png')).convert()
player_mini_img = pygame.transform.scale(player_img,(25, 19))
player_mini_img.set_colorkey(BLACK)#加载玩家炮弹、导弹图片
bullet_img = pygame.image.load(path.join(img_dir,'bullet.png')).convert()
missile_img = pygame.image.load(path.join(img_dir,'missile.png')).convert_alpha()#加载敌机炮弹图片
enemies_bullet_img = pygame.image.load(path.join(img_dir,'enemies_bullet.png')).convert()#加载盾牌、闪电图片
powerup_images = {}
powerup_images['shield'] = pygame.image.load(path.join(img_dir, 'shield.png')).convert()
powerup_images['gun'] = pygame.image.load(path.join(img_dir, 'bolt.png')).convert()#加载敌机和火山石图片
enemies_images = []
lava_images = []
#敌机
enemies_list = ['enemies1.png','enemies2.png','enemies3.png'
]
#火山石
lava_list = ['lava_med.png','lava_small1.png','lava_small2.png','lava_tiny.png'
]
for image in enemies_list:enemies_img = pygame.image.load(path.join(img_dir,image)).convert()enemies_img = pygame.transform.scale(enemies_img,(80, 60))enemies_images.append(enemies_img)
for image in lava_list:lava_images.append(pygame.image.load(path.join(img_dir,image)).convert())#加载爆炸图片
explosion_anim = {}
explosion_anim['lg'] = []
explosion_anim['sm'] = []
explosion_anim['player'] = []
for i in range(9):#敌机、火山石爆炸filename = 'regularExplosion0{}.png'.format(i)img = pygame.image.load(path.join(img_dir,filename)).convert()img.set_colorkey(BLACK)#大爆炸    img_lg = pygame.transform.scale(img,(75,75))explosion_anim['lg'].append(img_lg)#小爆炸img_sm = pygame.transform.scale(img,(32,32))explosion_anim['sm'].append(img_sm)#玩家爆炸filename = 'sonicExplosion0{}.png'.format(i)img = pygame.image.load(path.join(img_dir,filename)).convert()img.set_colorkey(BLACK)explosion_anim['player'].append(img)#######################################加载声音########################################加载炮弹、导弹发射声音
shooting_sound = pygame.mixer.Sound(path.join(sound_folder,'pew.wav'))
missile_sound = pygame.mixer.Sound(path.join(sound_folder,'rocket.ogg'))#加载敌机、火山石爆炸声音
expl_sounds = []
for sound in ['expl3.wav', 'expl6.wav']:expl_sounds.append(pygame.mixer.Sound(path.join(sound_folder,sound)))
#调低音量
pygame.mixer.music.set_volume(0.2)#加载玩家爆炸声音
player_die_sound = pygame.mixer.Sound(path.join(sound_folder,'rumble1.ogg'))#######################################函数区########################################游戏初始界面和准备开始界面函数
def main_menu():global screen#加载游戏初始界面背景音乐menu_song = pygame.mixer.music.load(path.join(sound_folder,"menu.ogg"))#循环播放pygame.mixer.music.play(-1)#加载游戏初始界面背景图片title = pygame.image.load(path.join(img_dir,"main.png")).convert()title = pygame.transform.scale(title,(WIDTH, HEIGHT),screen)screen.blit(title,(0,0))pygame.display.update()#检测玩家操作事件while True:ev = pygame.event.poll()if ev.type == pygame.KEYDOWN:if ev.key == pygame.K_RETURN:breakelif ev.type == pygame.QUIT:pygame.quit()quit()else:draw_text(screen, "Press [ENTER] To Begin", 30, WIDTH/2, HEIGHT/2)draw_text(screen, "[A] ←  [S] ↓  [D] →  [W] ↑", 30, WIDTH/2, 2*HEIGHT/3) draw_text(screen, "[Space] fire", 30, WIDTH/2, 3*HEIGHT/4)           pygame.display.update()#加载准备声音ready = pygame.mixer.Sound(path.join(sound_folder,'getready.ogg'))ready.play()#加载准备开始界面背景颜色和文本screen.fill(BLACK)draw_text(screen, "GET READY!", 40, WIDTH/2, HEIGHT/3)pygame.display.update()#设置文本属性函数
def draw_text(surf,text,size,x,y):#定义文本参数font = pygame.font.Font(font_name,size)text_surface = font.render(text,True,WHITE)text_rect = text_surface.get_rect()text_rect.midtop = (x,y)surf.blit(text_surface,text_rect)#设置玩家血量条属性函数
def draw_shield_bar(surf,x,y,pct):pct = max(pct,0)fill = (pct/100)*BAR_LENGTHoutline_rect = pygame.Rect(x,y,BAR_LENGTH,BAR_HEIGHT)fill_rect = pygame.Rect(x,y,fill,BAR_HEIGHT)pygame.draw.rect(surf,GREEN,fill_rect)pygame.draw.rect(surf,WHITE,outline_rect,2)#设置玩家生命数量属性函数
def draw_lives(surf,x,y,lives,img):for i in range(lives):img_rect = img.get_rect()img_rect.x = x+30*iimg_rect.y = ysurf.blit(img,img_rect)#添加敌机函数
def newmob():mob_element = Mob()all_sprites.add(mob_element)mobs.add(mob_element)#添加火山石函数
def newlava():lava_element = Lava()all_sprites.add(lava_element)lavas.add(lava_element)#######################################类区#######################################class Explosion(pygame.sprite.Sprite):'''创建爆炸类'''def __init__(self,center,size):pygame.sprite.Sprite.__init__(self)self.size = sizeself.image = explosion_anim[self.size][0]self.rect = self.image.get_rect()self.rect.center = centerself.frame = 0 self.last_update = pygame.time.get_ticks()self.frame_rate = 75def update(self):        now = pygame.time.get_ticks()if now - self.last_update > self.frame_rate:self.last_update = nowself.frame += 1if self.frame == len(explosion_anim[self.size]):self.kill()else:center = self.rect.centerself.image = explosion_anim[self.size][self.frame]self.rect = self.image.get_rect()self.rect.center = centerclass Player(pygame.sprite.Sprite):'''创建玩家类'''def __init__(self):pygame.sprite.Sprite.__init__(self)self.image = pygame.transform.scale(player_img,(50, 38))self.image.set_colorkey(BLACK)self.rect = self.image.get_rect()self.radius = 20self.rect.centerx = WIDTH/2self.rect.bottom = HEIGHT-10self.speedx = 0self.speedy = 0self.shield = 100self.shoot_delay = 250self.last_shot = pygame.time.get_ticks()self.lives = 3self.hidden = Falseself.hide_timer = pygame.time.get_ticks()self.power = 1self.power_timer = pygame.time.get_ticks()def update(self):if self.power >= 2 and pygame.time.get_ticks() - self.power_time > POWERUP_TIME: self.power -= 1self.power_time = pygame.time.get_ticks()if self.hidden and pygame.time.get_ticks() - self.hide_timer > 1000:self.hidden = Falseself.rect.centerx = WIDTH/2self.rect.bottom = HEIGHT-30self.speedx = 0self.speedy = 0#方向控制:A控制左、D控制右、W控制上、S控制下、A+W控制左上、A+S控制左下、D+W控制右上、D+S控制右下keystate = pygame.key.get_pressed()if keystate[K_a]:self.speedx = -5if keystate[K_d]:self.speedx = 5if keystate[K_w]:self.speedy = -5if keystate[K_s]:self.speedy = 5#发射控制:空格if keystate[pygame.K_SPACE]:self.shoot()#设置玩家移动边界if self.rect.right > WIDTH:self.rect.right = WIDTHif self.rect.left < 0:self.rect.left = 0if self.rect.top < 10:self.rect.top = 10if self.rect.bottom > HEIGHT-10:self.rect.bottom = HEIGHT-10self.rect.x += self.speedxself.rect.y += self.speedydef shoot(self):now = pygame.time.get_ticks()if now-self.last_shot > self.shoot_delay:self.last_shot = now#单火力if self.power == 1:bullet = Bullet(self.rect.centerx, self.rect.top)all_sprites.add(bullet)bullets.add(bullet)shooting_sound.play()#双火力if self.power == 2:bullet1 = Bullet(self.rect.left, self.rect.centery)bullet2 = Bullet(self.rect.right, self.rect.centery)all_sprites.add(bullet1)all_sprites.add(bullet2)bullets.add(bullet1)bullets.add(bullet2)shooting_sound.play()#三火力if self.power >= 3:bullet1 = Bullet(self.rect.left, self.rect.centery)bullet2 = Bullet(self.rect.right, self.rect.centery)missile1 = Missile(self.rect.centerx, self.rect.top) # 导弹all_sprites.add(bullet1)all_sprites.add(bullet2)all_sprites.add(missile1)bullets.add(bullet1)bullets.add(bullet2)bullets.add(missile1)shooting_sound.play()missile_sound.play()def powerup(self):self.power += 1self.power_time = pygame.time.get_ticks()def hide(self):self.hidden = Trueself.hide_timer = pygame.time.get_ticks()self.rect.center = (WIDTH/2, HEIGHT+200)class Mob(pygame.sprite.Sprite):'''创建敌机类'''def __init__(self):pygame.sprite.Sprite.__init__(self)self.image_orig = random.choice(enemies_images)self.image_orig.set_colorkey(BLACK)self.image = self.image_orig.copy()self.rect = self.image.get_rect()self.radius = int(self.rect.width*.90/2)self.rect.x = random.randrange(0, WIDTH-self.rect.width)self.rect.y = random.randrange(-150,-100)       self.speedy = random.randrange(5,10)self.speedx = random.randrange(-3,3)self.shoot_delay = 1000self.last_shot = pygame.time.get_ticks()        def update(self):self.rect.x += self.speedxself.rect.y += self.speedyif random.randrange(10) >= 6:self.enemies_shoot()        if (self.rect.top > HEIGHT+10) or (self.rect.left < -25) or (self.rect.right > WIDTH+20):self.rect.x = random.randrange(0,WIDTH-self.rect.width)self.rect.y = random.randrange(-100,-40)self.speedy = random.randrange(1,8)def enemies_shoot(self):now = pygame.time.get_ticks()if now-self.last_shot > self.shoot_delay:self.last_shot = nowenemies_bullet = EnemiesBullet(self.rect.centerx, self.rect.bottom)all_sprites.add(enemies_bullet)enemies_bullets.add(enemies_bullet)shooting_sound.play()class Lava(pygame.sprite.Sprite):'''创建火山石类'''def __init__(self):pygame.sprite.Sprite.__init__(self)self.image_orig = random.choice(lava_images)self.image_orig.set_colorkey(BLACK)self.image = self.image_orig.copy()self.rect = self.image.get_rect()self.radius = int(self.rect.width*.90/2)self.rect.x = random.randrange(0, WIDTH-self.rect.width)self.rect.y = random.randrange(-150,-100)       self.speedy = random.randrange(5,10)self.speedx = random.randrange(-3,3)self.rotation = 0self.rotation_speed = random.randrange(-8, 8)self.last_update = pygame.time.get_ticks()#添加火山石旋转效果def rotate(self):time_now = pygame.time.get_ticks()if time_now-self.last_update > 50:self.last_update = time_nowself.rotation = (self.rotation+self.rotation_speed)%360 new_image = pygame.transform.rotate(self.image_orig,self.rotation)old_center = self.rect.centerself.image = new_imageself.rect = self.image.get_rect()self.rect.center = old_center                def update(self):self.rotate()self.rect.x += self.speedxself.rect.y += self.speedy               if (self.rect.top > HEIGHT+10) or (self.rect.left < -25) or (self.rect.right > WIDTH+20):self.rect.x = random.randrange(0,WIDTH-self.rect.width)self.rect.y = random.randrange(-100,-40)self.speedy = random.randrange(1,8)       class Bullet(pygame.sprite.Sprite):'''创建玩家炮弹类'''def __init__(self, x, y):pygame.sprite.Sprite.__init__(self)self.image = bullet_imgself.image.set_colorkey(BLACK)self.rect = self.image.get_rect()self.rect.bottom = y self.rect.centerx = xself.speedy = -10def update(self):self.rect.y += self.speedyif self.rect.bottom < 0:self.kill()class EnemiesBullet(pygame.sprite.Sprite):'''创建敌机炮弹类'''def __init__(self, x, y):pygame.sprite.Sprite.__init__(self)self.image = enemies_bullet_imgself.image.set_colorkey(BLACK)self.rect = self.image.get_rect()self.rect.top = y self.rect.centerx = xself.speedy = 10def update(self):self.rect.y += self.speedyif self.rect.top > 600:self.kill()class Missile(pygame.sprite.Sprite):'''创建导弹类'''def __init__(self, x, y):pygame.sprite.Sprite.__init__(self)self.image = missile_imgself.image.set_colorkey(BLACK)self.rect = self.image.get_rect()self.rect.bottom = yself.rect.centerx = xself.speedy = -10def update(self):self.rect.y += self.speedyif self.rect.bottom < 0:self.kill()class Pow(pygame.sprite.Sprite):'''创建补给类'''def __init__(self, center):pygame.sprite.Sprite.__init__(self)self.type = random.choice(['shield', 'gun'])self.image = powerup_images[self.type]self.image.set_colorkey(BLACK)self.rect = self.image.get_rect()self.rect.center = centerself.speedy = 4def update(self):self.rect.y += self.speedyif self.rect.top > HEIGHT:self.kill()#######################################主循环########################################定义游戏开始界面标识
running = True
menu_display = Truewhile running:if menu_display:main_menu()pygame.time.wait(3000)pygame.mixer.music.stop()pygame.mixer.music.load(path.join(sound_folder,'tgfcoder-FrozenJam-SeamlessLoop.ogg'))pygame.mixer.music.play(-1)menu_display = Falseall_sprites = pygame.sprite.Group()player = Player()all_sprites.add(player)        mobs = pygame.sprite.Group()for i in range(4):newmob()lavas = pygame.sprite.Group()for i in range(4): newlava()bullets = pygame.sprite.Group()enemies_bullets = pygame.sprite.Group()powerups = pygame.sprite.Group()score = 0   clock.tick(FPS)for event in pygame.event.get():if event.type == pygame.QUIT:running = Falseif event.type == pygame.KEYDOWN:if event.key == pygame.K_ESCAPE:running = Falseall_sprites.update()#敌机与玩家炮弹碰撞检测hits = pygame.sprite.groupcollide(mobs,bullets,True,True)    for hit in hits:score += 50-hit.radiusrandom.choice(expl_sounds).play()       expl = Explosion(hit.rect.center,'lg')all_sprites.add(expl)if random.random() > 0.9:pow = Pow(hit.rect.center)all_sprites.add(pow)powerups.add(pow)newmob()#火山石与玩家炮弹碰撞检测hits = pygame.sprite.groupcollide(lavas,bullets,True,True)    for hit in hits:score += 50-hit.radiusrandom.choice(expl_sounds).play()      expl = Explosion(hit.rect.center,'lg')all_sprites.add(expl)if random.random() > 0.9:pow = Pow(hit.rect.center)all_sprites.add(pow)powerups.add(pow)newlava()#玩家与敌机碰撞检测hits = pygame.sprite.spritecollide(player,mobs,True,pygame.sprite.collide_circle)for hit in hits:player.shield -= hit.radius*2expl = Explosion(hit.rect.center,'sm')all_sprites.add(expl)newmob()if player.shield <= 0: player_die_sound.play()death_explosion = Explosion(player.rect.center,'player')all_sprites.add(death_explosion)player.hide()player.lives -= 1player.shield = 100#玩家与火山石碰撞检测hits = pygame.sprite.spritecollide(player,lavas,True,pygame.sprite.collide_circle)for hit in hits:player.shield -= hit.radius*2expl = Explosion(hit.rect.center,'sm')all_sprites.add(expl)newlava()if player.shield <= 0: player_die_sound.play()death_explosion = Explosion(player.rect.center,'player')all_sprites.add(death_explosion)player.hide()player.lives -= 1player.shield = 100#玩家与敌机炮弹碰撞检测hits = pygame.sprite.spritecollide(player,enemies_bullets,True,pygame.sprite.collide_circle)for hit in hits:player.shield -= hit.radius*2expl = Explosion(hit.rect.center,'sm')all_sprites.add(expl)        if player.shield <= 0: player_die_sound.play()death_explosion = Explosion(player.rect.center,'player')all_sprites.add(death_explosion)player.hide()player.lives -= 1player.shield = 100#玩家与补给碰撞检测hits = pygame.sprite.spritecollide(player,powerups,True)for hit in hits:if hit.type == 'shield':player.shield += random.randrange(10,30)if player.shield >= 100:player.shield = 100if hit.type == 'gun':player.powerup()if player.lives == 0 and not death_explosion.alive():pygame.time.wait(1000)screen.fill(BLACK)draw_text(screen, "Game Over", 40, WIDTH/2, HEIGHT/3)pygame.display.update()pygame.time.wait(3000)menu_display = True#背景画卷向下滚动screen.fill(BLACK)    screen.blit(background,(0,height))height += 2if height >= -168:height = -936all_sprites.draw(screen)draw_text(screen,str(score),18,WIDTH/2,10)draw_shield_bar(screen,5,5,player.shield)    draw_lives(screen,WIDTH-100,5,player.lives,player_mini_img)pygame.display.flip()    pygame.quit()

三、效果展示

1)视频效果

《雷霆对决》新版本敌军、玩家个个身怀绝技,火力爆棚~

2)截图效果

游戏开始——

​游戏开始——刺激对决!

游戏结束——

总结

好啦~升级版本的飞机大战写到这里就结束啦,等下一次给大家写一款最高版本的,期待吧!?

学习完记得三连哦~需要源码的也可以滴滴我啦!

源码基地——

滴滴我即可啦!看我主页(pc端也可以自取滴)~

【Pygame系列】《雷霆对决》新版本敌军、玩家个个身怀绝技,火力爆棚~(升级版)相关推荐

  1. pygame系列_原创百度随心听音乐播放器_完整版

    程序名:PyMusic 解释:pygame+music 之前发布了自己写的小程序:百度随心听音乐播放器的一些效果图 你可以去到这里再次看看效果: pygame系列_百度随心听_完美的UI设计 这个程序 ...

  2. 【Pygame系列】别样的飞机大战:太空陨石VS大型战机对决(内含源码)

    导语 ​​​ 12月的心境:一半优,一半喜. 12月的天空: 一半晴,一半雨. 12月的风 : 已不再那么的轻柔 ,带有无言的烦躁!甚至裹着疼痛的雨. 2022年的尾巴 :已悄悄来临! 临近新的一年, ...

  3. 努比亚Z11系统服务器选择,良心!努比亚Z11系列机型系统升级新版本后性能提升明显...

    IT之家1月18日消息 随着科技的快速发展,智能手机的更新换代也变得越来越快,刚买的手机没过多久就变成了老款.而在对老款机型的系统更新方面,各家厂商又有着不同的态度.这也使得人们在选择新机的时候更加谨 ...

  4. pygame系列_游戏中的事件

    先看一下我做的demo: 当玩家按下键盘上的:上,下,左,右键的时候,后台会打印出玩家所按键的数字值,而图形会随之移动 这是客观上面存在的现象. 那么啥是事件呢? 你叫我做出定义,我不知道,我只能举个 ...

  5. ngnix有版本要求吗_魔兽世界:暴雪疯了?新版本老玩家遭重大削弱,这是逼人AFK?...

    虽然说在<魔兽世界>9.0版本"暗影国度"还在A测的时候,就有消息传出了暴雪想要对过往版本的道具进行削弱和限制,以保证新版本道具不会被老版本道具抢市场:但是毕竟一直只是 ...

  6. 【Pygame系列】@你,快来签收卡通Q弹的小奥特曼打小怪兽的小游戏啦~

    前言 时光留声机. 1966年至今,它火了几十年. 推出上百部经典作品,作为史上首部特摄片. 奥特曼不仅是几代人的童年与回忆,更是小朋友的快乐,大朋友的情怀! 话说,大家都比较喜欢有趣的案例项目等等, ...

  7. pygame系列_mouse鼠标事件

    pygame.mouse提供了一些方法获取鼠标设备当前的状态 ''' pygame.mouse.get_pressed - get the state of the mouse buttons get ...

  8. ORAN专题系列-21:主要的玩家(设备商)以及他们各自的态度、擅长领域

    目录 第1章 开发Open-RAN功能的关键公司 1.1 O-RAN生态圈概览 1.2 ORAN分布 1.3 其他玩家 1.4 不同国家设备商的态度 1.5 Cloud RAN.VRAN的竞争格局 1 ...

  9. ❤️❤️马上安排!闺女想在游戏里成为【超人】,Python游戏开发模块Pygame系列之【介绍及安装】❤️❤️源码

    pygame游戏开发 学习环境 适合人群 Pygame介绍 安装 Pygame模块介绍说明 总结 学习环境 Python版本3.7 pygame版本2.0.1 Pycharm社区版 windowns1 ...

  10. ❤️❤️马上安排!闺女想在游戏里成为【超人】,Python游戏开发模块Pygame系列之【跳跃的小球】❤️❤️源码

    今天正式学习Pygame 学习环境 适合人群 跳跃的小球 实现步骤说明 创建游戏窗口 display模块的常用方法 窗口显示 加载游戏图片 Surface对象的常用方法 移动图片 碰撞检测 限制小球移 ...

最新文章

  1. 【转载】知乎答案----孙志岗----Google 发布了程序员养成指南,国内互联网巨头是否也有类似的指南和课程推荐...
  2. Day8 字符串操作
  3. python之递归锁【Rlock】
  4. 【今日直播】致前端:不要再打了.gif
  5. ES5、ES6、ES7、ES8
  6. 「C语言」指针数组 数组指针 指针函数 函数指针
  7. 使用python实现对于chineseocr的API调用
  8. 计算机二级access选择题技巧,计算机二级access考试注意事项及解题技巧策略
  9. oracle中视图窗粉色的,Oracle 11g日常操作与维护手册
  10. JDK Executor执行器的应用
  11. 从入门到退坑,详解数分行业的3个岗位,起薪高达40W的是哪个?
  12. 为什么说Java中要慎重使用继承
  13. 蓝桥杯 ADV-126 算法提高 扫雷
  14. 常用SQL Server数据修复命令DBCC一览(转载)
  15. 二十七、K8s最小服务漏洞1-PSP
  16. tomcat出现5个using_婚姻出现危机的8个迹象,日常5个细节促进夫妻情感
  17. matlab雷达噪声模型,雷达信号处理MATLAB仿真.doc
  18. 一篇了解TrustZone
  19. 有趣的计算机课的作文,有趣的电脑课作文400字
  20. 数据库时间相减_sql时间相减

热门文章

  1. mfc 配合directshow
  2. Linux——进程间通信(管道)
  3. 在Ubuntu中下载github上的文件
  4. 如何在电脑上给视频去水印
  5. 【读书笔记】Head First设计模式-设计模式入门-鸭子会不会飞(1)
  6. 如何轻松集成VARCHART XGantt
  7. 状态监测与故障智能诊断技术在能源动力机械内燃机的应用
  8. React-Native调用系统分享组件Share组件的使用
  9. 浙江大学计算机专业选考要求,浙大等招办主任解读2020年选考科目要求!各专业有调整!...
  10. Please either set ERLANG_HOME to point to your Erlang installation or place