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

Game Maker 0.11更新:构建社交竞速游戏并增强玩家互动

在这三部分系列中,我们将介绍如何实现Game Maker 0.11中一些最激动人心的新功能。

Game Maker 0.11更新:构建社交竞速游戏并增强玩家互动

欢迎来到我们系列文章的第一篇,重点介绍了The Sandbox Game Maker 0.11更新中的新特性。

The Sandbox Game Maker 0.11是一个多功能工具,帮助创作者通过游戏机制增强玩家体验,引入了互动和参与的新层次。在这一系列文章中,我们将解释如何利用社交竞速功能、组合代码和旋转功能创建有趣的游戏,并提供具体的步骤示例,帮助你利用这些新功能让游戏变得栩栩如生。

今天,我们将探讨如何构建社交竞速体验!虽然有很多方式可以实现这个概念,本文介绍了一种方法,它结合了大厅和社交系统以及多人功能。更新到最新版本的Game Maker并继续阅读以开始。

本文是关于使用Game Maker中新工具的三部分系列中的第一篇。

目录

  1. 构建你的大厅

  2. 设置你的竞速
    2.a 注册期
    2.b 倒计时
    2.c 注册和获胜条件方法

  3. 增强玩家的互动
    3.a 观赛区
    3.b NFT商店
    3.c 迷你游戏

考虑事项

1. 构建你的大厅

目前,Game Maker中没有内建的匹配或大厅系统,但这并不意味着这些机制不能被实现。通过设计一个允许玩家自由进出的系统,可以无缝进行竞速,并允许观众观看他们无法参与的赛事。

这种方法创建了一个动态大厅,玩家可以在其中社交,互动各种功能,完成任务,探索隐藏的奥秘。此外,玩家还可以赚取货币来解锁不同的外观,并在游戏过程中展示他们最喜欢的服装。

大厅可以围绕任何概念并以任何风格构建。在上述例子中,一个鬼屋作为多人大厅,玩家可以自由加入或离开。大厅必须包括一些功能,以便进行竞赛并管理参与者的访问。

为了使大厅系统运作,你需要构建传送门或门,玩家可以通过它们进入开始竞赛。一旦玩家进入传送门,它将关闭,并显示一条消息,指示该传送门已被使用。

你可以设置任意数量的传送门。在这个例子中,设置了10个传送门,这意味着每场比赛最多可以容纳10个玩家。一旦传送门被使用,玩家无法返回大厅,直到比赛结束。如果所有10个传送门都在使用,其他玩家必须等待直到比赛结束。

如何实现:

本指南不会深入探讨具体的逻辑,因为实现方式可能有所不同。然而,它涵盖了一个大致的工作流程:

  • 创建你的资产根据需要设计传送门。对于这个概念,我们使用了老旧、神秘的门。

  • 添加文本或视觉提示使用清晰的视觉指示来显示传送门是否可用或已使用。 示例:当传送门可用时,显示“进入”文本。玩家进入后,传送门应播放关闭动画,文本应改为“正在使用”。

  • 使用触发体积检测玩家使用触发体积。根据状态显示适当的文本,并切换行为,使传送门根据其状态可见或不可见。玩家离开门口时,应移除文本。

  • 设置传送行为创建一个传送行为并将其放置在逻辑资产上。设置行为,使玩家传送到新的区域(我们将在未来的指南中讲解这一点),并确保它能检测到第一个进入传送门的玩家。 传送后,通过关闭传送门行为来关闭传送门。这可能包括禁用传送门、播放关闭动画并阻止访问。比赛结束后,可以重新开启传送门行为来开始新的比赛。这确保每个传送门只能被一个玩家使用。

  • 使用演员属性作为切换为了让门关闭并显示文本,你可以为视觉元素分配标签。这些标签可以包括像“比赛进行中”、“已预定”或“加入比赛”等文本消息,正如我们示例中所示。 演员属性可以设置为根据发送和触发的特定消息来切换资产的可见性。这些元素应仅在特定条件满足时触发,例如比赛正在进行时或玩家进入传送门时。

关键点:

  • 每个传送门由玩家触发,并在使用后关闭。

  • 每个传送门只能由一个玩家使用——这意味着你需要为每个玩家准备一个传送门,每个传送门的消息和设置是独一无二的。

  • 该系统允许比赛反复进行,同时玩家可以自由进出大厅。

  • 该设置确保比赛的组织顺畅,同时大厅仍然可以供玩家进行互动。

一旦玩家进入传送门,它会关闭,注册该玩家进入比赛。门将锁定,防止其他玩家进入。这确保玩家已经承诺参与比赛,不能离开起始区域。

每个传送门唯一地注册玩家。此系统跟踪参与者数量,防止过度填充,同时允许比赛进行,即使只有一个玩家加入。它还防止玩家进入已进行中的比赛,确保参与者能够体验完整的比赛。在等待下一场比赛时,玩家可以解决任务并探索大厅。

2. 设置你的竞速

对于上述视频中的竞速概念,我们为比赛创建了不同的阶段,以提供最佳的玩家体验。每个阶段都是一个保障,确保参与的玩家可以加入比赛,并防止玩家挂机,从而避免其他玩家加入,或者导致比赛无法结束。

  • 传送门传送门作为第一个检查点,确保我们能获得玩家。比赛可以从一个玩家开始,最多可以容纳10个玩家。

  • 竞速候选区一旦玩家进入比赛,他们会被传送到一个迷你大厅或起跑线,其他玩家也会加入。玩家在比赛开始之前将被锁定在此区域。

  • 注册进入竞速区域后,会有大约15秒的倒计时,允许其他玩家加入。UI会显示给所有人,所有玩家都可以看到计时器和注册状态。

  • 关闭传送门一旦注册期结束,传送门关闭,阻止任何新玩家加入。

  • 倒计时从5秒到0秒的倒计时,用来让玩家准备好开始比赛。

  • 移除障碍物倒计时结束后,移除障碍物,允许玩家同时竞速。

  • 计时竞速比赛是计时的,给玩家大约3到4分钟的时间来完成。这样,如果玩家挂机,比赛会自然结束,任何仍在竞速区域的玩家都会被移回大厅。

  • 资格赛比赛分为三个阶段。这允许在未来修改比赛,版本0.12中将有更新和新赛事。玩家有3到4分钟的时间在每个阶段结束前取得资格。符合条件的玩家进入下一阶段,未符合条件的玩家被传送回大厅。

  • 第二阶段及未来阶段这一过程会在每个阶段重复。玩家有3到4分钟的时间竞速,继续进行直到第一个玩家到达最终阶段并赢得比赛。

  • 检查点检查点放置在每个阶段,确保玩家不会失去太多进度,减少挫败感。

  • 奖励赢家赢得比赛的玩家会被传送到一个仪式区,在那里他们会收到一个独特的物品,可以在大厅中展示。此外,他们还会收到一个隐藏任务,让他们重新参加比赛,但这次不能触及任何检查点。

这些是使竞速系统运作的关键方面,并确保大厅系统保持开放。这个设置允许玩家进出自由,赚取硬币来解锁新外观,并探索庄园的秘密。

2.a 注册期

一旦玩家进入传送门,注册期将开始。这是一个倒计时计时器,允许其他玩家加入。计时器归零时,所有传送门关闭,并显示“比赛进行中”标志。玩家将需要等待下一场比赛,或者去观赛区观看当前的比赛。

如何实现:

  • 设置计时器创建一个时间变量作为倒计时。你可以设置任何你想要的持续时间。

  • 设置传送信息创建一个传送信息,将玩家送到新的区域。在新区域,使用触发体积检查玩家是否存在。如果触发器检测到玩家,启动计时器。

  • 当计时器到零时当计时器到零时,向控制传送门关闭的资产(如门资产)发送消息。这样就会触发关闭动画或阻塞,防止进一步的进入。

  • 演员属性使用演员属性来确保当玩家接近门时显示“比赛进行中”的消息。这应当使用

演员属性:使用演员属性来确保当玩家接近门时显示“比赛进行中”的消息。这应当使用切换行为,只在注册计时器到零时激活,以确保消息在适当的时候显示。

比赛结束后重置:比赛结束后,所有元素需要重置。这包括重新打开门并重置计时器,以便下一组玩家进入。使用演员属性和切换行为有助于自动化这一重置过程。

2.b 倒计时

在比赛进行时,有一个计时器,这意味着如果玩家没有及时达到资格要求,他们将被移出大厅。计时器给予玩家足够的时间进行资格认证,玩家需要在规定时间内到达阶段的终点。所有符合条件的玩家会被传送到下一阶段;那些未完成的玩家会被传送回大厅。

如何实现:

  • 设置计时器创建一个计时器,在比赛开始后开始倒计时。

  • 使用全局变量使用一个全局变量来确保计时器可以在整个系统中访问并重置。

  • 设置倒计时时长选择一个平衡玩家公平性的倒计时时长,同时保持游戏动态。

  • 设置资格变量创建一个变量来跟踪需要资格的玩家数量。这应根据比赛开始时的玩家数量动态调整。例如,如果有10个玩家,可能开始时是0/10。

    • 在比赛过程中,添加或移除玩家。

    • 如果玩家已符合资格,他们应该进入下一阶段,并且游戏应准备好传送到下一阶段。

    • 如果资格变量为零,则应重置比赛,而不是传送或准备第二阶段的逻辑。

  • 设置淘汰规则使用传送系统在计时结束后将未符合资格的玩家传送回大厅。

    • 通过检查是否有玩家符合资格,触发这一传送。

    • 在比赛计时结束时,所有未符合资格的玩家将被移除。

  • 设置每个阶段的检查在每个阶段结束时,检查是否有玩家存在于该区域。

    • 使用计时器触发的消息来验证玩家数量。如果没有玩家(例如,变量为零),则重置比赛。

    • 这些检查应作为定时事件运行,以确保各阶段之间的一致性。

  • 设置玩家检查变量创建一个变量来验证玩家在阶段开始时是否存在于比赛区域。

    • 如果有玩家,继续进行注册和比赛计时。

    • 如果没有玩家,重置比赛。

    • 在每个阶段应用此逻辑,以确保平滑过渡并防止问题发生。

2.c 注册和获胜条件方法

在Game Maker 0.11中,获胜条件已经更新,包括了设置并触发获胜条件的方法,给你更多控制竞速结束的方式。这个组件让你可以:

  • 在特定的点结束比赛。

  • 让所有玩家完成后再结束比赛。

  • 重放或循环比赛。

这些更新提供了更多灵活性来管理竞速和获胜条件。下图展示了如何设置条件触发器,例如,使用碰撞触发器。

Game Maker 0.11更新:构建社交竞速游戏并增强玩家互动

标签:现在可以使用标签来触发条件。这允许基于团队的触发器,例如针对红队或蓝队。

获胜类型:

  • 个人这意味着条件仅对该玩家触发,其他玩家可以继续比赛。

  • 团队当团队完成时,这个获胜条件触发,奖励该团队胜利。

  • 所有这意味着每个人都会触发获胜条件,比赛结束。

  • 结束游戏你现在可以选择在触发获胜条件后让体验继续进行。玩家可以选择在条件播放完毕后继续。

  • 重置消息可以发送消息重置获胜条件至原始状态,以便重新触发。这使得比赛能够循环进行。

其他设置仍然可用,例如,如果你想要让体验在结束时有延迟,可以继续按以前的方式结束。

总结:

  • 按照你的需要设置竞速触发器。

  • 定义你的获胜条件,如上所述。

  • 分配必要的标签,以确保比赛正常进行。

  • 配置任何额外的游戏元素,如计时器。

  • 使用新的获胜条件可以简化你的过程,并提供设置比赛的灵活性。使用Game Maker 0.11时,可以尝试不同的设置来循环或结束比赛。

资格赛

当玩家到达阶段的终点时,只要他们在时间限制内完成,他们就算资格。一旦符合资格,其他玩家将有时间平等地完成资格认证。如果所有玩家都符合资格,那么比赛会自动进入下一阶段。这就是我们在每个阶段添加检查的原因,动态地追踪玩家并知道多少人需要符合资格才能进入下一阶段。如果玩家人数少于最大人数,比赛将等待时间耗尽才传送所有玩家,确保每个人都有机会完成。

胜利

当玩家完成每个阶段时,其他玩家会被淘汰,最终回合将颁发给第一个完成的玩家。考虑让这个区域仅限赢家,并给予他们一些独特的物品,如黄金皇冠。赢家还会得到一个隐藏任务——它不会被触发,但会有暗示。这为玩家提供了另一个挑战,激励他们继续玩,而这次,不能触及任何检查点。

3. 增强玩家的互动

由于这个概念侧重于社交竞速,考虑添加社交功能,让玩家之间可以互动。本部分的概念包括各种任务和迷你游戏,玩家可以参与其中以增强他们的体验并鼓励探索。

3.a 观赛区

如果比赛正在进行,而玩家不能加入,可以考虑添加一个观赛区。这将允许玩家观看比赛并可能与之互动。

观赛区应允许玩家查看比赛并保持参与感,同时比赛正在进行。这个传送门保持开放,允许玩家自由进出。我们将在未来的文章中介绍它的功能和其他考虑事项。

如何实现:

  • 设置传送门使用与竞速传送门相似的资产,确保设计的一致性。

  • 文本或视觉提示清楚地指示这是观赛区,以免玩家产生混淆。

  • 传送功能设置传送器,将玩家传送到观赛区(这个将在未来的文章中详细讨论)。

  • 保持传送门开放不要关闭这个传送门,它应随时对所有玩家开放。

  • 确保玩家观看而不能加入确保玩家只能查看比赛,但不能加入。设置屏障或障碍物,防止他们进入真正的比赛空间。

3.b NFT商店

考虑为玩家添加外观或收藏品。在这个概念中,玩家可以在比赛中收集硬币,并用它们解锁外观套件。这为玩家提供了一种定制外观的方式,也为他们提供了可以努力实现的目标。

通过装备功能扩展系统:穿戴特定的服装可以触发庄园中的隐藏功能,或者提供游戏内的加成,例如速度增强。考虑如何让外观超越美学影响游戏玩法。

如何实现:

  • 添加货币或升级系统将货币系统集成到大厅中,或者使用XP或收藏品系统来代替。

  • 创建物品展示设计玩家可以购买和使用的物品展示。

  • 设置规则系统创建一个变量来跟踪玩家的货币。确保这个变量是本地的,针对每个玩家。

  • 创建数学规则设置规则,当玩家收集到硬币或收藏品时,触发特定消息更新货币变量。

  • 设计货币创建收藏品资产(例如硬币)。确保它触发适当的消息来更新货币变量。

  • 设置购买位置设计一个玩家可以购买服装或物品的地方。使用比较规则检查玩家是否有足够的货币:如果玩家有足够的货币,允许购买并扣除货币。如果没有,显示一条消息,告知他们需要更多的货币。

  • 生成购买的物品购买成功后,为玩家生成购买的物品。

3.c 迷你游戏

考虑添加迷你游戏或其他功能,让玩家通过花费他们的货币来获得增益或其他有趣的奖励。例如,我们实现了一个转盘,每次旋转都会随机选择结果,提供可叠加的速度加成。比赛开始后,奖励将立即生效。

通过变量和检查来实现这一点,检测玩家是否拥有速度加成及其数值,然后应用为速度加成。当然,你可以自定义这个概念,但要考虑加入货币消耗或时间消耗,鼓励玩家互动。

对于多人游戏,考虑玩家之间的互动以及迷你游戏的限制。使用新的标签系统和演员属性来分配和移除标签,以触发玩家的事件,而不是依赖生成或消除对象。


考虑事项

为避免竞速问题,备份检查玩家的存在是非常必要的。例如,如果玩家符合资格但随后退出、崩溃或离开游戏,系统必须确认是否还有其他玩家留在竞速区域。如果没有玩家检测到,则应重置比赛。这样可以确保游戏不会因缺少参与者而卡住。

这个系统的逻辑可能相当复杂,因为它涉及多个检查、重置和交互。目标是确保阶段之间的平稳过渡,淘汰不合格的玩家,并处理玩家离开的意外情况。请仔细规划,以避免变量、触发器和计时器协同工作时出现冲突或错误。

重置系统至关重要。比赛的每个部分,包括变量、行为、计时器和传送门,在每场比赛结束后都需要被干净地重置。否则,前一场比赛的残余会干扰下一场比赛。

最后,必须进行充分的测试。必须处理边缘情况,如玩家意外离开或触发故障。准备好尝试不同的方法并优化系统,确保其可靠性和适应性。

逻辑应使用切换行为来启动或停止行为、生成器或消息广播。例如,如果没有玩家符合资格,第二阶段或第三阶段的行为不应被切换。相反,应发送比赛重置的消息。

如前所述,这个逻辑复杂,超出了本文档的范围。可以采取多种方法,更多内容可以在此学习。然而,确保以下几点:

  • 始终检查玩家是否存在。

  • 使用计时器消除玩家,防止比赛过长。

  • 包括重置所有比赛、计时器和变量的步骤,确保系统为下一场比赛做好准备。

技术限制

目前,多人游戏存在延迟和滞后问题。这意味着服务器可能无法准确记录玩家跳跃后的落地位置,或者可能导致橡皮筋效应。这些问题在Game Maker 0.11中仍然存在,将影响多人游戏的性能。如果玩家远离服务器,影响会更明显。

为了缓解这个问题,考虑设计简单的跳跃部分,提供足够的空间。避免复杂的移动平台或精确跳跃,以最小化橡皮筋效应和延迟问题。性能影响可能相当显著,因此在设计多人竞速时应仔细考虑。

释放你的创造力,使用Game Maker 0.11

本文引导你如何在The Sandbox Game Maker 0.11中打造社交竞速体验。你学习了如何创建一个动态大厅,玩家可以在其中互动、竞速并赚取货币,同时学习了如何使用传送门进入竞速、计时器进行注册和比赛持续时间的管理,以及使用演员属性控制资产和消息的可见性。

查看本系列其他文章,了解更多关于组合代码行为作为保存系统和旋转行为的内容,解锁在The Sandbox中转变你游戏冒险的力量。

相关文章:

Game Maker 0.11更新:构建社交竞速游戏并增强玩家互动

在这三部分系列中,我们将介绍如何实现Game Maker 0.11中一些最激动人心的新功能。 欢迎来到我们系列文章的第一篇,重点介绍了The Sandbox Game Maker 0.11更新中的新特性。 The Sandbox Game Maker 0.11是一个多功能工具,帮助创作者通过游戏…...

ubuntu配置jmeter

1.前提准备 系统 ubuntu server 22.04 前提条件:服务器更新apt与安装lrzsz:更新apt: sudo apt update安装lrzsz: 命令行下的上传下载文件工具 sudo apt install lrzszsudo apt install zip2.安装jemeter 2.1.下载jdk17 输入命令&#xf…...

计算机毕业设计Python+DeepSeek-R1大模型考研院校推荐系统 考研分数线预测 考研推荐系统 考研(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

字段对比清洗

import pandas as pd import psycopg2 from psycopg2 import sql# 数据库连接配置 DB_CONFIG {"host": "","user": "","password": "","dbname": "","port": , }def get_excel_fi…...

过滤器 二、过滤器详解

过滤器生命周期: init(FilterConfig):在服务器启动时会创建Filter实例,并且每个类型的Filter只创建一个实例,从此不再创建!在创建完Filter实例后,会马上调用init()方法完成初始化工作,这个方法…...

七、Three.jsPBR材质与纹理贴图

1、PBR材质金属度和粗糙度 1、金属度metalness 金属度属性.metalness表示材质像金属的程度, 非金属材料,如木材或石材,使用0.0,金属使用1.0。 threejs的PBR材质,.metalness默认是0.5,0.0到1.0之间的值可用于生锈的金属外观 new THREE.MeshStandardMaterial({met…...

分布式主键生成服务

目录 一、使用线程安全的类——AtomicInteger或者AtomicLong 二、主键生成最简单写法(不推荐) 三、主键生成方法一:Long型id生成——雪花算法 四、主键生成方法二:流水号 (一)流水号概述 (二)添加配置 1.pom.xml 2.application.properties 3.创…...

【Day50 LeetCode】图论问题 Ⅷ

一、图论问题 Ⅷ 1、dijkstra算法 堆优化 采用堆来优化&#xff0c;适合节点多的稀疏图。代码如下&#xff1a; # include<iostream> # include<vector> # include<list> # include<queue> # include<climits>using namespace std;class myco…...

人大金仓KCA | 用户与角色

人大金仓KCA | 用户与角色 一、知识预备1. 用户和角色 二、具体实施1. 用户管理-命令行1.1 创建和修改用户1.2 修改用户密码1.3 修改用户的并发连接数1.4 修改用户的密码有效期 2.用户管理-EasyKStudio2.1 创建和修改用户2.2 修改用户密码2.3 修改用户的并发连接数2.4 修改用户…...

嵌入式开发:傅里叶变换(4):在 STM32上面实现FFT(基于STM32L071KZT6 HAL库+DSP库)

目录 步骤 1&#xff1a;准备工作 步骤 2&#xff1a;创建 Keil 项目&#xff0c;并配置工程 步骤 3&#xff1a;在MDK工程上添加 CMSIS-DSP 库 步骤 5&#xff1a;编写代码 步骤 6&#xff1a;配置时钟和优化 步骤 7&#xff1a;调试与验证 步骤 8&#xff1a;优化和调…...

【AI学习从零至壹】Numpy基础知识

PyTorch基础知识 Numpy基础NumPy 基本数据类型Numpy数组 NumPy 基础数组创建Numpy特殊数组创建Numpy数组的访问NumPy数组的遍历Numpy数组的常用属性比较常用的属性有&#xff1a; Numpy数组的基本操作Numpy数组的数学操作加减乘除 Numpy线性代数Numpy广播机制 Numpy基础 NumPy…...

Day11,Hot100(贪心算法)

贪心 &#xff08;1&#xff09;121. 买卖股票的最佳时机 第 i 天卖出的最大利润&#xff0c;即在前面最低价的时候买入 class Solution:def maxProfit(self, prices: List[int]) -> int:min_price prices[0]ans 0for price in prices:ans max(ans, price - min_price…...

Transformer 代码剖析1 - 数据处理 (pytorch实现)

引言 Transformer 架构自《Attention Is All You Need》论文发表以来&#xff0c;在自然语言处理领域引起了巨大的变革。它摒弃了传统的循环结构&#xff0c;完全基于注意力机制&#xff0c;显著提高了处理序列数据的效率和性能。本文将通过对一个具体的项目代码结构进行详细分…...

Python--模块(下)

3. 内置模块 3.1 os模块 常用功能&#xff1a; os.mkdir("new_dir") # 创建目录 os.listdir(".") # 列出当前目录文件 os.path.join("dir", "file.txt") # 路径拼接 os.path.abspath(__file…...

Android Studio超级详细讲解下载、安装配置教程(建议收藏)

博主介绍&#xff1a;✌专注于前后端、机器学习、人工智能应用领域开发的优质创作者、秉着互联网精神开源贡献精神&#xff0c;答疑解惑、坚持优质作品共享。本人是掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战&#xff0c;深受全网粉丝喜爱与支持✌有…...

PS画笔工具

画笔工具&#xff1a; 画笔工具&#xff08;B&#xff09;&#xff08;原理&#xff1a;单位笔刷的连续填充&#xff0c;文件格式.abr&#xff09;&#xff1a;圆形矢量笔刷、动态矢量画笔&#xff08;旧版画笔里有 与压感笔有关&#xff09;、图案填充画笔 shift画笔&#xff…...

[Java基础] JVM常量池介绍(BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗)

文章目录 1. JVM内存模型2. 常量池中有什么类型&#xff1f;3. 常量池中真正存储的内容是什么4. 判断一个字符串(引用)是否在常量池中5. BeanUtils.copyProperties(source, target)中的属性值引用的是同一个对象吗&#xff1f;6. 获取堆内存使用情况、非堆内存使用情况 1. JVM内…...

1.68M 免安装多格式图片批量转 webp 无广告软件推荐

软件介绍 今天要给大家分享一款超实用的图片处理工具&#xff0c;它能实现多格式图片向 webp 格式的转换&#xff0c;无论是 jpg、png、tif、gif 还是 webp 格式自身的图片&#xff0c;都能批量且借助多线程技术进行转换。 直接打开就能用&#xff0c;体积小巧&#xff0c;仅 …...

LeetCode 1472.设计浏览器历史记录:一个数组完成模拟,单次操作均O(1)

【LetMeFly】1472.设计浏览器历史记录&#xff1a;一个数组完成模拟&#xff0c;单次操作均O(1) 力扣题目链接&#xff1a;https://leetcode.cn/problems/design-browser-history/ 你有一个只支持单个标签页的 浏览器 &#xff0c;最开始你浏览的网页是 homepage &#xff0c…...

[笔记.AI]AI知识科普提纲

仅供参考 1.AI基础认知 1.1什么是什么AI 1.2核心概念 1.2.1机器学习、深度学习、神经网络 1.2.2模型&#xff1a;模型、大模型、模型参数 1.2.3多模态 1.2.4生成式AI & 判别式AI 1.3发展与现状 2.大模型 2.1主流大模型 2.1.1分类 2.1.2各…...

学习知识的心理和方法杂记-01

前言&#xff1a; 1 学习新知识要讲究方法&#xff0c;“知识未学 方法先行”&#xff0c;写本系列文章是为了给自己加深大脑“条件反射”的&#xff0c;因为我自己学习新知识的过程中老会被不科学的“杂念”干扰&#xff0c;导致学习效率低下。 2 关于天才和普通人&#xff…...

网页制作10-html,css,javascript初认识の适用XHTML

一、简介&#xff1a; Xhtml是extensible hypertext markup language的缩写。它是由国际W3C组织制定并公布发行的。是一个过渡技术&#xff0c;结合了部分xml的强大功能及大多数html的简单特性。 Advantage. Xhtml提倡更简洁规范的代码。 Xhtml.文档在旧的基于的浏览器中&…...

C++ 中 cin 和 cout 教程

一、概述 在 C 里&#xff0c;cin 和 cout 是标准库 <iostream> 中用于输入输出操作的重要对象&#xff0c;它们基于流的概念&#xff0c;为开发者提供了方便且类型安全的输入输出方式。cin 是标准输入流对象&#xff0c;主要用于从标准输入设备&#xff08;一般是键盘&…...

Qt for Android下QMessageBox背景黑色、文字点击闪烁

最近在基于Qt开发安卓应用的时候,在红米平板上默认QMessageBox出现之后,背景黑色,并且点击提示文字会出现闪烁,影响用户体验。 问题分析 1、设置QMessageBox样式,设置背景色、文字颜色,如下所示: QMessageBox {background: white;color: white; } 尝试之后,问题仍存…...

C++20的指定初始化器(Designated Initializers)

文章目录 指定初始化器的使用条件语法嵌套结构体的初始化数组的指定初始化注意事项优势 C20引入了**指定初始化器&#xff08;Designated Initializers&#xff09;**这一特性&#xff0c;允许在初始化结构体、联合体或类的对象时&#xff0c;明确指定成员变量的初始化值&#…...

Windows 11【1001问】删除Win11左下角小组件的6种方法

在Windows 11中&#xff0c;左下角的小组件功能虽然提供了天气、新闻等实用信息&#xff0c;但对于一些用户来说可能显得多余或干扰视线。因此&#xff0c;微软提供了多种方式让用户能够自定义是否显示这些小组件。以下是 6 种常见的设置方法来隐藏或关闭Windows 11左下角的小组…...

kotlin的函数标准库使用

摘要说明 函数标准库常用的有&#xff1a; 1、apply&#xff1a; apply函数作为一个配置函数&#xff0c;可以传入一个接收者&#xff0c;然后调用一系列函数来配置它以方便使用&#xff0c;如果提供lambda给apply函数执行&#xff0c;它会返回配置好的接收者 使用介绍&#x…...

深入剖析:自定义实现C语言中的atoi函数

在C语言的标准库中&#xff0c; atoi 函数是一个非常实用的工具&#xff0c;它能够将字符串形式的数字转换为对应的整数。然而&#xff0c;当我们深入探究其实现原理时&#xff0c;会发现其中蕴含着许多有趣的编程技巧和细节。本文将详细讲解如何自定义实现一个类似 atoi 功能的…...

Kubernetes (K8S) 核心原理深度剖析:从架构设计到运行机制

Kubernetes(K8S)作为容器编排领域的“操作系统”,其设计和实现原理是开发者进阶的必修课。本文将从架构设计、核心组件协作、关键机制实现三个维度,结合源码逻辑与实战场景,分享 K8S 的底层运行原理。 一、Kubernetes 架构设计 1. 声明式 API 与控制器模式 K8S 的核心设…...

springboot做接口限流

目录 1. 依赖全局配置2. 注解配置 1. 依赖全局配置 引入依赖 <dependency><groupId>com.github.taptap</groupId><artifactId>ratelimiter-spring-boot-starter</artifactId><version>1.2</version></dependency>appl…...

Visual Studio Code 跨平台安装与配置指南(附官方下载链接)

一、软件定位与核心功能 Visual Studio Code&#xff08;简称VS Code&#xff09;是微软开发的开源跨平台代码编辑器&#xff0c;支持超过50种编程语言的智能补全、调试和版本控制功能。2025版本新增AI辅助编程模块&#xff0c;可自动生成单元测试代码和API文档注释。 二、下载…...

TaskBuilder设置排序条件

在整个向导的最后一步&#xff0c;可以设置是否按指定字段的值对查询结果进行排序&#xff0c;支持正序和倒序两种排序方式。如果没有设置任何排序字段&#xff0c;则默认按数据库里现有数据记录的实际存储的先后顺序排序。如果设置了多个排序条件&#xff0c;则按这些条件从上…...

挖src实用脚本开发(二)

文章目录 技术原理代码实现一代码实现二总结 这篇文章记录cms识别脚本。 技术原理 1.使用在线平台识别&#xff0c;比如whatcms&#xff0c;fofa等 2.自己写脚本识别&#xff0c;但是指纹库麻烦&#xff0c;需要耗费大量精力 代码实现一 这里我使用的是whatcms接口&#xff0…...

[ISP] AE 自动曝光

相机通过不同曝光参数&#xff08;档位快门时间 x 感光度 x 光圈大小&#xff09;控制进光量来完成恰当的曝光。 自动曝光流程大概分为三部分&#xff1a; 1. 测光&#xff1a;点测光、中心测光、全局测光等&#xff1b;通过调整曝光档位使sensor曝光在合理的阈值内&#xff0…...

DeepSeek-R1:通过强化学习激发大语言模型的推理能力

注&#xff1a;此文章内容均节选自充电了么创始人&#xff0c;CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》&#xff08;人工智能科学与技术丛书&#xff09;【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列三DeepSeek大模型技术系列三》DeepSeek-…...

002 docker安装rocketmq

docker search rocketmq#拉取镜像 docker pull foxiswho/rocketmq:server-4.3.2 docker pull foxiswho/rocketmq:broker-4.3.2 #创建nameserver容器 docker create -p 9876:9876 --name rmqserver \ -e "JAVA_OPT_EXT-server -Xms128m -Xmx128m -Xmn128m" \ -e "…...

算法训练(leetcode)二刷第三十七天 | *300. 最长递增子序列、674. 最长连续递增序列、*718. 最长重复子数组

刷题记录 *300. 最长递增子序列674. 最长连续递增序列基础解法&#xff08;非动规&#xff09;动态规划 718. 最长重复子数组滚动数组 *300. 最长递增子序列 leetcode题目地址 dp数组含义&#xff1a; dp[i]表示以nums[i]结尾的最长递增子序列长度&#xff0c;即以nums[i]结尾…...

LSTM长短期记忆网络-原理分析

1 简介 概念 LSTM&#xff08;Long Short-Term Memory&#xff09;也称为长短期记忆网络&#xff0c;是一种改进的循环神经网络&#xff08;RNN&#xff09;&#xff0c;专门设计用于解决传统RNN的梯度消失问题和长程依赖问题。LSTM通过引入门机制和细胞状态&#xff0c;能够更…...

Java 面试题 20250227

Java 中序列化与反序列化是什么&#xff1f; 序列化&#xff1a;将 Java 对象转化成可传输的字节序列格式&#xff08;字节流、JSON、XML&#xff09;&#xff0c;以便于传输和存储。 反序列化&#xff1a;将字节序列格式数据转化成 Java 对象的过程。 1、为什么需要序列化和…...

Spring事务失效六大场景

引言 Spring事务一般我们采用注解实现&#xff0c;但是我们构造事务实现的时候常常没察觉失效的情况&#xff0c;本篇文章总结事务失效的六大情况&#xff0c;帮助我们深刻理解事务失效的边界概念 1. 方法自调用 这个主要是针对声明式事务的&#xff0c;经过前面的介绍&…...

C++和OpenGL实现3D游戏编程【连载23】——几何着色器和法线可视化

欢迎来到zhooyu的C++和OpenGL游戏专栏,专栏连载的所有精彩内容目录详见下边链接: 🔥C++和OpenGL实现3D游戏编程【总览】 1、本节实现的内容 上一节课,我们在Blend软件中导出经纬球模型时,遇到了经纬球法线导致我们在游戏中模型光照显示问题,我们在Blender软件中可以通过…...

Python游戏编程之赛车游戏6-2

3.2 move()方法的定义 Player类的move()方法用于玩家控制汽车左右移动&#xff0c;当玩家点击键盘上的左右按键时&#xff0c;汽车会相应地进行左右移动。 move()方法的代码如图7所示。 图7 move()方法的代码 其中&#xff0c;第20行代码通过pygame.key.get_pressed()函数获…...

Vxe UI 根据vxe-tabs 绑定不同的值,渲染生成不同的 tabls(页签)内容

VxeUI tabs控件&#xff0c;根据绑定不同的内容&#xff0c;动态渲染不同的表格数据放置在不同的 tab 页 效果图如下&#xff1a; 代码实现 <template><vxe-tabs :options"detailTabList"><vxe-tab-pane v-for"(item, index) in detailTabList&…...

Element Plus中el-select选择器的下拉选项列表的样式设置

el-select选择器&#xff0c;默认样式效果&#xff1a; 通过 * { margin: 0; padding: 0; } 去掉内外边距后的样式效果&#xff08;样式变丑了&#xff09;&#xff1a; 通过 popper-class 自定义类名修改下拉选项列表样式 el-select 标签设置 popper-class"custom-se…...

YOLOv11-ultralytics-8.3.67部分代码阅读笔记-train.py

train.py ultralytics\models\yolo\detect\train.py 目录 train.py 1.所需的库和模块 2.class DetectionTrainer(BaseTrainer): 1.所需的库和模块 # Ultralytics &#x1f680; AGPL-3.0 License - https://ultralytics.com/licenseimport math import random from copy…...

PR 安装包 2018-2024(Win,Mac)文中为使用技巧和教程

下载链接&#xff1a;https://pan.baidu.com/s/1LLv1tSXJxUcv6iOlcAHJEg?pwd1234 导语&#xff1a;Adobe Premiere Pro以98%的行业覆盖率和跨平台协作能力&#xff0c;稳居2025年视频剪辑工具榜首。本文涵盖基础配置、核心剪辑、高级调色、效率革命、企业级实战五大模块&…...

请求Geoserver的WTMS服务返回200不返回图片问题-跨域导致

今天碰到个奇怪问题&#xff0c;改了个页面标题再打包布署GeoServer发现调用WTMS服务失败&#xff0c;请求返回状态码200&#xff0c;返回包大小0&#xff0c;使用postman模拟请求是可以正常返回图片的。 跟之前版本对比如下&#xff1a; 正常Response请求: HTTP/1.1 200X-Fr…...

TCP基本入门-简单认识一下什么是TCP

部分内容来源&#xff1a;小林Coding TCP的特点 1.面向连接 一定是“一对一”才能连接&#xff0c;不能像 UDP 协议可以一个主机同时向多个主机发送消息&#xff0c;也就是一对多是无法做到的 2.可靠的 无论的网络链路中出现了怎样的链路变化&#xff0c;TCP 都可以保证一个…...

计算机科学技术领域的内卷现状与应对措施分析

计算机科学技术领域的内卷现状与应对措施分析 李升伟 整理 ### 计算机科学技术领域的内卷现状与应对措施分析 #### 一、内卷现状分析 1. **教育与升学内卷** 计算机科学与技术相关专业&#xff08;如计算机科学与技术、人工智能、大数据等&#xff09;已成为考研竞争最…...

The First项目报告:VANA如何重塑数据所有权与AI训练

在当今的数字化时代&#xff0c;数据已成为比黄金更为珍贵的资源。科技巨头们通过收集和分析用户的个人数据&#xff0c;获得巨大的商业利益&#xff0c;而用户却往往没有从中得到应有的回报。这种数据的不对等交易和隐私侵犯现象&#xff0c;成为了现代社会的一个严重问题。 …...