火影 遇上 python Baby_Brother_GGY

news2025/4/15 20:04:55

上视频先~
 

66666


 

import pygame
import random
import sys
import math
from pygame.locals import *

# 初始化pygame
pygame.init()
pygame.mixer.init()

# 屏幕设置
WIDTH, HEIGHT = 1480, 750                         
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("火影")

# 颜色定义
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)
GREEN = (0, 255, 0)
TRANSPARENT_WHITE = (255, 255, 255, 128)

# 设置中文字体
try:
    font = pygame.font.SysFont('simhei', 36)
    input_font = pygame.font.SysFont('simhei', 48)
except:
    font = pygame.font.SysFont(None, 36)
    input_font = pygame.font.SysFont(None, 48)

# 加载图片
try:
    # 初始鸣人图片
    naruto_img = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744468674913.png")
    naruto_img = pygame.transform.scale(naruto_img, (50, 50))
    
    # 200分鸣人图片
    naruto_img_200 = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744511788643.png")
    naruto_img_200 = pygame.transform.scale(naruto_img_200, (50, 50))
    
    # 500分鸣人图片
    naruto_img_500 = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744512041653.png")
    naruto_img_500 = pygame.transform.scale(naruto_img_500, (50, 50))
    
    # 1000分鸣人图片
    naruto_img_1000 = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744512359608.png")
    naruto_img_1000 = pygame.transform.scale(naruto_img_1000, (50, 50))
    
    # 敌人图片
    enemy_imgs = [
        pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744468443623.png"),
        pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744468370404.png"),
        pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744468327157.png")
    ]
    enemy_imgs = [pygame.transform.scale(img, (40, 40)) for img in enemy_imgs]
    
    # 初始螺旋丸图片
    rasengan_img = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744469038888.png")
    rasengan_img = pygame.transform.scale(rasengan_img, (30, 30))
    
    # 1000分螺旋丸图片
    rasengan_img_1000 = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744512647483.png")
    rasengan_img_1000 = pygame.transform.scale(rasengan_img_1000, (30, 30))
    
    # 爆炸效果图片
    explosion_img = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744514677932.png")
    explosion_img = pygame.transform.scale(explosion_img, (100, 100))
    
    # 大大大Boss图片
    boss_img = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744515154318.png")
    boss_img = pygame.transform.scale(boss_img, (150, 150))
    
    # 激光图片
    laser_img = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744514421994.png")
    
    # 医疗包图片
    medkit_img = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744515539778.png")
    medkit_img = pygame.transform.scale(medkit_img, (25, 25))
    
    # 队友图片
    teammate_img = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744525685869.png")
    teammate_img = pygame.transform.scale(teammate_img, (50, 50))
    
    # 队友子弹图片
    teammate_bullet_img = pygame.image.load(r"C:\Users\Administrator\Desktop\GGY\图片\screenshot-1744525925999.png")
    teammate_bullet_img = pygame.transform.scale(teammate_bullet_img, (30, 30))
    
except pygame.error as e:
    print("图片加载失败:", e)
    sys.exit()

# 加载背景音乐
try:
    boss_music = pygame.mixer.Sound(r"C:\Users\Administrator\Desktop\GGY\SoundHelix-Song-1.mp3")
    boss_music.set_volume(0.5)
except:
    print("背景音乐加载失败")
    boss_music = None
clock = pygame.time.Clock()

# 获取玩家昵称
def get_player_name():
    name = ""
    input_active = True
    while input_active:
        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()
            elif event.type == KEYDOWN:
                if event.key == K_RETURN:
                    input_active = False
                elif event.key == K_BACKSPACE:
                    name = name[:-1]
                else:
                    # 支持中文输入
                    if event.unicode.isprintable():
                        name += event.unicode
        
        screen.fill(BLACK)
        prompt_text = input_font.render("请输入你的昵称:", True, WHITE)
        name_text = input_font.render(name, True, WHITE)
        screen.blit(prompt_text, (WIDTH//2 - 150, HEIGHT//2 - 50))
        screen.blit(name_text, (WIDTH//2 - 100, HEIGHT//2 + 20))
        pygame.display.flip()
        clock.tick(60)
    
    return name if name else "匿名玩家"

# 爆炸效果类
class Explosion(pygame.sprite.Sprite):
    def __init__(self, x, y):
        super().__init__()
        self.image = explosion_img
        self.rect = self.image.get_rect()
        self.rect.center = (x, y)
        self.lifetime = 10  # 爆炸效果持续时间
    
    def update(self):
        self.lifetime -= 1
        if self.lifetime <= 0:
            self.kill()

# 激光类
class Laser(pygame.sprite.Sprite):
    def __init__(self, x, y, target_x, target_y):
        super().__init__()
        # 计算激光方向和长度
        dx = target_x - x
        dy = target_y - y
        distance = max(1, math.sqrt(dx*dx + dy*dy))
        angle = math.degrees(math.atan2(dy, dx))
        
        # 旋转激光图片
        original_width = laser_img.get_width()
        scaled_width = int(distance)
        scaled_laser = pygame.transform.scale(laser_img, (scaled_width, 10))
        self.image = pygame.transform.rotate(scaled_laser, -angle)
        self.rect = self.image.get_rect()
        self.rect.center = (x + dx/2, y + dy/2)
        self.damage = 10
        self.lifetime = 30  # 激光持续时间
    
    def update(self):
        self.lifetime -= 1
        if self.lifetime <= 0:
            self.kill()

# 医疗包类
class Medkit(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = medkit_img
        self.rect = self.image.get_rect()
        self.rect.x = random.randint(0, WIDTH - self.rect.width)
        self.rect.y = random.randint(0, HEIGHT - self.rect.height)
        self.lifetime = 600  # 医疗包存在时间(10秒)
    
    def update(self):
        self.lifetime -= 1
        if self.lifetime <= 0:
            self.kill()

# Boss类
class Boss(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = boss_img
        self.rect = self.image.get_rect()
        self.rect.x = WIDTH // 2
        self.rect.y = HEIGHT // 2
        self.health = 500
        self.move_timer = 0
        self.attack_timer = 0
        self.lasers = pygame.sprite.Group()
    
    def update(self, naruto):
        # 每15秒移动一次
        self.move_timer += 1
        if self.move_timer >= 900:  # 15秒(60帧/秒)
            self.rect.x = random.randint(0, WIDTH - self.rect.width)
            self.rect.y = random.randint(0, HEIGHT - self.rect.height)
            self.move_timer = 0
        
        # 每3秒攻击一次
        self.attack_timer += 1
        if self.attack_timer >= 180:  # 3秒
            self.shoot_laser(naruto)
            self.attack_timer = 0
    
    def shoot_laser(self, naruto):
        laser = Laser(self.rect.centerx, self.rect.centery, naruto.rect.centerx, naruto.rect.centery)
        self.lasers.add(laser)
        return laser

# 队友类
class Teammate(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = teammate_img
        self.rect = self.image.get_rect()
        self.rect.center = (WIDTH // 2, HEIGHT // 2)
        self.speed = 5
        self.shoot_timer = 0
        self.health = 200  # 队友有独立血量
        self.max_health = 200
    
    def update(self):
        keys = pygame.key.get_pressed()
        if keys[K_UP] and self.rect.top > 0:
            self.rect.y -= self.speed
        if keys[K_DOWN] and self.rect.bottom < HEIGHT:
            self.rect.y += self.speed
        if keys[K_LEFT] and self.rect.left > 0:
            self.rect.x -= self.speed
        if keys[K_RIGHT] and self.rect.right < WIDTH:
            self.rect.x += self.speed
        
        # 持续发射子弹
        self.shoot_timer += 1
        if self.shoot_timer >= 15:  # 每0.25秒发射一次
            self.shoot_timer = 0
            return TeammateBullet(self.rect.right, self.rect.centery)
        return None

# 队友子弹类
class TeammateBullet(pygame.sprite.Sprite):
    def __init__(self, x, y):
        super().__init__()
        self.image = teammate_bullet_img
        self.rect = self.image.get_rect()
        self.rect.left = x
        self.rect.centery = y
        self.speed = 10
        self.damage = 15
    
    def update(self):
        self.rect.x += self.speed
        if self.rect.left > WIDTH:
            self.kill()

# 玩家设置 (鸣人)
class Naruto(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = naruto_img
        self.rect = self.image.get_rect()
        self.rect.center = (WIDTH // 4, HEIGHT // 2)
        self.speed = 5
        self.health = 100
        self.max_health = 100
        self.rasengan_cooldown = 0
        self.current_level = 1  # 1:初始, 2:200分, 3:500分, 4:1000分
        self.heal_timer = 0
    
    def update(self, *args):
        # 处理参数,允许不传score
        score = args[0] if args else 0
        
        # 根据分数更新角色状态
        if score >= 1000 and self.current_level < 4:
            self.image = naruto_img_1000
            self.max_health = 500
            self.health = 500
            self.current_level = 4
        elif score >= 500 and self.current_level < 3:
            self.image = naruto_img_500
            self.current_level = 3
        elif score >= 200 and self.current_level < 2:
            self.image = naruto_img_200
            self.current_level = 2
        
        # 每1秒恢复1点血
        self.heal_timer += 1
        if self.heal_timer >= 60:  # 1秒
            self.health = min(self.health + 1, self.max_health)
            self.heal_timer = 0
        
        keys = pygame.key.get_pressed()
        if keys[K_w] and self.rect.top > 0:  # W键上移
            self.rect.y -= self.speed
        if keys[K_s] and self.rect.bottom < HEIGHT:  # S键下移
            self.rect.y += self.speed
        if keys[K_a] and self.rect.left > 0:  # A键左移
            self.rect.x -= self.speed
        if keys[K_d] and self.rect.right < WIDTH:  # D键右移
            self.rect.x += self.speed
        
        if self.rasengan_cooldown > 0:
            self.rasengan_cooldown -= 1
    
    def shoot_rasengan(self, score):
        if self.rasengan_cooldown == 0:
            cooldown = 20
            if score >= 1000:
                cooldown = 15  # 1000分后冷却时间缩短
            self.rasengan_cooldown = cooldown
            return Rasengan(self.rect.right, self.rect.centery, score)
        return None

# 螺旋丸类
class Rasengan(pygame.sprite.Sprite):
    def __init__(self, x, y, score):
        super().__init__()
        if score >= 1000:
            self.image = rasengan_img_1000
        else:
            self.image = rasengan_img
        self.rect = self.image.get_rect()
        self.rect.left = x
        self.rect.centery = y
        self.speed = 7
        self.damage = 25
        self.score = score
        self.explode_on_contact = (score >= 500)  # 等级3、4会爆炸
    
    def update(self):
        self.rect.x += self.speed
        if self.rect.left > WIDTH:
            self.kill()

# 敌人类
class Enemy(pygame.sprite.Sprite):
    def __init__(self, enemy_health=50):
        super().__init__()
        self.image = random.choice(enemy_imgs)
        self.rect = self.image.get_rect()
        self.rect.x = WIDTH
        self.rect.y = random.randint(0, HEIGHT - self.rect.height)
        self.speed = random.randint(1, 3)
        self.health = enemy_health
    
    def update(self):
        self.rect.x -= self.speed
        if self.rect.right < 0:
            self.kill()

def draw_energy_bar(screen, energy):
    bar_width = 200
    bar_height = 20
    outline_rect = pygame.Rect(WIDTH - 350, 20, bar_width, bar_height)
    fill_rect = pygame.Rect(WIDTH - 350, 20, int(bar_width * (energy / 1000)), bar_height)
    pygame.draw.rect(screen, BLACK, outline_rect, 2)
    pygame.draw.rect(screen, BLUE, fill_rect)
    energy_text = font.render(f"查克拉: {energy}/1000", True, YELLOW)
    screen.blit(energy_text, (WIDTH - 350, 45))

def main():
    clock = pygame.time.Clock()
    
    # 获取玩家昵称
    player_name = get_player_name()
    
    # 创建精灵组
    all_sprites = pygame.sprite.Group()
    enemies = pygame.sprite.Group()
    rasengans = pygame.sprite.Group()
    explosions = pygame.sprite.Group()
    medkits = pygame.sprite.Group()
    teammate_bullets = pygame.sprite.Group()
    
    # 创建玩家
    naruto = Naruto()
    all_sprites.add(naruto)
    
    # 游戏变量
    score = 0
    energy = 0
    enemy_spawn_timer = 0
    game_over = False
    boss_spawned = False
    boss = None
    medkit_timer = 0
    teammate = None
    teammate_summoned = False
    boss_music_playing = False
    enemy_health = 50  # 初始敌人血量
    enemy_health_doubled = False
    enemy_health_message_timer = 0
    
    # 游戏主循环
    running = True
    while running:
        # 事件处理
        for event in pygame.event.get():
            if event.type == QUIT:
                running = False
            elif event.type == KEYDOWN:
                if event.key == K_j and not game_over:  # J键攻击
                    rasengan = naruto.shoot_rasengan(score)
                    if rasengan:
                        all_sprites.add(rasengan)
                        rasengans.add(rasengan)
                if event.key == K_r and game_over:
                    # 重新开始游戏
                    all_sprites.empty()
                    enemies.empty()
                    rasengans.empty()
                    explosions.empty()
                    medkits.empty()
                    teammate_bullets.empty()
                    naruto = Naruto()
                    all_sprites.add(naruto)
                    score = 0
                    energy = 0
                    game_over = False
                    boss_spawned = False
                    boss = None
                    teammate = None
                    teammate_summoned = False
                    enemy_health = 50
                    enemy_health_doubled = False
                    if boss_music and boss_music_playing:
                        boss_music.stop()
                        boss_music_playing = False
                if event.key == K_k and not game_over and energy >= 1000:  # K键清屏
                    for enemy in enemies:
                        enemy.kill()
                    energy = 0
                if event.key == K_l and not game_over and energy >= 500 and not teammate_summoned:  # L键召唤队友
                    teammate = Teammate()
                    all_sprites.add(teammate)
                    energy -= 500
                    teammate_summoned = True
        
        if not game_over:
            # 检查是否需要增加敌人血量
            if score >= 500 and not enemy_health_doubled:
                enemy_health = 100  # 敌人血量翻倍
                enemy_health_doubled = True
                enemy_health_message_timer = 180  # 3秒
            
            # 更新
            naruto.update(score)
            rasengans.update()
            enemies.update()
            explosions.update()
            medkits.update()
            
            # 更新队友
            if teammate:
                bullet = teammate.update()
                if bullet:
                    all_sprites.add(bullet)
                    teammate_bullets.add(bullet)
            teammate_bullets.update()
            
            # 生成敌人
            enemy_spawn_timer += 1
            if enemy_spawn_timer >= 60:  # 每秒生成一个敌人
                enemy = Enemy(enemy_health)
                all_sprites.add(enemy)
                enemies.add(enemy)
                enemy_spawn_timer = 0
            
            # 生成医疗包(每100秒)
            medkit_timer += 1
            if medkit_timer >= 6000:  # 100秒
                medkit = Medkit()
                all_sprites.add(medkit)
                medkits.add(medkit)
                medkit_timer = 0
            
            # 检测螺旋丸和敌人的碰撞
            hits = pygame.sprite.groupcollide(enemies, rasengans, False, True)
            for enemy, rasengan_list in hits.items():
                for rasengan in rasengan_list:
                    # 根据分数决定伤害效果
                    if score >= 200:  # 200分后一击必杀
                        enemy.health = 0
                    else:
                        enemy.health -= rasengan.damage
                    
                    # 500分后可以一次打两个敌人
                    if score >= 500:
                        for other_enemy in enemies:
                            if other_enemy != enemy and abs(other_enemy.rect.x - enemy.rect.x) < 100:
                                other_enemy.health = 0
                    
                    # 等级3、4的螺旋丸会爆炸
                    if rasengan.explode_on_contact:
                        explosion = Explosion(enemy.rect.centerx, enemy.rect.centery)
                        all_sprites.add(explosion)
                        explosions.add(explosion)
                        # 爆炸范围内的敌人都会死亡
                        for other_enemy in enemies:
                            if math.sqrt((other_enemy.rect.centerx - enemy.rect.centerx)**2 + 
                                        (other_enemy.rect.centery - enemy.rect.centery)**2) < 100:
                                other_enemy.health = 0
                    
                    if enemy.health <= 0:
                        enemy.kill()
                        score += 10
                        energy = min(energy + 5, 1000)  # 击杀敌人增加能量
            
            # 检测队友子弹和敌人的碰撞
            hits = pygame.sprite.groupcollide(enemies, teammate_bullets, False, True)
            for enemy, bullet_list in hits.items():
                for bullet in bullet_list:
                    enemy.health -= bullet.damage
                    if enemy.health <= 0:
                        enemy.kill()
                        score += 10
                        energy = min(energy + 5, 1000)
            
            # 检测玩家和敌人的碰撞
            hits = pygame.sprite.spritecollide(naruto, enemies, False)
            for enemy in hits:
                naruto.health -= 1
                if naruto.health <= 0:
                    game_over = True
            
            # 检测队友和敌人的碰撞
            if teammate:
                hits = pygame.sprite.spritecollide(teammate, enemies, False)
                for enemy in hits:
                    teammate.health -= 1
                    if teammate.health <= 0:
                        teammate.kill()
                        teammate_summoned = False
            
            # 检测玩家和医疗包的碰撞
            hits = pygame.sprite.spritecollide(naruto, medkits, True)
            for medkit in hits:
                naruto.health = naruto.max_health
            
            # 检测队友和医疗包的碰撞
            if teammate:
                hits = pygame.sprite.spritecollide(teammate, medkits, True)
                for medkit in hits:
                    teammate.health = teammate.max_health
            
            # 2000分生成Boss
            if score >= 2000 and not boss_spawned:
                boss = Boss()
                all_sprites.add(boss)
                boss_spawned = True
                if boss_music:
                    boss_music.play(-1)  # 循环播放
                    boss_music_playing = True
            
            # 更新Boss
            if boss_spawned:
                boss.update(naruto)
                # 更新Boss的激光
                for laser in boss.lasers:
                    if not laser.alive():
                        all_sprites.add(laser)
                
                boss.lasers.update()
                
                # 检测玩家和激光的碰撞
                hits = pygame.sprite.spritecollide(naruto, boss.lasers, False)
                for laser in hits:
                    naruto.health -= laser.damage
                    laser.kill()
                    if naruto.health <= 0:
                        game_over = True
                
                # 检测队友和激光的碰撞
                if teammate:
                    hits = pygame.sprite.spritecollide(teammate, boss.lasers, False)
                    for laser in hits:
                        teammate.health -= laser.damage
                        laser.kill()
                        if teammate.health <= 0:
                            teammate.kill()
                            teammate_summoned = False
                
                # 检测螺旋丸和Boss的碰撞
                hits = pygame.sprite.spritecollide(boss, rasengans, True)
                for rasengan in hits:
                    boss.health -= rasengan.damage
                    if rasengan.explode_on_contact:
                        explosion = Explosion(boss.rect.centerx, boss.rect.centery)
                        all_sprites.add(explosion)
                        explosions.add(explosion)
                    
                    if boss.health <= 0:
                        boss.kill()
                        score += 500  # Boss死亡加500分
                        boss_spawned = False
                        if boss_music and boss_music_playing:
                            boss_music.stop()
                            boss_music_playing = False
                
                # 检测队友子弹和Boss的碰撞
                if teammate:
                    hits = pygame.sprite.spritecollide(boss, teammate_bullets, True)
                    for bullet in hits:
                        boss.health -= bullet.damage
                        if boss.health <= 0:
                            boss.kill()
                            score += 500  # Boss死亡加500分
                            boss_spawned = False
                            if boss_music and boss_music_playing:
                                boss_music.stop()
                                boss_music_playing = False
            
            # 绘制
            screen.fill(BLACK)
            all_sprites.draw(screen)
            
            # 显示玩家昵称
            name_surface = font.render(f"玩家: {player_name}", True, WHITE)
            name_rect = pygame.Rect(5, HEIGHT - 40, name_surface.get_width() + 10, name_surface.get_height() + 10)
            pygame.draw.rect(screen, (0, 0, 0, 128), name_rect, border_radius=5)
            screen.blit(name_surface, (10, HEIGHT - 35))
            
            # 显示分数和生命值
            score_text = font.render(f"分数: {score}", True, WHITE)
            health_text = font.render(f"生命值: {naruto.health}/{naruto.max_health}", True, WHITE)
            level_text = font.render(f"等级: {naruto.current_level}", True, WHITE)
            
            screen.blit(score_text, (5, 10))
            screen.blit(health_text, (5, 50))
            screen.blit(level_text, (5, 90))
            
            # 显示队友血量
            if teammate:
                teammate_health_text = font.render(f"队友生命值: {teammate.health}/{teammate.max_health}", True, GREEN)
                screen.blit(teammate_health_text, (5, 130))
            
            # 显示能量条
            draw_energy_bar(screen, energy)
            
            # 显示当前能力说明
            if score >= 1000:
                ability_text = font.render("能力: 一击必杀 + 范围爆炸 + 高血量", True, WHITE)
            elif score >= 500:
                ability_text = font.render("能力: 一击必杀 + 范围爆炸", True, WHITE)
            elif score >= 200:
                ability_text = font.render("能力: 一击必杀", True, WHITE)
            else:
                ability_text = font.render("能力: 普通攻击", True, WHITE)
            screen.blit(ability_text, (5, 170 if teammate else 130))
            
            # 显示敌人血量翻倍消息
            if enemy_health_message_timer > 0:
                enemy_health_message_timer -= 1
                if enemy_health_message_timer % 30 < 15:  # 闪烁效果
                    message_text = font.render("敌人血量为原来的2倍!", True, RED)
                    screen.blit(message_text, (WIDTH//2 - 150, 50))
            
            # 显示操作提示
            controls_text = font.render("移动:WASD 攻击:J 清屏:K(满能量) 召唤队友:L(500能量)", True, WHITE)
            screen.blit(controls_text, (WIDTH//2 - 300, HEIGHT - 40))
            
            # 显示Boss血量
            if boss_spawned:
                boss_health_text = font.render(f"Boss血量: {boss.health}", True, RED)
                screen.blit(boss_health_text, (WIDTH - 350, 90))
        else:
            # 游戏结束画面
            screen.fill(BLACK)
            game_over_text = font.render("游戏结束! 按R键重新开始", True, WHITE)
            final_score_text = font.render(f"最终分数: {score}", True, WHITE)
            screen.blit(game_over_text, (WIDTH//2 - 180, HEIGHT//2 - 30))
            screen.blit(final_score_text, (WIDTH//2 - 100, HEIGHT//2 + 20))
        
        pygame.display.flip()
        clock.tick(60)
    
    pygame.quit()
    sys.exit()

if __name__ == "__main__":
    main()
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2334514.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker部署MySQL大小写不敏感配置与数据迁移实战20250409

Docker部署MySQL大小写不敏感配置与数据迁移实战 &#x1f9ed; 引言 在企业实际应用中&#xff0c;尤其是使用Java、Hibernate等框架开发的系统&#xff0c;MySQL默认的大小写敏感特性容易引发各种兼容性问题。特别是在Linux系统中部署Docker版MySQL时&#xff0c;默认行为可…

面试题之网络相关

最近开始面试了&#xff0c;410面试了一家公司 问了我几个网络相关的问题&#xff0c;我都不会&#xff01;&#xff01;现在来恶补一下&#xff0c;整理到博客中&#xff0c;好难记啊&#xff0c;虽然整理下来了。在这里先祝愿大家在现有公司好好沉淀&#xff0c;定位好自己的…

[春秋云镜] Tsclient仿真场景

文章目录 靶标介绍&#xff1a;外网mssql弱口令SweetPotato提权上线CSCS注入在线用户进程上线 内网chisel搭建代理密码喷洒攻击映像劫持 -- 放大镜提权krbrelayup提权Dcsync 参考文章 考点: mssql弱口令SweetPotato提权CS注入在线用户进程上线共享文件CS不出网转发上线密码喷洒…

数据集 handpose_x_plus 3D RGB 三维手势 - 手工绘画 场景 draw picture

数据集 handpose 相关项目地址&#xff1a;https://github.com/XIAN-HHappy/handpose_x_plus 样例数据下载地址&#xff1a;数据集handpose-x-plus3DRGB三维手势-手工绘画场景drawpicture资源-CSDN文库

deskflow使用教程:一个可以让两台电脑鼠标键盘截图剪贴板共同使用的开源项目

首先去开源网站下载&#xff1a;Release v1.21.2 deskflow/deskflow 两台电脑都要下载这个文件 下载好后直接打开找到你想要的exe desflow.exe 然后你打开他&#xff0c;将两台电脑的TLS都关掉 下面步骤两台电脑都要完成&#xff1a; 电脑点开edit-》preferences 把这个取…

详解MYSQL表空间

目录 表空间文件 表空间文件结构 行格式 Compact 行格式 变长字段列表 NULL值列表 记录头信息 列数据 溢出页 数据页 当我们使用MYSQL存储数据时&#xff0c;数据是如何被组织起来的&#xff1f;索引又是如何组织的&#xff1f;在本文我们将会解答这些问题。 表空间文…

[Windows] 音速启动 1.0.0.0

[Windows] 音速启动 链接&#xff1a;https://pan.xunlei.com/s/VONiGZhtsxpPzze0lDIH-mR9A1?pwdxu7f# [Windows] 音速启动 1.0.0.0 音速启动是一款桌面管理软件&#xff0c;以仿真QQ界面的形式结合桌面工具的特点&#xff0c;应用于软件文件夹网址的快捷操作。

Hyper-V 虚拟机配置静态IP并且映射到局域网使用

环境 win11hyper-v麒麟v10 配置 编辑文件 vi /etc/sysconfig/network-scripts/ifcfg-eth0文件内容 GATEWAY 需要参考网络中配置的网关地址 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno BOOTPROTOstatic DEFROUTEyes IPV4_FAILURE_FATALno IPV6INITyes IPV6_AUTOCONFyes …

操作系统基础:06 操作系统历史

我们前面已经讲过了操作系统的基本轮廓、启动过程以及系统调用等相关内容&#xff0c;就如同揭开了钢琴的盖子&#xff0c;对操作系统有了初步的表面认识。从现在起&#xff0c;我们要更深入地剖析操作系统&#xff0c;就像分解钢琴一样&#xff0c;探究其各个部分的构成、原理…

【大模型微调】如何解决llamaFactory微调效果与vllm部署效果不一致如何解决

以下个人没整理太全 一、生成式语言模型的对话模板介绍 使用Qwen/Qwen1.5-0.5B-Chat训练 对话模板不一样。回答的内容就会不一样。 我们可以看到例如qwen模型的tokenizer_config.json文件&#xff0c;就可以看到对话模板&#xff0c;一般同系列的模型&#xff0c;模板基本都…

【2025最新】windows本地部署LightRAG,完成neo4j知识图谱保存

之前在服务器部署neo4j失败&#xff0c;无奈只能在本地部署&#xff0c;导致后期所有使用的知识图谱数据都存在本地&#xff0c;这里为了节省时间&#xff0c;先在本地安装LigthRAG完成整个实验流程&#xff0c;后续在学习各种服务器部署和端口调用。从基础和简单的部分先做起来…

14、nRF52xx蓝牙学习(串口 UART 和 UARTE 外设应用)

一、UART 功能描述 串口 UART 也称为通用异步收发器。是各种处理器中常用了通信接口&#xff0c;在 nRF52 芯片中&#xff0c; UART 具有以下特点&#xff1a; ● 全双工操作 ● 自动流控 ● 奇偶校验产生第 9 位数据 串口 UART 的数据发送与接收流程 : ◆硬件配置…

DeepSeek轻松入门教程——从入门到精通

大家好&#xff0c;我是吾鳴。 今天吾鳴要给大家分享一份DeepSeek小白轻松入门指导手册——《DeepSeek 15天指导手册&#xff0c;从入门到精通》。指导手册分为基础入门对话篇、效率飞跃篇、场景实战篇、高手进化篇等&#xff0c;按照指导手册操作&#xff0c;DeepSeek从入门到…

Vue2 老项目升级 Vue3 深度解析教程

Vue2 老项目升级 Vue3 深度解析教程 摘要 Vue3 带来了诸多改进和新特性&#xff0c;如性能提升、组合式 API、更好的 TypeScript 支持等&#xff0c;将 Vue2 老项目升级到 Vue3 可以让项目获得这些优势。本文将深入解析升级过程&#xff0c;涵盖升级前的准备工作、具体升级步骤…

WXJ196微机小电流接地选线装置使用简单方便无需维护

WXJ196微机小电流接地选线装置&#xff0c;能在系统发生单相接地时&#xff0c;准确、迅速地选出接地线路母 线。使用简单方便&#xff0c;无需维护&#xff0c;可根据用户需要将相关信息通过通信接口传给上级监控系统&#xff0c; 适用于无人值守变电站。 2 功能及特点 全新的…

Java第四节:idea在debug模式夏改变变量的值

作者往期文章 Java第一节&#xff1a;debug如何调试程序&#xff08;附带源代码&#xff09;-CSDN博客 Java第二节&#xff1a;debug如何调试栈帧链&#xff08;附带源代码&#xff09;-CSDN博客 Java第三节&#xff1a;新手如何用idea创建java项目-CSDN博客 步骤一 在需要修改…

门极驱动器DRV8353M设计(二)

目录 13.3.4.4 MOSFET VDS 感测 (SPI Only) 13.3.5 Gate Driver保护回路 13.3.5.1 VM 电源和 VDRAIN 欠压锁定 (UVLO) 13.3.5.2 VCP 电荷泵和 VGLS 稳压器欠压锁定 (GDUV) 13.3.5.3 MOSFET VDS过流保护 (VDS_OCP) 13.3.5.3.1 VDS Latched Shutdown (OCP_MODE 00b) 13.…

学点概率论,打破认识误区

概率论是统计分析和机器学习的核心。掌握概率论对于理解和开发稳健的模型至关重要&#xff0c;因为数据科学家需要掌握概率论。本博客将带您了解概率论中的关键概念&#xff0c;从集合论的基础知识到高级贝叶斯推理&#xff0c;并提供详细的解释和实际示例。 目录 简介 基本集合…

NVIDIA AI Aerial

NVIDIA AI Aerial 适用于无线研发的 NVIDIA AI Aerial 基础模组Aerial CUDA 加速 RANAerial Omniverse 数字孪生Aerial AI 无线电框架 用例构建商业 5G 网络加速 5G生成式 AI 和 5G 数据中心 加速 6G 研究基于云的工具 优势100% 软件定义通过部署在数字孪生中进行测试6G 标准化…

OpenCV 关键点定位

一、Opencv关键点定位介绍 关键点定位在计算机视觉领域占据着核心地位&#xff0c;它能够精准识别图像里物体的关键特征点。OpenCV 作为功能强大的计算机视觉库&#xff0c;提供了多种实用的关键点定位方法。本文将详细阐述关键点定位的基本原理&#xff0c;深入探讨 OpenCV 中…