第二篇【传奇开心果微博系列】Python微项目技术点案例示例:成语接龙游戏

news2025/3/11 0:21:39

传奇开心果微博系列

  • 系列微博目录
    • Python微项目技术点案例示例系列
  • 微博目录
    • 一、微项目目标
    • 二、雏形示例代码
    • 三、扩展整体思路
    • 四、玩家输入示例代码
    • 五、成语判断示例代码
    • 六、回答判断示例代码
    • 七、电脑判断示例代码
    • 八、游戏结束示例代码
    • 九、界面优化示例代码
    • 十、扩展成语库示例代码
    • 十一、音效和动画效果示例代码

系列微博目录

Python微项目技术点案例示例系列

微博目录

一、微项目目标

在这里插入图片描述使用Pygame实现成语接龙小游戏微项目示例代码。

二、雏形示例代码

在这里插入图片描述下面是一个使用Pygame实现的简单成语接龙游戏示例代码:

import pygame
import random

# 初始化Pygame
pygame.init()

# 游戏窗口尺寸
WIDTH = 800
HEIGHT = 600

# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)

# 创建游戏窗口
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("成语接龙游戏")

# 加载背景图片
background = pygame.image.load("background.jpg")
background = pygame.transform.scale(background, (WIDTH, HEIGHT))

# 加载字体
font = pygame.font.Font(None, 36)

# 成语列表
idioms = ["一马当先", "人山人海", "一心一意", "自由自在", "一举两得", "千军万马", "一鸣惊人", "百年好合"]

# 当前成语
current_idiom = random.choice(idioms)

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # 绘制背景
    screen.blit(background, (0, 0))

    # 绘制当前成语
    text = font.render("当前成语:" + current_idiom, True, BLACK)
    screen.blit(text, (50, 50))

    # 更新显示
    pygame.display.flip()

# 退出游戏
pygame.quit()

这个示例代码创建了一个简单的成语接龙游戏窗口,加载了背景图片,并显示了当前的成语。

三、扩展整体思路

在这里插入图片描述要扩展这个成语接龙游戏的整体思路,可以考虑以下几个方面:

  1. 玩家输入: 让玩家能够输入成语作为回答。可以使用Pygame的文本输入功能,让玩家在游戏窗口中输入成语。

  2. 成语判断: 在玩家输入成语后,需要判断该成语是否符合接龙规则。可以使用成语库或者在线成语接口来验证成语的合法性,确保玩家输入的成语是有效的。

  3. 回答判断: 在判断成语合法后,需要判断该成语是否符合接龙规则,即是否与上一个成语的最后一个字相同。可以编写函数来进行判断,并给出相应的提示。

  4. 电脑回答: 可以编写一个电脑回答的函数,让电脑自动选择一个合适的成语作为回答。

  5. 游戏结束: 当玩家或电脑无法回答时,游戏结束。可以根据具体规则判断胜负,或者设置一个时间限制,超过时间限制则游戏结束。

  6. 界面优化: 可以对游戏界面进行美化和优化,比如添加背景音乐、按钮和菜单等,增加游戏的可玩性和用户体验。

  7. 成语扩展: 可以考虑扩展成语库,增加更多的成语,以提高游戏的趣味性和挑战性。

根据以上思路,你可以逐步完善游戏的功能和规则,使成语接龙游戏更加完整和有趣。

四、玩家输入示例代码

在这里插入图片描述以下是一个使用Pygame实现玩家输入成语的示例代码:

import pygame
import random

# 初始化Pygame
pygame.init()

# 游戏窗口尺寸
WIDTH = 800
HEIGHT = 600

# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)

# 创建游戏窗口
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("成语接龙游戏")

# 加载字体
font = pygame.font.Font(None, 36)

# 成语列表
idioms = ["一马当先", "人山人海", "一心一意", "自由自在", "一举两得", "千军万马", "一鸣惊人", "百年好合"]

# 当前成语
current_idiom = random.choice(idioms)

# 玩家输入
player_input = ""

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RETURN:
                # 玩家按下回车键,判断成语是否合法
                if player_input and player_input[-1] == current_idiom[-1]:
                    # 成语合法,更新当前成语,并清空玩家输入
                    current_idiom = player_input
                    player_input = ""
                else:
                    # 成语不合法,给出提示
                    print("成语不合法!")
            elif event.key == pygame.K_BACKSPACE:
                # 玩家按下退格键,删除最后一个字符
                player_input = player_input[:-1]
            else:
                # 玩家输入字符
                player_input += event.unicode

    # 绘制当前成语
    screen.fill(WHITE)
    text = font.render("当前成语:" + current_idiom, True, BLACK)
    screen.blit(text, (50, 50))

    # 绘制玩家输入
    input_text = font.render("玩家输入:" + player_input, True, BLACK)
    screen.blit(input_text, (50, 100))

    # 更新显示
    pygame.display.flip()

# 退出游戏
pygame.quit()

在这个示例代码中,我们添加了玩家输入的功能。玩家可以在游戏窗口中输入成语,并按下回车键来提交输入。如果输入的成语与当前成语的最后一个字相同,则更新当前成语,并清空玩家输入。如果输入的成语不合法,则给出相应的提示。玩家可以使用退格键来删除最后一个字符。

五、成语判断示例代码

在这里插入图片描述以下是一个使用在线成语接口验证成语合法性的示例代码:

import pygame
import requests

# 初始化Pygame
pygame.init()

# 游戏窗口尺寸
WIDTH = 800
HEIGHT = 600

# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)

# 创建游戏窗口
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("成语接龙游戏")

# 加载字体
font = pygame.font.Font(None, 36)

# 成语列表
idioms = ["一马当先", "人山人海", "一心一意", "自由自在", "一举两得", "千军万马", "一鸣惊人", "百年好合"]

# 当前成语
current_idiom = random.choice(idioms)

# 玩家输入
player_input = ""

# 验证成语合法性的函数
def validate_idiom(idiom):
    url = "http://api.avatardata.cn/ChengYu/Search?key=your_api_key&id={}".format(idiom)
    response = requests.get(url)
    data = response.json()
    if data["error_code"] == 0 and data["result"]:
        return True
    else:
        return False

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RETURN:
                # 玩家按下回车键,判断成语是否合法
                if player_input and player_input[-1] == current_idiom[-1] and validate_idiom(player_input):
                    # 成语合法,更新当前成语,并清空玩家输入
                    current_idiom = player_input
                    player_input = ""
                else:
                    # 成语不合法,给出提示
                    print("成语不合法!")
            elif event.key == pygame.K_BACKSPACE:
                # 玩家按下退格键,删除最后一个字符
                player_input = player_input[:-1]
            else:
                # 玩家输入字符
                player_input += event.unicode

    # 绘制当前成语
    screen.fill(WHITE)
    text = font.render("当前成语:" + current_idiom, True, BLACK)
    screen.blit(text, (50, 50))

    # 绘制玩家输入
    input_text = font.render("玩家输入:" + player_input, True, BLACK)
    screen.blit(input_text, (50, 100))

    # 更新显示
    pygame.display.flip()

# 退出游戏
pygame.quit()

在这个示例代码中,我们使用了一个在线成语接口来验证玩家输入的成语是否合法。validate_idiom 函数会向接口发送请求,并根据返回的数据判断成语是否合法。你需要将 your_api_key 替换为你自己的API密钥。

请注意,这只是一个示例,实际使用时你可能需要根据接口的返回数据进行适当的处理和错误处理。另外,你也可以使用本地的成语库或其他成语验证方法来验证成语的合法性。

六、回答判断示例代码

在这里插入图片描述以下是一个示例代码,用于判断玩家输入的成语是否符合接龙规则:

import pygame
import requests

# 初始化Pygame
pygame.init()

# 游戏窗口尺寸
WIDTH = 800
HEIGHT = 600

# 定义颜色
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)

# 创建游戏窗口
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("成语接龙游戏")

# 加载字体
font = pygame.font.Font(None, 36)

# 成语列表
idioms = ["一马当先", "人山人海", "一心一意", "自由自在", "一举两得", "千军万马", "一鸣惊人", "百年好合"]

# 当前成语
current_idiom = random.choice(idioms)

# 玩家输入
player_input = ""

# 验证成语合法性的函数
def validate_idiom(idiom):
    url = "http://api.avatardata.cn/ChengYu/Search?key=your_api_key&id={}".format(idiom)
    response = requests.get(url)
    data = response.json()
    if data["error_code"] == 0 and data["result"]:
        return True
    else:
        return False

# 判断成语是否符合接龙规则的函数
def is_valid_idiom(idiom):
    if idiom and idiom[0] == current_idiom[-1]:
        return True
    else:
        return False

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RETURN:
                # 玩家按下回车键,判断成语是否合法并符合接龙规则
                if player_input and validate_idiom(player_input) and is_valid_idiom(player_input):
                    # 成语合法且符合接龙规则,更新当前成语,并清空玩家输入
                    current_idiom = player_input
                    player_input = ""
                else:
                    # 成语不合法或不符合接龙规则,给出相应的提示
                    if not player_input:
                        print("请输入成语!")
                    elif not is_valid_idiom(player_input):
                        print("成语不符合接龙规则!")
            elif event.key == pygame.K_BACKSPACE:
                # 玩家按下退格键,删除最后一个字符
                player_input = player_input[:-1]
            else:
                # 玩家输入字符
                player_input += event.unicode

    # 绘制当前成语
    screen.fill(WHITE)
    text = font.render("当前成语:" + current_idiom, True, BLACK)
    screen.blit(text, (50, 50))

    # 绘制玩家输入
    input_text = font.render("玩家输入:" + player_input, True, BLACK)
    screen.blit(input_text, (50, 100))

    # 更新显示
    pygame.display.flip()

# 退出游戏
pygame.quit()

在上述代码中,我们添加了一个名为 is_valid_idiom 的函数,用于判断玩家输入的成语是否符合接龙规则。该函数检查玩家输入的成语是否为空,并且判断玩家输入的成语的第一个字是否与当前成语的最后一个字相同。如果成语符合接龙规则,则更新当前成语,并清空玩家输入;否则,给出相应的提示。

请注意,这只是一个示例,你可以根据自己的需求进行修改和扩展。例如,你可以添加更多的成语验证规则,或者修改提示的方式(例如在游戏窗口中显示提示信息)。

七、电脑判断示例代码

在这里插入图片描述

以下是一个示例代码,用于让电脑自动选择一个合适的成语作为回答:

import random

# 电脑回答的函数
def computer_answer():
    available_idioms = [idiom for idiom in idioms if idiom[0] == current_idiom[-1]]
    if available_idioms:
        return random.choice(available_idioms)
    else:
        return None

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        # ...

    # ...

    # 电脑回答
    computer_idiom = computer_answer()
    if computer_idiom:
        # 成功选择一个合适的成语作为回答
        current_idiom = computer_idiom
    else:
        # 无法找到合适的成语作为回答,游戏结束
        print("电脑无法回答,游戏结束!")
        running = False

    # ...

# ...

在上述代码中,我们添加了一个名为 computer_answer 的函数,用于让电脑自动选择一个合适的成语作为回答。该函数首先筛选出所有以当前成语最后一个字开头的成语,然后从中随机选择一个成语作为回答。如果找不到合适的成语作为回答,则游戏结束。

你可以将 computer_answer 函数放在游戏主循环的适当位置,以便在玩家输入后调用该函数来获取电脑的回答。然后,根据电脑的回答更新当前成语,并进行相应的处理(例如判断游戏是否结束)。

请注意,这只是一个示例,你可以根据自己的需求进行修改和扩展。例如,你可以根据不同的策略选择电脑的回答,或者在电脑回答后添加额外的逻辑(例如判断电脑回答是否合法)。

八、游戏结束示例代码

在这里插入图片描述

以下是一个示例代码,添加了游戏结束的判断和时间限制:

import time

# 游戏时间限制(单位:秒)
time_limit = 60
start_time = time.time()

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        # ...

    # ...

    # 判断玩家回答
    if player_input:
        if is_valid_idiom(player_input):
            if player_input[0] == current_idiom[-1]:
                current_idiom = player_input
                player_input = ""
            else:
                print("玩家回答不符合接龙规则!")
        else:
            print("玩家回答不是有效的成语!")

    # 判断电脑回答
    computer_idiom = computer_answer()
    if computer_idiom:
        current_idiom = computer_idiom
    else:
        print("电脑无法回答,游戏结束!")
        running = False

    # 判断游戏是否结束
    if time.time() - start_time > time_limit:
        print("时间到,游戏结束!")
        running = False

    # ...

# ...

在上述代码中,我们添加了一个游戏时间限制 time_limit,以秒为单位。在游戏主循环中,我们使用 time.time() 函数获取当前时间,并与游戏开始时间进行比较,判断是否超过了时间限制。如果超过了时间限制,则游戏结束。

你可以根据具体的游戏规则进行胜负判断。例如,可以在玩家回答或电脑回答后添加额外的逻辑,判断是否达到胜利条件或失败条件,然后设置 running 变量来控制游戏是否继续进行。

请注意,这只是一个示例,你可以根据自己的需求进行修改和扩展。例如,你可以添加更多的游戏规则判断,或者修改时间限制的方式(例如在游戏窗口中显示剩余时间)。

九、界面优化示例代码

在这里插入图片描述以下是一个示例代码,演示如何对游戏界面进行美化和优化,包括添加背景音乐、按钮和菜单等元素:

import pygame
import random

# 初始化Pygame
pygame.init()

# 设置窗口尺寸
window_width = 800
window_height = 600
window = pygame.display.set_mode((window_width, window_height))

# 加载背景音乐
pygame.mixer.music.load("background_music.mp3")
pygame.mixer.music.play(-1)  # 循环播放背景音乐

# 加载按钮图片
button_image = pygame.image.load("button_image.png")
button_rect = button_image.get_rect()
button_rect.center = (window_width // 2, window_height // 2)

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.MOUSEBUTTONDOWN:
            mouse_pos = pygame.mouse.get_pos()
            if button_rect.collidepoint(mouse_pos):
                print("按钮被点击!")
                # 在按钮被点击后执行相应的操作

    # 绘制背景
    window.fill((255, 255, 255))  # 使用白色填充窗口背景

    # 绘制按钮
    window.blit(button_image, button_rect)

    # 更新显示
    pygame.display.flip()

# 退出游戏
pygame.quit()

在上述代码中,我们使用 Pygame 的 pygame.mixer.music 模块加载并播放背景音乐。我们还加载了一个按钮图片,并使用 blit() 函数将其绘制在窗口上。在游戏主循环中,我们检测鼠标点击事件,并使用 collidepoint() 函数判断鼠标点击是否在按钮区域内。如果按钮被点击,我们可以在相应的条件下执行特定的操作。

你可以根据自己的需求修改按钮的位置、大小和外观,以及添加其他的游戏元素(如菜单、游戏角色等)。此外,你还可以使用 Pygame 的其他功能来增强游戏的可玩性和用户体验,例如添加音效、动画效果等。

十、扩展成语库示例代码

在这里插入图片描述以下是一个示例代码,演示如何扩展成语库,增加更多的成语:

import pygame
import random

# 初始化Pygame
pygame.init()

# 设置窗口尺寸
window_width = 800
window_height = 600
window = pygame.display.set_mode((window_width, window_height))

# 加载背景音乐
pygame.mixer.music.load("background_music.mp3")
pygame.mixer.music.play(-1)  # 循环播放背景音乐

# 加载按钮图片
button_image = pygame.image.load("button_image.png")
button_rect = button_image.get_rect()
button_rect.center = (window_width // 2, window_height // 2)

# 成语库
idioms = [
    "卧薪尝胆",
    "画蛇添足",
    "杯弓蛇影",
    # 添加更多的成语...
]

# 随机选择一个成语作为当前成语
current_idiom = random.choice(idioms)

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.MOUSEBUTTONDOWN:
            mouse_pos = pygame.mouse.get_pos()
            if button_rect.collidepoint(mouse_pos):
                print("按钮被点击!")
                # 在按钮被点击后执行相应的操作

    # 绘制背景
    window.fill((255, 255, 255))  # 使用白色填充窗口背景

    # 绘制按钮
    window.blit(button_image, button_rect)

    # 更新显示
    pygame.display.flip()

# 退出游戏
pygame.quit()

在上述代码中,我们创建了一个成语库 idioms,其中包含了一些成语。你可以根据需要添加更多的成语。在游戏主循环中,我们使用 random.choice() 函数随机选择一个成语作为当前成语。这样,每次游戏开始时,玩家和电脑都可以基于当前成语进行成语接龙。

你可以通过在 idioms 列表中添加更多的成语来扩展成语库。可以从各种来源获取成语,如成语词典、互联网资源等。确保成语库中的成语是正确且合法的。

请注意,上述代码只是一个示例,你可以根据自己的需要进行修改和扩展。例如,你可以创建一个文本文件,将成语存储在其中,并编写代码来读取该文件并构建成语库。这样可以更方便地扩展和管理成语库。

十一、音效和动画效果示例代码

在这里插入图片描述以下是一个示例代码,演示如何添加音效和动画效果:

import pygame
import random

# 初始化Pygame
pygame.init()

# 设置窗口尺寸
window_width = 800
window_height = 600
window = pygame.display.set_mode((window_width, window_height))

# 加载背景音乐
pygame.mixer.music.load("background_music.mp3")
pygame.mixer.music.play(-1)  # 循环播放背景音乐

# 加载按钮图片
button_image = pygame.image.load("button_image.png")
button_rect = button_image.get_rect()
button_rect.center = (window_width // 2, window_height // 2)

# 加载音效
click_sound = pygame.mixer.Sound("click_sound.wav")

# 成语库
idioms = [
    "卧薪尝胆",
    "画蛇添足",
    "杯弓蛇影",
    # 添加更多的成语...
]

# 随机选择一个成语作为当前成语
current_idiom = random.choice(idioms)

# 游戏主循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.MOUSEBUTTONDOWN:
            mouse_pos = pygame.mouse.get_pos()
            if button_rect.collidepoint(mouse_pos):
                print("按钮被点击!")
                click_sound.play()  # 播放点击音效
                # 在按钮被点击后执行相应的操作

    # 绘制背景
    window.fill((255, 255, 255))  # 使用白色填充窗口背景

    # 绘制按钮
    window.blit(button_image, button_rect)

    # 添加动画效果
    rotation_angle = pygame.time.get_ticks() / 10  # 根据时间计算旋转角度
    rotated_button = pygame.transform.rotate(button_image, rotation_angle)
    button_rect.center = (window_width // 2, window_height // 2)
    window.blit(rotated_button, button_rect)

    # 更新显示
    pygame.display.flip()

# 退出游戏
pygame.quit()

在上述代码中,我们首先加载了一个点击音效 click_sound.wav,通过 pygame.mixer.Sound() 函数创建音效对象。然后,在按钮被点击的事件处理中,我们调用 play() 方法播放点击音效。

此外,我们还添加了一个动画效果。我们使用 pygame.time.get_ticks() 函数获取当前时间的毫秒数,并将其除以一个适当的值来计算旋转角度。然后,使用 pygame.transform.rotate() 函数根据旋转角度对按钮图片进行旋转。最后,我们将旋转后的按钮图片绘制在窗口上。

你可以根据需要添加其他的音效和动画效果。例如,可以在游戏开始时播放一个欢迎音效,或者在玩家完成一轮成语接龙时播放一个胜利的音效。同样,你可以使用 Pygame 的其他功能来实现更复杂的动画效果,如平移、缩放等。
在这里插入图片描述

请注意,上述代码只是一个示例,你可以根据自己的需要进行修改和扩展。

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

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

相关文章

给你介绍一款适合教培行业的手机软件,很好用,关键还是免费的

给你介绍一款适合教培行业的手机软件,很好用,关键还是免费的,DT浏览器不同于普通意义上的浏览器,DT的含义就是数据资料的意思,更专注于资料的收集和管理,是一款资料管理类的浏览器,也是一款面向…

【好玩AI】【Prompt】情人节了,用GPT写个【骂醒恋爱脑】的机器人跟自己对话吧

情人节了,让我们用GPT写个【骂醒恋爱脑】的机器人跟自己对话吧。 通过本文,你能学到: 1. 如何零代码搭建一个自己的机器人Bot 2. 骂醒恋爱脑的高级Prompt 通过本文,你还能得到: 恋爱脑可能被骂醒 为了白嫖,…

从计算机恢复已删除文件的 6 种方法!

如果您的重要文件之一已从计算机中删除怎么办?如果不小心从硬盘中删除了文件怎么办? 如今的公司通常将重要数据存储在云或硬盘中。但最重要的是,您必须考虑这样一个事实:您可能会丢失计算机上的数据。数据丢失的原因有多种&#x…

校招扫盲篇:写一份让HR过目不忘的简历

嵌入式简历怎么写 一、简历构成二、各部分写法的主要事项1.个人的基本信息2.教育背景3.专业技能4.实习经历5.项目经历6.荣誉经历7.校园经历8.自我评价 Last but not least 一、简历构成 首先我们要清楚写一份简历有哪些部分组成。按内容来分的话可以分为个人信息、教育背景、专…

分享83个jQuery特效,总有一款适合您

分享83个jQuery特效,总有一款适合您 83个jQuery特效下载链接:https://pan.baidu.com/s/15rS5EqE2JZPktI_yZGkzxQ?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理…

STM32 cubemx配置DMA+空闲中断接收不定长数据

文章目录 前言一、串口空闲中断二、DMA空闲中断接收不定长数据实现思路三、STM32Cubemx配置DMA空闲中断接收不定长数据四、代码编写总结 前言 本篇文章给大家讲解一下DMA串口空闲中断接收串口不定长数据,之前我们也是讲解过串口接收不定长数据的,那么本…

【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解

一、冯诺依曼体系结构 1、概念 (1)什么是冯诺伊曼体系结构? 数学家冯诺伊曼于 1946 年提出存储程序原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式储存。 冯诺伊曼理论的要点是:计算…

第六篇:MySQL图形化管理工具

经过前五篇的学习,对于数据库这门技术的理解,我们已经在心中建立了一个城堡大致的雏形,通过命令行窗口(cmd)快速上手了【SQL语法-DDL-数据定义语言】等相关命令 道阻且长,数据库技术这一宝藏中还有数不清的…

类与结构体(6)

我们上一起讲了这一期讲存储类和继承,这个难度很大的。 存储类 存储类主要规定了函数和变量的范围,在c中有这些存储类↓: ৹ auto(自动判断函数是什么类型) ৹ register (常用的变量和inline差不多,但应…

《软件方法》强化自测题-杂项题目解析01

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 杂项(1) 3 [ 单选题 ] 《软件方法》第1章“建模和UML”开头所引用的歌曲,其词曲作者还写过下列歌曲中的: A) 爱江山更爱美人&#…

配置DNS正反向解析服务!!!!

一.准备工作 #关闭防火墙和selinux,或者允许服务通过 [rootnode ~]# nmcli c mod ens32 ipv4.method manual ipv4.address 192.168.32.133/24 ipv4.gateway 192.168.32.2 ipv4.dns 192.168.32.132 [rootnode ~]# nmcli c reload [rootnode ~]# nmcli c up ens32[rootnode ~]# …

MATLAB知识点:normrnd函数(★★☆☆☆)生成正态分布的随机数

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 节选自第3章:课后习题讲解中拓展的函数 在讲解第…

Codeforces Round 924 (Div. 2)B. Equalize(思维+双指针)

文章目录 题面链接题意题解代码 题面 链接 B. Equalize 题意 给一个数组 a a a,然后让你给这个数组加上一个排列,求出现最多的次数 题解 赛时没过不应该。 最开始很容易想到要去重,因为重复的元素对于答案是没有贡献的。 去重后排序。&a…

C# CAD交互界面-自定义面板集-查找定位(六)

运行环境 vs2022 c# cad2016 调试成功 一、代码说明 1. 类成员变量声明&#xff1a; List<ObjectId> objectIds new List<ObjectId>(); // 用于存储AutoCAD实体对象的ObjectId列表 private static Autodesk.AutoCAD.Windows.PaletteSet _ps2; // 自定义浮动面板…

java之Maven

1. maven Maven是管理和构建java项目的工具 项目依赖资源(jar包)的管理,避免版本冲突统一项目结构项目构建&#xff0c;标准跨平台(Linux,window,MacOS)的自动化项目管理 2.maven依赖仓库 2.maven安装 maven安装视频教程 3. IDEA集成Maven 4. maven的依赖范围 5. maven生命…

寒假作业——2/13

作业1 作业2 cp cp 当前的文件位置 复制到哪个位置 格式 : cp 路径/文件 路径/目录名/重新命名的目录名 mv mv 当前的文件位置 复制到哪个位置 格式 : mv 路径/文件 路径/目录名/重新命名的目录名 也可进行重命名操作 find 查找文件 find 目标路径 -name 文件名 后续…

猫头虎分享已解决Bug ‍ || 修改mongodb3.0副本集用户密码遇到 BeanDefinitionParsingException

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

LeetCode二叉树的垂序遍历

题目描述 给你二叉树的根结点 root &#xff0c;请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言&#xff0c;其左右子结点分别位于 (row 1, col - 1) 和 (row 1, col 1) 。树的根结点位于 (0, 0) 。 二叉树的 垂序遍历 从最左边的列开始直到…

VueCLI核心知识2:插件、自定义事件

1 插件 功能&#xff1a;增强Vue 1. 定义插件 2. 使用插件 2 自定义事件 一种组件间的通信方式&#xff1a;适用于 子组件 > 父组件 方式1&#xff1a;使用 或者v-on: <template><div id"app"><!-- 1.通过父组件给子组件绑定一个自定义事件实现…

【Java八股面试系列】并发编程-进程与线程

目录 进程 线程 线程和进程的区别 Java线程和操作系统的线程的区别 请简要描述一下进程和线程在Java中的关系&#xff0c;区别及优缺点&#xff1f;​编辑​编辑​编辑 并发和并行的区别 为什么要使用多线程? 线程的生命周期 什么是线程上下文切换? sleep() 方法和…