python类模拟“对战游戏”
Game类含玩家昵称、生命值、攻击力(整数),暴击率、闪避率(小数),在魔术方法init定义;attack方法中实现两个Game实例对战模拟。
(本笔记适合初通Python类class的coder翻阅)
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室
本文质量分:
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆ 模拟“对战游戏”
- 1、题目描述
- 2、算法解析
- 2.1 Game属性定义
- 2.2 attack方法
- 2.3 main函数
- 2.4 showPlayer方法
- 2.5 代码运行效果
- 3、完整源码
◆ 模拟“对战游戏”
1、题目描述
题目描述截屏图片

【题目来源于 CSDN 问答社区提问“Python类模拟对战游戏”】
2、算法解析
本题目看起,不难。按Python的基本写法按部就班的一行行码码就对了,魔法方法定义属性也没有大问题,只要注意对变量名称的设计就ok了。对战方法attack稍有难度,对四种输出的判定,if条件表达式分支不难搞定,只要细心一点就没事儿。对每回合伤害值的计算,小有难度;难就难在闪避率的处理,使整个伤害值计算表达式为0的权值,才是闪避率(我也是搞反。数据设置极小,都极易出“闪避”,久经推敲,才揪出是我搞反的bug😂😂)。
再有点儿麻烦的,我认为是字符串格式化输出。幸好我对好用的字符串插值格式化已经完全掌握,细心调试也还轻车熟路。😋😋
除了玩家昵称外,我都采用了随机生成:生命值、攻击力是m、n整数区间的随机整数(攻击力取值边界是生命上下边界的1/4),暴击率、闪避率是0.12~0.36之间的随机小数。我没有设定随机数种子seed(),就是想让模拟游戏更具“随机性”。
2.1 Game属性定义
Game属性变量名称说明
hp: health point # 生命值。
ar: aggressivity # 攻击力。
csr: crotical strike rate # 暴击率。
far: flash avoidance rate # 闪避率。
用hp0记录玩家生命值初值,因为hp生命值会随意战斗回合推进而发生变化。
python代码
def __init__(self, name, hp, ar, csr, far):self.name = nameself.hp0 = self.hp = hp # 用变量hp0记录玩家初始生命值。self.ar = arself.csr = csrself.far = far
2.2 attack方法
attack对战方法中,我使用了两个技巧:一、用三元操作语句替换了所有的if条件表达式语句,让代码更苗条优雅;二、用随机模块方法choices带权重参数来处理暴击率和闪避率,简单方便。
值得注意的是:choice方法返回的中列表,就算默认的k参数为k=1时,它也返回一个元素的列表。我收到抛出的这个异常,也是迷糊了一阵子才找到症结。
python代码
def attack(self, b):from random import choiceskillValue = self.ar*choices([2, 1], [self.csr, 1-self.csr])[0]*choices([0, 1], [b.far, 1-b.far])[0] # 伤害值计算。b.hp -= killValuetipA = f"\n◎ {self.name}向{b.name}发动了{killValue}点攻击。" if killValue else ''tipB = f"\n◎ {b.name}躲开了!" if not killValue else ''tipC = f"\n◎ {b.name}的生命值降低到{b.hp}" if killValue else ''tipD = f"\n◎ {b.name}失败了!" if b.hp <= 0 else ''print(f"{tipA}{tipB}{tipC}{tipD}\n\n{'':>4}“{b.name}”剩余生命值:{b.hp}")return True if b.hp <= 0 else False
2.3 main函数
- 我的构想:
main函数就是对Game赋值实例,形参代实参,实例Game类不在话下。循环对战,只到一方死亡(生命值hp为0或者小于0)。用两个相同类Game实例“相互战斗”,对于初通类的我,确实算是难为。终究理不透题目描述中那句
“attack方法接受一个参数(另一个Game实例)”,始终结构不出我的代码。后来终于灵光闪现,回合战斗后a、b玩家互换变量,在循环战斗中实现了始终如一的用一条代码语句a.attack(b)。😜😜这也算是取了一个巧吧😄!
python代码
def main():from random import randintfrom os import systemclear = lambda: system('clear') # 清屏函数。s = input(f"\n输入玩家昵称(如梦幻精灵_cq 小精灵):\n\n{'':>13}_").strip()a, b = s.split() if s else ('梦幻精灵_cq', '小精灵')m, n, rate = 1000, 2000, lambda: randint(12, 36)/100 # 生命值随机数上下边界,暴击率、闪避率随机函数。a, b = Game(a, randint(m, n), randint(m//4, n//4), rate(), rate()), Game(b, randint(m, n), randint(m//4, n//4), rate(), rate()) # a、b玩家实例,属性值随机。flag = 0 # 玩家失败标识初值。k = 1 # 回合记录变量初值。while not flag:clear() # 调用函数清屏。a.showPlayer(b)print(f"\n\n{f'第{k:0>2}回合':~^37}")flag = a.attack(b) # 据对战情形更新失败标识。input(f"{'':~^40}\n")a, b = b, a # 主动出击玩家对调。k += 1
2.4 showPlayer方法
- 我用一条字符串插值格式化完成了玩家属性的展示

因此,在题目要求之外为Game类追加了一个showPlayer方法,来展示对战的玩家属性信息。
python代码
def showPlayer(self, b):print(f"\n{' 回合对战游戏 ':=^34}\n\n\n{'':>8}玩家A:{self.name}\n{'':>8}玩家B:{b.name}\n{'':>8}{'':~>18}\n\n{'【玩家属性】':^34}\n{' A ':~^20}{' B ':~^20}\n{'':>3}生命值:{self.hp0:>4}{'':>8}生命值:{b.hp0:>4}\n{'':>3}攻击力:{self.ar:>4}{'':>8}攻击力:{b.ar:>4}\n{'':>3}暴击率:{self.csr:.2f}{'':>8}暴击率:{b.csr:.2f}\n{'':>3}闪避率:{self.far:.2f}{'':>8}闪避率:{b.far:.2f}")
关于对main函数的调用,太过基础和简单,这里不再赘述。如有不清楚的,可跳转完整源码,浏览最后几行代码。
2.5 代码运行效果
代码运行效果截屏图片
一、


二、



3、完整源码
(源码较长,点此跳过源码)
python代码
#!/sur/bin/nve python
# coding: utf-8class Game():'''玩家属性变量名称说明:hp: health point # 生命值。ar: aggressivity # 攻击力。csr: crotical strike rate # 暴击率。far: flash avoidance rate # 闪避率。'''def __init__(self, name, hp, ar, csr, far):self.name = nameself.hp0 = self.hp = hp # 用变量hp0记录玩家初始生命值。self.ar = arself.csr = csrself.far = fardef showPlayer(self, b):print(f"\n{' 回合对战游戏 ':=^34}\n\n\n{'':>8}玩家A:{self.name}\n{'':>8}玩家B:{b.name}\n{'':>8}{'':~>18}\n\n{'【玩家属性】':^34}\n{' A ':~^20}{' B ':~^20}\n{'':>3}生命值:{self.hp0:>4}{'':>8}生命值:{b.hp0:>4}\n{'':>3}攻击力:{self.ar:>4}{'':>8}攻击力:{b.ar:>4}\n{'':>3}暴击率:{self.csr:.2f}{'':>8}暴击率:{b.csr:.2f}\n{'':>3}闪避率:{self.far:.2f}{'':>8}闪避率:{b.far:.2f}")def attack(self, b):from random import choiceskillValue = self.ar*choices([2, 1], [self.csr, 1-self.csr])[0]*choices([0, 1], [b.far, 1-b.far])[0] # 伤害值计算。b.hp -= killValuetipA = f"\n◎ {self.name}向{b.name}发动了{killValue}点攻击。" if killValue else ''tipB = f"\n◎ {b.name}躲开了!" if not killValue else ''tipC = f"\n◎ {b.name}的生命值降低到{b.hp}" if killValue else ''tipD = f"\n◎ {b.name}失败了!" if b.hp <= 0 else ''print(f"{tipA}{tipB}{tipC}{tipD}\n\n{'':>4}“{b.name}”剩余生命值:{b.hp}")return True if b.hp <= 0 else Falsedef main():from random import randintfrom os import systemclear = lambda: system('clear') # 清屏函数。s = input(f"\n输入玩家昵称(如梦幻精灵_cq 小精灵):\n\n{'':>13}_").strip()a, b = s.split() if s else ('梦幻精灵_cq', '小精灵')m, n, rate = 1000, 2000, lambda: randint(12, 36)/100 # 生命值随机数上下边界,暴击率、闪避率随机函数。a, b = Game(a, randint(m, n), randint(m//4, n//4), rate(), rate()), Game(b, randint(m, n), randint(m//4, n//4), rate(), rate()) # a、b玩家实例,属性值随机。flag = 0 # 玩家失败标识初值。k = 1 # 回合记录变量初值。while not flag:clear() # 调用函数清屏。a.showPlayer(b)print(f"\n\n{f'第{k:0>2}回合':~^37}")flag = a.attack(b) # 据对战情形更新失败标识。input(f"{'':~^40}\n")a, b = b, a # 主动出击玩家对调。k += 1if __name__ == '__main__':main() # 调用主函数,开始游戏。
上一篇: 经典循环命题:百钱百鸡(翁五钱一只,母三钱,小鸡三只一钱;百钱百鸡百鸡花百钱)
下一篇:
我的HOT博:
本次共计收集 246 篇博文笔记信息,总阅读量 40.46w,平均阅读量 1644。已生成 16 篇阅读量不小于 4000 的博文笔记索引链接。数据采集于 2023-10-12 05:41:03 完成,用时 4 分 41.10 秒。
- ChatGPT国内镜像站初体验:聊天、Python代码生成等
( 59262 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/129035387
点赞:126 踩 :0 收藏:798 打赏:0 评论:71
本篇博文笔记于 2023-02-14 23:46:33 首发,最晚于 2023-07-03 05:50:55 修改。 - 让QQ群昵称色变的神奇代码
( 58086 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122566500
点赞:24 踩 :0 收藏:83 打赏:0 评论:17
本篇博文笔记于 2022-01-18 19:15:08 首发,最晚于 2022-01-20 07:56:47 修改。 - pandas 数据类型之 DataFrame
( 9173 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/124525814
点赞:6 踩 :0 收藏:31 打赏:0 评论:0
本篇博文笔记于 2022-05-01 13:20:17 首发,最晚于 2022-05-08 08:46:13 修改。 - 个人信息提取(字符串)
( 7215 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/124244618
点赞:1 踩 :0 收藏:13 打赏:0 评论:0
本篇博文笔记于 2022-04-18 11:07:12 首发,最晚于 2022-04-20 13:17:54 修改。 - Python列表(list)反序(降序)的7种实现方式
( 7161 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/128271700
点赞:5 踩 :0 收藏:22 打赏:0 评论:8
本篇博文笔记于 2022-12-11 23:54:15 首发,最晚于 2023-03-20 18:13:55 修改。 - 罗马数字转换器|罗马数字生成器
( 7035 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122592047
点赞:0 踩 :0 收藏:1 打赏:0 评论:0
本篇博文笔记于 2022-01-19 23:26:42 首发,最晚于 2022-01-21 18:37:46 修改。 - Python字符串居中显示
( 6966 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122163023
点赞:1 踩 :0 收藏:7 打赏:0 评论:1
本篇博文笔记 - 斐波那契数列的递归实现和for实现
( 5523 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122355295
点赞:4 踩 :0 收藏:2 打赏:0 评论:8
本篇博文笔记 - python清屏
( 5108 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/120762101
点赞:0 踩 :0 收藏:8 打赏:0 评论:0
本篇博文笔记 - 练习:字符串统计(坑:f‘string‘报错)
( 5103 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/121723096
点赞:0 踩 :0 收藏:1 打赏:0 评论:0
本篇博文笔记 - 回车符、换行符和回车换行符
( 5093 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/123109488
点赞:1 踩 :0 收藏:2 打赏:0 评论:0
本篇博文笔记于 2022-02-24 13:10:02 首发,最晚于 2022-02-25 20:07:40 修改。 - 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
( 4943 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/121645399
点赞:14 踩 :0 收藏:42 打赏:0 评论:0
本篇博文笔记 - 密码强度检测器
( 4323 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/121739694
点赞:1 踩 :0 收藏:4 打赏:0 评论:0
本篇博文笔记于 2021-12-06 09:08:25 首发,最晚于 2022-11-27 09:39:39 修改。 - 练习:生成100个随机正整数
( 4274 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122558220
点赞:1 踩 :0 收藏:6 打赏:0 评论:0
本篇博文笔记于 2022-01-18 13:31:36 首发,最晚于 2022-01-20 07:58:12 修改。 - 我的 Python.color() (Python 色彩打印控制)
( 4159 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/123194259
点赞:2 踩 :0 收藏:8 打赏:0 评论:0
本篇博文笔记于 2022-02-28 22:46:21 首发,最晚于 2022-03-03 10:30:03 修改。 - 罗马数字转换器(用罗马数字构造元素的值取模实现)
( 4149 阅读)
博文地址:https://blog.csdn.net/m0_57158496/article/details/122608526
点赞:0 踩 :0 收藏:0 打赏:0 评论:0
本篇博文笔记于 2022-01-20 19:38:12 首发,最晚于 2022-01-21 18:32:02 修改。
精品文章:
- 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
- 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代码编写规范
- Python的docstring规范(说明文档的规范写法)
相关文章:
python类模拟“对战游戏”
Game类含玩家昵称、生命值、攻击力(整数),暴击率、闪避率(小数),在魔术方法init定义;attack方法中实现两个Game实例对战模拟。 (本笔记适合初通Python类class的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.py…...
Maven第二章:Maven基本概念与生命周期
Maven第二章:Maven基本概念与生命周期 前言 本章主要内容,介绍Maven基本概念,包括maven坐标含义,命名规则,继承与聚合、了解与理解生命周期,如何通过Maven进行依赖和版本管理。 什么是Maven的坐标…...
<蓝桥杯软件赛>零基础备赛20周--第3周--填空题
报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周(读者可以按…...
【Linux】VM及WindowsServer安装
🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《微信小程序开发实战》。🎯Ἲ…...
【实用教程】MySQL内置函数
1 背景 在MySQL查询等操作过程中,我们需要根据实际情况,使用其提供的内置函数。今天我们就来一起来学习下这些函数,在之后的使用过程中更加得心应手。 2 MySQL函数 2.1 字符串函数 常用的函数如下: concat(s1,s2,…sn)字符串…...
第十二节——ref
一、概念 ref 被用来给DOM元素或子组件注册引用信息。引用信息会根据父组件的 $refs 对象进行注册。如果在普通的DOM元素上使用,引用信息就是元素; 如果用在子组件上,引用信息就是组件实例。 注意:只要想要在Vue中直接操作DOM元素ÿ…...
少儿编程 2023年9月中国电子学会图形化编程等级考试Scratch编程四级真题解析(判断题)
2023年9月scratch编程等级考试四级真题 判断题(共10题,每题2分,共20分) 11、运行程序后,变量"result"的值是6 答案:对 考点分析:考查积木综合使用,重点考查自定义积木的使用 图中自定义积木实现的功能是获取两个数中最大的那个数并存放在result变量中,左…...
【设计模式三原则】
设计模式三原则 单一职责原则开放封闭原则依赖倒转原则里氏代换原则 我们在进行程序设计的时候,要尽可能地保证程序的可扩展性、可维护性和可读性,所以需要使用一些设计模式,这些设计模式都遵循了以下三个原则,下面来依次为大家介…...
600MW发电机组继电保护自动装置的整定计算及仿真
摘要 随着科技的发展,电力已成为最重要的资源之一,如何保证电力的供应对于国民经济发展和人民生活水平的提高都有非常重要的意义。在电能输送过程中,发电机组是整个过程中最重要的一个基本元素,在电力系统中的输送和分配中被广泛应…...
【蓝桥每日一题]-字符串(保姆级教程 篇1)#atcoder324C~E题
今天来讲字符串题型 目录 题目:atcoder324C题 思路: 题目:atcoder324D题 思路: 题目:atcoder324E题 思路: 题目:atcoder324C题 给一个T字符串,然后给出n个S串,对…...
4.2.1 SQL语句、索引、视图、存储过程
怎么执行一条select语句 1.连接器 接收连接-》管理连接-》校验用户信息 2.查询缓存 kv存储,命中直接返回,否则继续执行 8.0已经删除 3.分析器 词法句法分析生成语法树 4.优化器 指定执行计划,选择查询成本最小的计划 5.执行器 根据执行计划&a…...
1992-2021年全国各地级市经过矫正的夜间灯光数据(GNLD、VIIRS)
1992-2021年全国各地级市经过矫正的夜间灯光数据(GNLD、VIIRS) 1、时间:1992-2021年3月,其中1992-2013年为年度数据,2013-2021年3月为月度数据 2、来源:DMSP、VIIRS 3、范围:分区域汇总&…...
机器人的触发条件有什么区别,如何巧妙的使用
简介 维格机器人触发条件,分为3个,分别是: 有新表单提交时、有记录满足条件时、有新的记录创建时 。 看似3个,其实是能够满足我们非常多的使用场景。 本篇将先介绍3个条件的触发条件,然后再列举一些复杂的触发条件如何用现有的触发条件来满足 注意: 维格机器人所有的…...
【Qt6】QStringList
2023年10月31日,周二上午 QStringList 是 Qt 中的一个类,用于存储一组字符串。它提供了一些方便的方法来操作和管理字符串列表。 QStringList 可以用于存储任意数量的字符串,并提供了一些常用的操作,例如添加、删除、查找、排序等…...
代码随想录算法训练营第五十三天|309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费
309. 买卖股票的最佳时机含冷冻期 int maxProfit(int* prices, int pricesSize){int len pricesSize;int dp[len][4];dp[0][0] -prices[0];dp[0][1] 0;dp[0][2] 0;dp[0][3] 0;for (int i 1; i < pricesSize; i){dp[i][0] fmax(dp[i-1][0], fmax(dp[i-1][1] - prices…...
厚黑学笔记
厚黑学 我现在的情况就是在听书听到一半,但在软件上看书已经看完了,厚黑学要讲的东西大概已经摸清楚了。 总体来说,厚黑学里面的章节内容有一点沾边的嫌疑(看完后的想法),但这本书还是有值得阅读的,但主讲…...
IDEA MyBatisX插件介绍
一、前言 前几年写代码的时候,要一键生成DAO、XML、Entity基础代码会采用第三方工具,比如mybatis-generator-gui等,现在IDEA或Eclipse都有对应的插件,像IDEA中MyBatisX就是一个比较好用的插件。 二、MyBatisX安装配置使用 MyBa…...
【PyQt学习篇 · ②】:QObject - 神奇的对象管理工具
文章目录 QObject介绍Object的继承结构测试QObject对象名称和属性QObject对象名称和属性的操作应用场景 QObject父子对象QObject父子对象的操作 QObject的信号与槽QObject的信号与槽的操作 QObject介绍 在PyQt中,QObject是Qt框架的核心对象之一。QObject是一个基类…...
【AcWing】1.1.3二分搜索
一、二分搜索 1、查找数的范围 原题链接 这道题看似是二分搜索的题目,实则就是二分搜索。与一般的搜索不同的是,若查找元素重复,则分别返回重复元素的左端下标和右端下标,若不存在则返回“-1 -1。我们常用的二分搜索是返回的…...
【Python第三方包】串口通信(pySerial包)
文章目录 前言一、串口的基本使用1.1 配置串口基本信息1.2 读取串口数据1.3 写串口1.4 关闭串口二、示例代码2.1 示例1: 从串口读取数据2.2 示例2: 向串口写入数据总结前言 串口通信是许多嵌入式和物联网应用中的关键组成部分。Python 提供了许多第三方库来简化串口通信的实现…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
