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

【小游戏】C++控制台版本俄罗斯轮盘赌

制作团队:洛谷813622(Igallta) 989571(_ayaka_)

Mod:_ayaka_

双人模式:Igallta

公告:

原先的9.8改名为 Alpha 1.0,以后每次更新都增加 0.1。
Alpha 1.11 改为 Beta 1.0。
手铐机制:朝自己开枪也算一个回合,例如:

上手铐+朝自己开枪 -> 朝对面开枪 -> 对面回合

Data:

Data 9.3:新增设定:对方死了之后对方的手铐也会解掉。
Data Alpha 1.1 :为防止有人钻牛角尖,大部分改为 string 类型。
Data Alpha 1.2 :为防止有些人数道具是第几号数大脑过载数晕过去了,显示道具时会增加编号。
Data Alpha 1.3 :不能命名为上帝、God…不然就会&%#@&)DHD*#。
Data Alpha 1.4 :游戏结束后并不会立刻窗口结束,而是会等三秒后按任意键结束。
Data Alpha 1.5 :增加等待时间,让你反应过来(原来只有 100ms,现在改为 500ms)。
Data Alpha 1.6 :缩短代码长度,没错,仅此而已。
Data Alpha 1.7 :增加如果射出的是实弹那么窗口就会抖动、每次获得的道具从固定4个改为 1~4 随机。以及优化游玩体验。
Data Alpha 1.8 :经讨论,认为道具设置为 1~5 个/次更为合适。
Data Alpha 1.9 :优化玩家体验。
Data Alpha 1.10 :修复关于输入无限循环的 bug。
Data Beta 1.0 :删除死亡后手铐解除的机制。
Data Beta 1.1 :修复在开发手铐时不小心让p1直接获得12个手铐的bug(汗),优化玩家体验。
Date Beta 1.2:大大缩短代码长度(目前有 bug 无法游玩)

/*
作者:洛谷813622、989571 csdn:luogu_Igallta
严禁搬迁
这个版本是Beta 1.1版本
*/
#include<bits/stdc++.h>
#include<windows.h>
#define clr system("cls")
#define int long long
using namespace std;
string dj[] = {"放大镜", "华子", "小刀", "饮料", "手铐"}, zd[] = {"空弹", "实弹"}, pl1, pl2;
bool is1 = 1, sk, zs; //sk:手铐 zs:打自己
int yu, kb, sd, b1 = 2, win1,win2,b2 = 2, ls = 1, hit = 1, mxb = 2, jl; //jl:记录被挂手铐后局数
vector<int>dj1, dj2;
queue<int>g;//枪械装弹
inline void dist(int atime, int st = 20) {int shake_distance = 10, x, y, width, height;int counts = atime / st / 2;RECT rect;HWND window = NULL, oldwindow = NULL;for (int i = 1; i <= counts; i++) {window = GetForegroundWindow();if (window != oldwindow) {GetWindowRect(window, &rect);x = rect.left;y = rect.top;width = rect.right - x;height = rect.bottom - y;oldwindow = window;}MoveWindow(window, x - shake_distance, y, width, height, TRUE);Sleep(st);MoveWindow(window, x + shake_distance, y, width, height, TRUE);Sleep(st);}
}
inline void split() {clr;int shake_time = 20, shake_distance = 10, x, y, width, height;RECT rect;HWND window = NULL, oldwindow = NULL;clr;for (int i = 1; i <= 300; i++) {window = GetForegroundWindow();if (window != oldwindow) {GetWindowRect(window, &rect);x = rect.left;y = rect.top;width = rect.right - x;height = rect.bottom - y;oldwindow = window;}MoveWindow(window, x - shake_distance, y, width, height, TRUE);Sleep(shake_time);MoveWindow(window, x + shake_distance, y, width, height, TRUE);Sleep(shake_time);if (i == 1)cout << "你";else if (i == 20)cout << "怎";else if (i == 40)cout << "么";else if (i == 60)cout << "这";else if (i == 80)cout << "么";else if (i == 100)cout << "不";else if (i == 120)cout << "听";else if (i == 140)cout << "话";else if (i == 160)cout << "呢";else if (i == 170)cout << "?";else if (i == 180)cout << "你";else if (i == 200)cout << "让";else if (i == 220)cout << "我";else if (i == 240)cout << "要";else if (i == 260)cout << "消";else if (i == 280)cout << "失";else if (i == 300)cout << "了";}int t = 250;while (t--) {cout << "ERROR ";Sleep(3);}t = 20;while (t--)system("start cmd");t = 20;while (t--) {MessageBox(NULL, "ERROR!", "ERROR", MB_OK | MB_ICONWARNING);}exit(0);
}
inline void dontagain() {clr;Sleep(500);for (int i = 0; i <= 2; i++) {cout << '.';Sleep(1000);}cout << "够";Sleep(2000);cout << "了!!!\n";dist(800);system("pause");cout << "你再这样程序就出 bug 了!\n";system("pause");clr;
}
inline void drink() {int tmpo = g.front();g.pop();cout << "你选择了饮料!退出的这发子弹是:" << zd[tmpo] << "!\n";--yu;if (tmpo) {--sd;} else --kb;Sleep(1500);
}
inline void over() {Sleep(1000);system("pause");clr;++ls;
}
inline void fdj() {cout << "当前子弹:";cout << zd[g.front()] << '\n';Sleep(1500);
}
signed main() {cout << "玩家1的名字:";cin >> pl1;int cnt1 = 0, cnt2 = 0;while (pl1 == "上帝" || pl1 == "GOD" || pl1 == "GOd" || pl1 == "GoD" || pl1 == "God" || pl1 == "gOD" || pl1 == "goD" || pl1 == "gOd" || pl1 == "god") {if (cnt1 == 6) {dontagain();}if (cnt1 == 12) {split();}cout << "ERROR 010101000110100001100101001000000100011101101111011001000010000001101000011000010111001100100000011000100110010101100101011011100010000001100100011001010110000101100100001011000111100101101111011101010010000001100011011000010110111000100111011101000010000001101110011000010110110101100101001000000111100101101111011101010111001000100000011011100110100101100011011010110110111001100001011011010110010100100000001000100100011101101111011001000010001000101110";cout << "\n你需要重新输入一个名字......\n";++cnt1;cin >> pl1;}cout << "玩家2的名字:";cin >> pl2;while (pl2 == "上帝" || pl2 == "GOD" || pl2 == "GOd" || pl2 == "GoD" || pl2 == "God" || pl2 == "gOD" || pl2 == "goD" || pl2 == "gOd" || pl2 == "god") {if (cnt2 == 6) {dontagain();}if (cnt2 == 12) {split();}cout << "ERROR 010101000110100001100101001000000100011101101111011001000010000001101000011000010111001100100000011000100110010101100101011011100010000001100100011001010110000101100100001011000111100101101111011101010010000001100011011000010110111000100111011101000010000001101110011000010110110101100101001000000111100101101111011101010111001000100000011011100110100101100011011010110110111001100001011011010110010100100000001000100100011101101111011001000010001000101110";cout << "\n你需要重新输入一个名字......\n";cin >> pl2;}clr;cout << "现在讲解规则:\n小刀:可以让下一发子弹伤害变成两倍\n华子:可以回一滴血\n放大镜:你可以查看当前子弹\n饮料:可以退一发子弹\n手铐:可以限制对方一回合动不了\n一共有3轮。\n";Sleep(1200);system("pause");clr;
start:;if (ls == 4) {clr;cout << "局数已到,游戏结束。\n";if(win1>win2){cout<<"p1赢了!";}else cout<<"p2赢了!";Sleep(2000);system("pause");exit(0);}//初始化b1 = 2 * ls;b2 = 2 * ls;hit = 1;zs = 0;sk = 0;yu = 0;kb = 0;sd = 0;jl = 0;mxb = b1;dj1.clear();dj2.clear();while (g.size())g.pop();cout << "第" << ls << "局\n目前比分(p1 : p2):"<<win1<<" : "<<win2<<'\n';Sleep(1200);clr;while (1) {clr;srand(time(0));if (!yu) {
sc:;int k = rand() % 5 + 1;cout << "现在开始上道具!\n" << pl1 << "(p1)获得了:";for (int i = 1; i <= k; i++) {int t = rand() % 5;dj1.push_back(t);cout << dj[t] << ' ';Sleep(500);}cout << "\n现在" << pl1 << "(p1)拥有道具:\n";for (auto v : dj1) {cout << dj[v] << ' ';}cout << '\n';Sleep(1200);system("pause");clr;cout << pl2 << "(p2)获得了:";for (int i = 1; i <= k; i++) {int t = rand() % 5;dj2.push_back(t);cout << dj[t] << ' ';Sleep(500);}cout << "\n现在" << pl2 << "(p2)拥有道具:\n";for (auto v : dj2) {cout << dj[v] << ' ';}cout << '\n';Sleep(1200);system("pause");clr;kb = rand() % 6 + 1;sd = rand() % 6 + 1;yu = (kb + sd);int tk = kb, ts = sd;cout << "空包弹有:" << kb << " 实弹有:" << sd << '\n';cout << "装填子弹中......\n";srand(time(0));for (int i = 1; i <= yu; i++) {bool k = rand() % 2;if (k) {if (tk) {g.push(0);--tk;} else {g.push(1);--ts;}} else {if (ts) {g.push(1);--ts;} else {g.push(0);--tk;}}}Sleep(1200);}cout << "\n现在" << pl1 << "(p1)拥有道具:\n";for (auto v : dj1) {cout << dj[v] << ' ';}cout << "\n现在" << pl2 << "(p2)拥有道具:\n";for (auto v : dj2) {cout << dj[v] << ' ';}cout << "\n生命值(p1,p2):" << b1 << "," << b2 << "\n";cout << "空包弹有:" << kb << "发,实弹有:" << sd << "发\n";if (is1) {cout << "现在是" << pl1 << "(p1)的回合\n";
use1:;if (dj1.size()) {cout << "\n现在" << pl1 << "(p1)拥有道具:\n";int total = 0;for (auto v : dj1) {cout << (++total) << "号:" << dj[v] << "   ";}cout << "你要使用道具吗?(Y/N)\n";string t;
ques:;cin >> t;if (t.size() > 1) {cout << "请重新输入:";goto ques;}char q = t[0];q = toupper(q);if (q == 'Y') {cout << "\n请告诉我要使用道具在你拥有的的编号(从1开始;输入0代表不小心输错不使用道具):";int bh;string inp;
quesd1:;cin >> inp;if (inp.size() > 1) {cout << "不合法!\n请重新输入!";goto quesd1;}if (!isdigit(inp[0])) {cout << "不合法!\n请重新输入!";goto quesd1;}bh = inp[0] - 49;if (bh == -1)goto hit1;if (bh > dj1.size() - 1 || bh < 0) {cout << "不合法!\n请重新输入!";goto quesd1;} else {int tmp = dj1[bh];dj1.erase(dj1.begin() + bh);switch (tmp) {case 0: {fdj();break;}case 1: {if (b1 == mxb) {cout << "达到上限值,无法回复。";} else {++b1;cout << "你选择了华子!\n" << pl1 << "回复1点血量,现在他有" << b1 << "条生命值!";}Sleep(1500);break;}case 2: {if (hit == 2) {cout << "你在本回合已经使用了小刀,不能再使用了!将会新加小刀至末尾。\n";dj1.push_back(2);} else {hit = 2;cout << "你选择了小刀!这一回合将造成双倍伤害!\n";}Sleep(1500);break;}case 3: {drink();break;}case 4: {if (sk) {cout << "别人已经被铐起来了.....将把手铐移至末尾!\n";dj1.push_back(4);} else {sk = 1;jl = 0;cout << "你选择了手铐!下一回合敌人将无法移动!\n";}Sleep(1500);break;}}if (!yu) {goto sc;}goto use1;}} else if (q == 'N') {cout << "好的。";} else {cout << "请重新输入:";goto ques;}}
hit1:;cout << "你要打谁?(0:自己 1:另一名玩家):";string ht1;bool ht;cin>>ht1;if(ht1.size()>1||!isdigit(ht1[0])){cout<<"请重新输入!\n";goto hit1; }ht=(ht1[0]-48);int k = g.front();if (ht) {if (k) {cout << "当前是实弹!" << pl2 << "受到了" << hit << "点伤害!\n";dist(400);b2 -= hit;--sd;} else {cout << "很遗憾,当前是空包弹。\n";--kb;}} else {zs = 1;if (k) {cout << "哦豁,当前是实弹!" << pl1 << "受到了" << hit << "点伤害!\n";dist(400);b1 -= hit;--sd;} else {cout << "恭喜你,当前是空包弹!\n";--kb;}}g.pop();Sleep(1000);--yu;hit = 1;} else {cout << "现在是" << pl2 << "(p2)的回合\n";
use2:;if (dj2.size()) {char q;int total = 0;cout << "\n现在" << pl2 << "(p2)拥有道具:\n";for (auto v : dj2) {cout << (++total) << "号:" << dj[v] << "   ";}
ques2:;cout << "\n你要使用道具吗?(Y/N)\n";string t;cin >> t;if (t.size() > 1) {cout << "请重新输入:";goto ques2;}q = t[0];q = toupper(q);if (q == 'Y') {cout << "\n请告诉我要使用道具在你拥有的的编号(从1开始;输入0代表不小心输错不使用道具):";string inp;
quesd2:;cin >> inp;if (inp.size() > 1) {cout << "不合法!\n请重新输入!";goto quesd2;}if (!isdigit(inp[0])) {cout << "不合法!\n请重新输入!";goto quesd2;}int bh = inp[0] - 49;if (bh == -1) {goto hit2;}if (bh > dj2.size() - 1 || bh < 0) {cout << "不合法!\n请重新输入!";goto quesd2;} else {int tmp = dj2[bh];dj2.erase(dj2.begin() + bh);switch (tmp) {case 0: {fdj();break;}case 1: {if (b2 == mxb) {cout << "达到上限值,无法回复。";} else {++b2;cout << "你选择了华子!\n" << pl2 << "回复1点血量,现在他有" << b2 << "条生命值!";}Sleep(1500);break;}case 2: {if (hit == 2) {cout << "你在本回合已经使用了小刀,不能再使用了!将会新加小刀至末尾。\n";dj2.push_back(2);} else {hit = 2;cout << "你选择了小刀!这一回合将造成双倍伤害!\n";}Sleep(1500);break;}case 3: {drink();break;}case 4: {if (sk) {cout << "别人已经被铐起来了......将把手铐移至末尾!\n";dj2.push_back(4);} else {sk = 1;jl = 0;cout << "你选择了手铐!下一回合敌人将无法移动!\n";}Sleep(1500);break;}}if (!yu) {goto sc;}goto use2;}} else if (q == 'N') {cout << "好的。";} else {cout << "请重新输入:";goto ques2;}}
hit2:;cout << "你要打谁?(0:自己 1:另一名玩家):";string ht1;bool ht;cin >> ht1;if(ht1.size()>1 || !isdigit(ht1[0])){cout<<"请重新输入!\n";goto hit2;}ht=(ht1[0]-48);int k = g.front();if (ht) {if (k) {cout << "当前是实弹!" << pl1 << "受到了" << hit << "点伤害!\n";dist(400);b1 -= hit;--sd;} else {cout << "很遗憾,当前是空包弹。\n";--kb;}} else {zs = 1;if (k) {cout << "哦豁,当前是实弹!" << pl2 << "受到了" << hit << "点伤害!\n";dist(400);b2 -= hit;--sd;} else {cout << "恭喜你,当前是空包弹!\n";--kb;}}g.pop();Sleep(1000);--yu;hit = 1;}if (b1 <= 0) {clr;cout << pl2 << "赢了\n";++win2;over();goto start;}if (b2 <= 0) {clr;cout << pl1 << "赢了\n";++win1;over();goto start;}if (sk) {++jl;if (jl == 2) {sk = 0;jl = 0;}}if (!sk && !zs) {is1 = 1 - is1;}zs = 0;}return 0;
}

如果你的 Dev 说这个代码 CE,解决方案如下:

最顶上一栏的“工具” -> “编译选项” -> “编译时加入以下参数”

-std=c++14 -O2 -lm -static

如果还是 CE,并且提示的里面含有 -std=c++14 -O2 -lm -static,那么代表你的 Dev 版本过低,你需要下载 DevC++5.11 或 DevC++6.5(推荐下载 DevC++6.5)。

其他编译器(诸如 VSCode Codeblock)我不知道,反正你使用的是 c++14 及以上版本即可。

历代版本:

Alpha 1.2

Alpha 1.3

Alpha 1.4

Alpha 1.5

Alpha 1.6

Alpha 1.7

Alpha 1.8

Alpha 1.9

Alpha 1.10

Beta 1.0

Beta 1.1

Beta 1.2 很严重bug,修复中,请勿游玩

另外,我们也提供 Mod 玩法:

三国杀版本

  • 如果原版复刻出现了 bug,请私信 Igallta 或者给这个博客回复。

  • 如果Mod出现了 bug,请私信 _ayaka_ 或者给ta的博客回复。

  • 有 bug 一定要说!而且一定要说明确,比如某些同学只说手铐有问题,我也不知道你出现了什么问题,只知道手铐有问题,导致我 de 了半天一点问题都没看出来,也一头雾水。如果你自己非要钻牛角尖,输入个什么转义字符啊,ctrl啊…那些我们也没办法。就不要发出来了真要求改的话,你可以去找找 C/C++ 作者,和ta谈谈…

相关文章:

【小游戏】C++控制台版本俄罗斯轮盘赌

制作团队&#xff1a;洛谷813622&#xff08;Igallta&#xff09; 989571&#xff08;_ayaka_&#xff09; Mod&#xff1a;_ayaka_ 双人模式&#xff1a;Igallta 公告&#xff1a; 原先的9.8改名为 Alpha 1.0&#xff0c;以后每次更新都增加 0.1。 Alpha 1.11 改为 Beta 1…...

最新扣子(Coze)案例教程:全自动DeepSeek 写影评+批量生成 + 发布飞书,提效10 倍!手把手教学,完全免费教程

&#x1f468;‍&#x1f4bb;群里有同学是做影视赛道的博主&#xff0c;听说最近DeepSeek这么火&#xff0c;咨询能不能用DeepSeek写影评&#xff0c;并整理电影数据资料&#xff0c;自动发布到飞书文档&#xff0c;把每天的工作做成一个自动化的流程。 那今天斜杠君就为大家…...

Java集合框架之ArrayList解析

目录 一、ArrayList概述 二、优缺点分析 三、底层数据结构 四、源码分析ArrayList初始化容量 五、源码分析ArrayList扩容策略 六、ArrayList集合源码分析 1. 属性分析 2. 构造方法分析 无参构造方法 指定初始容量的构造方法 传入集合的构造方法 3. 添加元素 add(E…...

idea 2023.3.7常用插件

idea 2023.3.7常用插件 文档 idea 2019.3常用插件idea 2023.3.7常用插件 idea 2023.3.7常用插件 插件名称插件版本说明1AceJump3.5.9AceJump允许您快速将插入符号导航到编辑器中可见的任何位置。只需按“ctrl&#xff1b;”&#xff0c;键入一个字符&#xff0c;然后在Ace …...

IM聊天系统架构实现

一、IM系统整体架构 二、企业级IM系统如何实现心跳与断线重连机制&#xff1b; 1、重连机制&#xff08;服务端下线&#xff09; 服务端下线&#xff0c;客户端netty可以感知到&#xff0c;在感知的方法中进行重连的操作&#xff0c;注意重连可能连接到旧的服务器继续报错&…...

vue3可选链操作符(?.)

一、定义&#xff1a; 可选链操作符&#xff08;?.&#xff09;是 JavaScript 中的一个语法&#xff0c;用于安全地访问对象的属性&#xff0c;即使该对象为 null 或 undefined&#xff0c;也不会抛出错误&#xff0c;而是返回 undefined。 1、不使用可选链操作符&#xff1…...

科普:Docker run的相关事项

一、镜像名&#xff08;含标签&#xff09;太长 如&#xff0c;通过如下命令行&#xff1a; docker pull designthru2019/dify:56c6d1af0944dbdb5e0115cb623ff0e118a4ac62拉取的镜像名&#xff08;及标签&#xff09;太长&#xff0c;可以通过改名的方法变短。 在 Docker 中&…...

petalinux高版本设置自动登录和开机自启动配置

petalinux-config -c rootfs 依次选择 Image Features -> serial-autologin-root 这是配置 进来就是root权限 创建并安装名为 myapp-init 的新建应用程序 petalinux-create -t apps --template install -n myapp-init --enable 编辑 project-spec/meta-user/recipes-…...

算法刷题-哈希表的总结

什么时候用数组、什么时候用map呢&#xff1f; 经常会混淆。 混淆1&#xff1a;例如有时候题目可能要求在一大堆元素里找目标元素&#xff0c;要求不能利用用过的字母&#xff0c;这就会让我想到只包含一个键值的set或者是map&#xff0c;但实际上忽略了字母&#xff08;限定大…...

如何通过 Homebrew 安装 Qt 并配置环境变量

如何通过 Homebrew 安装 Qt 并配置环境变量 Qt 是一个跨平台的应用程序开发框架&#xff0c;广泛用于开发图形界面应用。本文将详细介绍如何在 macOS 上通过 Homebrew 安装 Qt 并配置环境变量&#xff0c;以便在终端和 Qt Creator 中使用 Qt 工具。 步骤 1&#xff1a;安装 Ho…...

RESTful 的特点与普通 Web API 的区别

RESTful 是一种设计风格&#xff0c;而不仅仅是普通的 Web API。它遵循一些特定的原则和约束&#xff0c;使得 API 更加简洁、可扩展和易于理解。以下是 RESTful 的特点&#xff0c;以及与普通 Web API 的区别&#xff1a; RESTful 的特点 1. 资源导向 RESTful API 的核心是资…...

Java和JavaScript当中的json对象和json字符串分别讲解

Java和JavaScript当中的json对象和json字符串分别讲解 一、Java当中的json对象和json字符串 在 Java 中&#xff0c;JSON 对象和 JSON 字符串有不同的表示和操作方式。 1. JSON 对象&#xff1a; 如果你使用的是 org.json 库&#xff0c;创建 JSON 对象的代码如下&#xff1…...

ARM64 Trust Firmware [四]

完成第二阶段 BL2 的操作后就加载并进入 BL31&#xff0c;BL31 位于 DRAM 中&#xff0c;EL3 模式。除了做架构初始化和平台初始化外&#xff0c;还做了如下工作&#xff1a; 基本硬件初始化&#xff0c;比如 GIC&#xff0c;串口&#xff0c;timer 等&#xff1b;PSCI 服务的…...

CHARMM-GUI EnzyDocker: 一个基于网络的用于酶中多个反应状态的蛋白质 - 配体对接的计算平台

❝ "CHARMM-GUI EnzyDocker for Protein−Ligand Docking of Multiple Reactive States along a Reaction Coordinate in Enzymes"介绍了 CHARMM-GUI EnzyDocker&#xff0c;这是一个基于网络的计算平台&#xff0c;旨在简化和加速 EnzyDock 对接模拟的设置过程&…...

Sklearn常用算法及建模流程总结

Scikit-learn&#xff08;简称 Sklearn&#xff09;是 Python 中最流行的机器学习库之一&#xff0c;提供了丰富的算法和工具用于数据预处理、模型训练、评估和调优。下面整理了一些常用算法及建模流程&#xff0c;供大家参考学习。 1.常用算法分类 1. 监督学习&#xff08;S…...

华为IPD简介

创作灵感 现在“熟悉华为IPD”经常出现在高级招聘岗位能力要求上&#xff0c;于是作者写下此文章以此巩固相关知识储备 名词解释 华为IPD&#xff08;Integrated Product Development&#xff0c;集成产品开发&#xff09;是华为引入并优化的一套产品开发管理体系&#xff0…...

【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑰】

ISO 14229-1:2023 UDS诊断【ECU复位0x11服务】_TestCase17 作者&#xff1a;车端域控测试工程师 更新日期&#xff1a;2025年02月19日 关键词&#xff1a;UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 TC11-017测试用例 用例ID测试场景验证要点参考条款预期结果TC…...

html网络安全工具源码 网络安全前端

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 前端常见的网络安全包括&#xff1a;xss&#xff08;跨站脚本攻击&#xff09;、csrf&#xff08;跨站请求伪造&#xff09;、sql注入攻击等。 1&#xff09;跨站…...

广西壮族自治区园区投促中心党委书记陶德文率团到访深兰科技

2月16日&#xff0c;广西壮族自治区园区投促中心党委书记、主任&#xff0c;自治区园区办党组成员陶德文率团来到深兰科技集团上海总部考察调研&#xff0c;并与深兰科技集团创始人、董事长陈海波等集团管理层座谈交流&#xff0c;双方围绕深兰科技人工智能项目落地广西的相关事…...

vue3创建项目

vue3创建项目 在 Vue 3 中创建项目通常涉及到使用 Vue CLI 或者 Vite。 Vue CLI 是官方推荐的脚手架工具&#xff0c;而 Vite 是近年来非常流行的现代前端开发工具&#xff0c;它提供了更快的热模块更新&#xff08;HMR&#xff09;和优化的开发服务器。 一、使用 Vue CLI 创…...

MySQL5.7 创建用户并授予超管权限脚本

记录MySQL5.7 创建新用户并授予超管权限脚本 用户与密码可任意设置 创建用户并设置密码 CREATE USER zhangsan % identified by 123456oo;修改用户密码 UPDATE USER set authentication_stringpassword("Abc123!") where user"zhangsan ";授予用户超管权…...

ESP32鼠标驱动(ble hid device_demo)【ESP32指向鼠标】

ESP32鼠标驱动(ble hid device_demo)【ESP32指向鼠标】 我使用的vscode开发esp32&#xff0c;用的是ESP-IDF v5.12固件&#xff0c;其提供了很多例程&#xff0c;在搜索里面输入“ESP-IDF: Show Examples Projects”&#xff0c;便可看到例程&#xff0c;如下图所示&#xff0…...

CSDN文章质量分查询系统【赠python爬虫、提分攻略】

CSDN文章质量分查询系统 https://www.csdn.net/qc 点击链接-----> CSDN文章质量分查询系统 <------点击链接 点击链接-----> https://www.csdn.net/qc <------点击链接 点击链接-----> CSDN文章质量分查询系统 <------点击链接 点击链…...

vscode远程报错:Remote host key has changed,...

重装了Ubuntu系统之后&#xff0c;由20.04改为22.04&#xff0c;再用vscode远程&#xff0c;就出现了以上报错。 亲测有效的办法 gedit ~/.ssh/known_hosts 打开这个配置文件 删掉与之匹配的那一行&#xff0c;不知道删哪一行的话&#xff0c;就打开第一行这个 /.ssh/confi…...

【核心算法篇一】《DeepSeek视觉引擎:YOLOv8模型迁移实战》

某天深夜,算法工程师小王在办公室突然跳起来大喊:"mAP从0.91降到0.87了!"整个团队瞬间惊醒——这是正在将YOLOv8迁移到智能质检产线时遭遇的惊魂时刻。本文将以DeepSeek视觉引擎的实战经验,带你穿越模型迁移的雷区,揭秘工业级落地的核心技巧。(文末附完整训练参…...

如何在 ConstraintLayout 中将 ViewPager 始终置于 ll_title 的下方

关于如何在 ConstraintLayout 中将 ViewPager 始终置于 ll_title标题栏 的下方。。 如何将 ViewPager 始终置于 ll_title 下方 在 ConstraintLayout 中&#xff0c;可以通过约束来实现 ViewPager 始终位于 ll_title 标题栏的下方。以下是修改后的布局代码&#xff1a; <?…...

docker 安装 Rabbitmq 详解

在平常的开发工作中&#xff0c;我们经常会使用到 rabbitmq&#xff0c;rabbitmq 主要可以进行应用解耦、异步通信、流量削峰、负载均衡、消息持久化、死信队列等。比如商城系统&#xff0c;下单后&#xff0c;通过消息队列通知库存系统、积分系统、物流系统等。发送短信时通过…...

51单片机学习之旅——在LCD1602上显示时钟

新建工程 打开软件 LCD1602模块代码添加 因为我们在LCD1602上显示时钟&#xff0c;因此我们需要添加LCD1602的模块代码 跳转到这条博客51单片机学习之旅——模块化编程集_51单片机ruminant-CSDN博客&#xff0c;复制相关代码跳转到这条博客51单片机学习之旅——模块化编程集…...

pytest asyncio 支持插件 pytest-asyncio

pytest 是 Python 测试框架&#xff0c;但其不支持基于 asyncio 的异步程序&#xff08;例如&#xff0c;测试 FastAPI 异步代码&#xff09;&#xff0c;pytest-asyncio 是一个 pytest 插件&#xff0c;该插件赋予 pytest 可以测试使用 asyncio 库代码的能力。 https://github…...

全平台搭载旭日5!科沃斯GOAT智能割草机器人全新系列正式开售

要闻 近日&#xff0c;科沃斯全新发布的GOAT A Series 和 GOAT O Series割草机器人&#xff0c;将在多国市场正式上市发售。作为业界最强的割草机器人产品之一&#xff0c;GOAT致力为割草机带来基于机器人视觉的专业定位解决方案。科沃斯GOAT全新系列产品全平台搭载地瓜机器人…...

“深入浅出”系列之C++:(8)libevent 库

libevent 是一个开源的高性能事件通知库&#xff0c;它为处理异步 I/O 事件提供了一个通用的接口。该库采用事件驱动的编程模型&#xff0c;允许开发者在多个 I/O 源&#xff08;如套接字、文件描述符等&#xff09;上监听事件&#xff0c;并在事件发生时执行相应的回调函数。l…...

备战蓝桥杯 Day4 差分

差分(修改区间后查询) 1.要点 a[0]0; for(int i1;i<n;i){diff[i]a[i]-a[i-1];//构建差分数组 } //原数组a区间[l,r]全部加上x diff[l]x;//还原a数组[l,n]全部加上x diff[r1]-x;//还原a数组[r1,n]全部减去x for(int i1;i<n;i){a[i]a[i-1]diff[i]; }实现多次修改完后多次…...

一个前端,如何同时联调多个后端

文章目录 场景解决方案思路实现步骤创建项目目标前端配置安装cross-env配置vue.config.js配置package.json 测试 场景 一个前端&#xff0c;需要同时和N个后端联调 一个需求里有若干个模块&#xff0c;分别给不同的后端开发&#xff0c;前端需要和N个后端联调 本地开启一个端…...

Scrapy:DownloaderAwarePriorityQueue队列设计详解

DownloaderAwarePriorityQueue 学习笔记 1. 简介 DownloaderAwarePriorityQueue 是 Scrapy 中一个高级的优先级队列实现&#xff0c;它不仅考虑请求的优先级&#xff0c;还会考虑下载器的负载情况。这个队列为每个域名&#xff08;slot&#xff09;维护独立的优先级队列&#…...

GoFound 与 MySQL 集成优化方案

GoFound 与 MySQL 集成优化方案 1. 明确需求 文章信息存储在 MySQL 数据库中。使用 GoFound 实现全文搜索功能。搜索时&#xff0c;先从 GoFound 中获取匹配的文章 ID&#xff0c;然后从 MySQL 中查询完整的文章信息。 2. 优化思路 数据同步&#xff1a;将 MySQL 中的文章数…...

Unity 打开摄像头 并显示在UI

需求: 打开相机并显示在UI上 效果: 注意&#xff1a; 电脑可能有多个摄像头&#xff0c;注意名称 代码: using System; using System.Linq; using UnityEngine; using UnityEngine.UI; using System.Collections.Generic; #if UNITY_EDITOR using UnityEditor; #endifname…...

PostgreSQL的学习心得和知识总结(一百六十九)|深入理解PostgreSQL数据库之 Group By 键值消除 的使用和实现

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…...

Word中接入大模型教程

前言 为什么要在word中接入大模型呢&#xff1f; 个人觉得最大的意义就是不用来回切换与复制粘贴了吧。 今天分享一下昨天实践的在word中接入大模型的教程。 在word中接入大模型最简单的方式就是使用vba。 vba代码要做的事&#xff0c;拆分一下就是&#xff1a; 获取用户…...

Vue前端开发-Vant介绍,安装部署

Vant 是有赞前端团队开源的移动端组件库&#xff0c;适用于手机端的页面&#xff0c;它体积轻量&#xff0c;Vant组件的平均体积仅有8.8KB&#xff0c;压缩后只有1KB;除体积轻量外&#xff0c;可定制又是它的另外一个特点&#xff0c;它不仅提供基础的UI组件&#xff0c;还提供…...

Linux中线程创建,线程退出,线程接合

线程的简单了解 之前我们了解过 task_struct 是用于描述进程的核心数据结构。它包含了一个进程的所有重要信息&#xff0c;并且在进程的生命周期内保持更新。我们想要获取进程相关信息往往从这里得到。 在Linux中&#xff0c;线程的实现方式与进程类似&#xff0c;每个线程都…...

教学资料档案管理系统

本系统构建 JAVA 体系的后端系统&#xff0c;围绕以安全&#xff0c;可靠&#xff0c;高速&#xff0c;健壮&#xff0c;易于扩展为目标的方向进行开发&#xff0c;在阿里等开源库的基础上实现提供教学资料档案的管理系统的后端接口的微服务架构系统。 功能包含&#xff1a;系…...

《Stable Diffusion绘画完全指南:从入门到精通的Prompt设计艺术》-配套代码示例

第一章&#xff1a;模型加载与基础生成 1.1 基础模型加载 from diffusers import StableDiffusionPipeline import torch# 加载SD 1.5基础模型&#xff08;FP32精度&#xff09; pipe StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5",…...

代码随想录算法【Day50】

Day50 图的基础知识 图的种类&#xff1a;有向图&#xff0c;无向图&#xff0c;带权值的图 度 有多少条边连接这个节点就是几度 出度&#xff1a;从该节点指到别的节点的边 入度&#xff1a;与“出度”相反 连通性 一般在无向图中研究 连通图&#xff1a;任何一个节点都…...

禁止WPS强制打开PDF文件

原文网址&#xff1a;禁止WPS强制打开PDF文件_IT利刃出鞘的博客-CSDN博客 简介 本文介绍如何避免WPS强制打开PDF文件。 方法 1.删除注册表里.pdf的WPS绑定 WinR&#xff0c;输入&#xff1a;regedit&#xff0c;回车。找到&#xff1a;HKEY_CLASSES_ROOT\.pdf删除KWPS.PDF…...

DeepSeek R1生成图片总结2(虽然本身是不能直接生成图片,但是可以想办法利用别的工具一起实现)

DeepSeek官网 目前阶段&#xff0c;DeepSeek R1是不能直接生成图片的&#xff0c;但可以通过优化文本后转换为SVG或HTML代码&#xff0c;再保存为图片。另外&#xff0c;Janus-Pro是DeepSeek的多模态模型&#xff0c;支持文生图&#xff0c;但需要本地部署或者使用第三方工具。…...

深入解析NoSQL数据库:从文档存储到图数据库的全场景实践

title: 深入解析NoSQL数据库:从文档存储到图数据库的全场景实践 date: 2025/2/19 updated: 2025/2/19 author: cmdragon excerpt: 通过电商、社交网络、物联网等12个行业场景,结合MongoDB聚合管道、Redis Stream实时处理、Cassandra SSTable存储引擎、Neo4j路径遍历算法等42…...

大模型WebUI:Gradio全解11——使用transformers.agents构建Gradio UI(3)

大模型WebUI&#xff1a;Gradio全解11——使用transformers.agents构建Gradio UI&#xff08;3&#xff09; 前言本篇摘要11. 使用transformers.agents构建Gradio UI11.3 创建和使用工具Tools11.3.1 默认工具箱与load_tool11.3.2 创建新工具11.3.3 管理代理的工具箱toolbox11.3…...

Mybatis-Plus的使用

1. MyBatis-Plus介绍 MyBatis-Plus(简称 MP)是⼀个MyBatis的增强⼯具,在MyBatis的基础上只做增强不做改变,为简化开 发.提⾼效率⽽⽣ 特性: • 润物⽆声:只做增强不做改变&#xff0c;引⼊它不会对现有⼯程产⽣影响&#xff0c;如丝般顺滑. • 效率⾄上:只需简单配置&#…...

基于YOLO11深度学习的心脏超声图像间隔壁检测分割与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...

什么是神经网络?

0 前言 神经网络是一种人工智能方法&#xff0c;用于教计算机以受人脑启发的方式处理数据。这是一种机器学习过程&#xff0c;称为深度学习&#xff0c;它使用类似于人脑的分层结构中的互连节点或神经元。它可以创建自适应系统&#xff0c;计算机使用该系统来从错误中进行学习…...