C++版iwanna1
第一篇目录
- 开头
- 程序
- Game.cpp源文件
- Player.h头文件
- Player.cpp源文件
- trigger.h头文件
- trigger.cpp源文件
- Cmp.h头文件
- Cmp.cpp源文件
开头
大家好,我叫这是我58。
程序
Game.cpp源文件
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <cstring>
#include <fstream>
#include <cstdio>
#include "Player.h"
#include "trigger.h"
using namespace std;
void deadset(int (*deadarr)[3], fstream& fs) {int i = 0;for (; i < 3; i++) {fs >> (*deadarr)[i];fs.flush();}
}
void printstart() {cout << "***** * * * *** * * * * *** *** *** ***** *** ***** * * ***** \033[32;1m* * *** * *\033[0m" << endl;cout << " * * * * * * ** * ** * * * * * * * * * * * * * \033[32;1m * * * * *\033[0m " << endl;cout << " * * * * ***** * * * * * * ***** * ** * * * * * * ***** ***** \033[32;1m* ***\033[0m " << endl;cout << " * * * * * * ** * ** * * * * * * * * * * * * * \033[32;1m* *\033[0m " << endl;cout << "***** * * * * * * * * * * *** *** * *** * * * ***** \033[32;1m***\033[0m " << endl;
}
int main() {system("title I WANNA GO TO THE \"G\"");char strmap[22][22] = {'G',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','X','X','X',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','#',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*','X','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*','*','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','S',' ','X','X','X','X','X','X','X','X','X','X','X','*','*','*','X','X','X','X','X','X','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ','S','*','*','*','*','*','*','*','*','*',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ','*',' ',' ','X',' ',' ',' ',' ',' ',' ','*','X','*',' ',' ',' ',' ',' ','*',' ',' ',' ',' ','G',' ',' ',' ',' ','X',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ',' ','*','*','*','*','*','*','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*',' ',' ','X',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','*','*','*','*','*',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','X','X',' ',' ',' ',' ',' ',' ',' ','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','X',' ',' ',' ','*','*','*','*',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','X',' ',' ',' ','X',' ','*',' ',' ',' ',' ',' ',' ',' ','X','X','*','X','X','X',' ','X','X','X',' ','X','X','X','*','X','X','X','X','X','X',};char strmapr[22][22] = { 0 };memcpy(strmapr, strmap, sizeof strmap);Player p;char ch = 0;int itrap = -1;int ishoot = 0;int ibsv = 0;fstream fs("s.txt", ios::in);fs.flush();if ((!fs.is_open()) || fs.eof()) {fs.close();fs.open("s.txt", ios::out);fs << "0 0 0 0";fs.close();fs.open("s.txt", ios::in);}bool barr[3] = { 0 };fs >> ibsv;for (ch = 0; ch < 3; ch++) {barr[ch] = (ibsv & (1 << ch));}trigger t[22] = { trigger(20,3,20,3,0), trigger(16,5,16,6,1),trigger(19,12,20,12,2),trigger(17,13,17,13,3),trigger(17,15,17,16,3),trigger(14,14,14,15,3),trigger(13,16,13,17,3),trigger(15,18,15,19,3),trigger(11,20,11,21,4),trigger(0,16,9,16,6),trigger(8,11,9,13,7),trigger(4,5,7,9,8),trigger(9,6,9,8,9),trigger(3,1,3,3,10),trigger(11,1,11,1,11),trigger(11,3,11,3,12),trigger(13,1,14,1,13),trigger(13,7,15,8,14),trigger(15,11,17,11,15),trigger(16,12,17,12,16),trigger(21,13,21,13,17),trigger(11,8,11,8,18) };printstart();cout << endl << endl << endl << endl << endl << endl << endl << "\t\t\t\t\t ";system("pause");system("cls");printstart();cout << endl << " \033[31;1m********\033[0m \033[33m********\033[0m \033[32;1m********\033[0m" << endl;cout << " \033[31;1m* SAVE 1 *\033[0m \033[33m* SAVE 2 *\033[0m \033[32;1m* SAVE 3 *\033[0m" << endl;cout << " \033[31;1m********\033[0m \033[33m********\033[0m \033[32;1m********\033[0m" << endl << endl;cout << "游戏内:a左走 d右走 w二段跳,空中一段 z\033[33m存档\033[0m/射弹 r重开 \033[31;1m“X”死\033[0m “*”墙 \033[31;1m“#”按钮\033[0m,\033[32;1m射就触发机关\033[0m \033[33m“S”存档\033[0m \033[32;1m“G”终点\033[0m" << endl << "开始界面:1~3选择要玩的存档 d删存档" << endl << endl << endl;cin >> ch;int deadarr[3] = { 0 };deadset(&deadarr, fs);while (ch < '1' || ch > '3') {while (rewind(stdin), (ch < '1' || ch > '3') && 'd' != ch) {cout << "\033[31;1m输入错误,请重新输入\033[0m" << endl << endl;cin >> ch;if (ch >= '1' && ch <= '3') {goto g;}}cout << "\033[31;1m请输入要删除的存档编号(输入错误就不删除存档)\033[0m" << endl << endl;cin >> ch;if (rewind(stdin), ch < '1' || ch > '3') {cout << "\033[31;1m输入错误,不删除存档\033[0m" << endl << endl;cin >> ch;continue;}int index = ch - 1 - '0';(ibsv & (1 << index)) && (ibsv -= (1 << index));barr[index] = 0;fs.close();fs.open("s.txt", ios::trunc | ios::out);deadarr[index] = 0;fs << ibsv;for (int i = 0; i < 3; i++) {fs << " " << deadarr[i];}fs.flush();cout << "\033[32m删除成功!\033[0m" << endl << endl;cin >> ch;}g:int barri = (--ch -= '0');system("cls");char* cp = (t[0].saveset(barr[barri]) ? &strmap[9][20] : &strmap[21][0]);*cp = 'P';fs << (char)(ibsv + '0');fs.close();while ('G' == strmap[0][0]) {char str[100] = "title I WANNA GO TO THE \"G\" : 似亡 * ";char stra[100] = "";sprintf(stra, "%d", deadarr[barri]);strcat(str, stra);system(str);' ' == strmap[9][20] && (strmap[9][20] = 'S');' ' == strmap[11][21] && (strmap[11][21] = 'S');p.sgetxy(X) = (cp - &strmap[0][0]) / 22;p.sgetxy(Y) = (cp - &strmap[0][0]) % 22;p.printmap(strmap);cin >> ch;rewind(stdin);*cp = ' ';switch (ch) {case 'a':p.left_move(&cp);break;case 'd':p.right_move(&cp);break;case 'w':p.Djump(&cp);break;case 'z':p.shoot(ishoot, &cp);break;case 'r':p.reset(&cp, &strmap, &strmapr, &t, deadarr[barri]);break;default:break;}for (int i = 0; i < 22; i++) {t[i].check(p.sgetxy(X), p.sgetxy(Y), &strmap, &strmapr, p, itrap, &cp, ch, &t, deadarr[barri]);}itrap > 0 && itrap--, !itrap && (strmap[14][5] = ' ', strmap[15][5] = 'X');p.upOrDown(&cp);p.shootmove(&strmap, barri, ibsv);p.rejump(&cp);if ('X' == *cp) {p.gameover(&cp, &strmap, &strmapr, &t, deadarr[barri]);}*cp = 'P';ishoot > 0 && ishoot--;system("cls");fs.open("s.txt", ios::trunc | ios::out);fs << (char)(ibsv + '0');for (int i = 0; i < 3; i++) {sprintf(str, "%d", deadarr[i]);fs << " " << str;}fs.close();}system("color 0A");cout << "恭喜你,你赢了,似了" << deadarr[barri] << "次" << endl;fs.close();return 0;
}
Player.h头文件
#pragma once
#include <iostream>
#include <vector>
#include "trigger.h"
using namespace std;
#define JUMPHIGH 3
enum XY {X,Y,
};
struct trir {char* cp;bool b;int iy;
};
class Player {
private:int ix;int iy;int ijh;int ij;bool blr;vector<trir> v;
public:friend class trigger;Player();void printmap(const char strmap[22][22]);void Djump(char** cpp);void left_move(char** cpp);void right_move(char** cpp);int& sgetxy(XY xymode);void upOrDown(char** cpp);void gameover(char** cpp, char(*strmap)[22][22], const char(*strmapr)[22][22], trigger(*tarr)[22], int& idead);void reset(char** cpp, char(*strmap)[22][22], const char(*strmapr)[22][22], trigger(*tarr)[22], int& idead);void rejump(char** cp);void shoot(int& i, char** cpp);void shootmove(const char (*strmap)[22][22], int barri, int& ibsv);
};
Player.cpp源文件
#include <iostream>
#include <algorithm>
#include <cstring>
#include <fstream>
#include "trigger.h"
#include "Player.h"
#include "Cmp.h"
using namespace std;
Player::Player(){ij = 2;ijh = 0;blr = 1;
}
bool MSB = false;
bool MSBa = false;
bool MSBb = false;
bool MSBc = false;
bool MSv = false;
void Player::printmap(const char strmap[22][22]) {int i = 0;int ia = 0;for (; i < 22; i++) {for (ia = 0; ia < 22; ia++) {cout << "\033[" << ('G' == strmap[i][ia] ? "32;1m" : 'X' == strmap[i][ia] ? "31;1m" : '#' == strmap[i][ia] ? trigger::MSB ? "32;1m" : "31;1m" : 'S' == strmap[i][ia] ? ((!trigger::MSv) || 21 == ia) ? "33m" : "33;1m" : '@' == strmap[i][ia] ? "33m" : "0m") << strmap[i][ia] << "\033[0m";}cout << "|" << endl;}cout << "----------------------@" << endl;
}
void Player::Djump(char** cpp) {switch (ij) {case 2:((21 == ix || '*' == (*cpp)[22] || '#' == (*cpp)[22]) && (ij = 1, ijh = JUMPHIGH), (21 != ix && '*' != (*cpp)[22] && '#' != (*cpp)[22]) && (ij = 0, ijh = JUMPHIGH));break;case 1:((21 == ix || '*' == (*cpp)[22] || '#' == (*cpp)[22]) && (ij = 2), (21 != ix && '*' != (*cpp)[22] && '#' != (*cpp)[22]) && (ij = 0, ijh = JUMPHIGH));break;default:rejump(cpp);((21 == ix || '*' == (*cpp)[22] || '#' == (*cpp)[22]) && (ij = 1, ijh = JUMPHIGH), (21 != ix && '*' != (*cpp)[22] && '#' != (*cpp)[22]) && (ij = 0));break;}
}
void Player::left_move(char** cpp) {(iy && '*' != *(*cpp - 1) && '#' != *(*cpp - 1) && ((*cpp)--));blr = false;
}
void Player::right_move(char** cpp) {21 != iy && '*' != *(*cpp + 1) && '#' != *(*cpp + 1) && ((*cpp)++);blr = true;
}
int& Player::sgetxy(XY xymode) {return xymode ? iy : ix;
}
void Player::upOrDown(char** cpp) {if (ijh > 0 && ix && '*' != (*cpp)[-22] && '#' != (*cpp)[-22]) {ijh--, *cpp -= 22;}else if ('*' != (*cpp)[22] && '#' != (*cpp)[22] && (!ix || '*' == (*cpp)[-22] || '#' == (*cpp)[-22])) {ijh = 0, *cpp += 22;}else if ('*' != (*cpp)[22] && '#' != (*cpp)[22] && 21 != ix) {*cpp += 22;}
}
void Player::gameover(char** cpp, char (*strmap)[22][22], const char (*strmapr)[22][22], trigger(*tarr)[22], int& idead) {char ch = 0;system("cls");' ' == (*strmap)[9][20] && ((*strmap)[9][20] = 'S');printmap(*strmap);cout << "\033[31;1m游戏结束 请按r键重新开始\033[0m" << endl;while (ch - 'r') {cin >> ch;rewind(stdin);system("cls");if (ch - 'r') {printmap(*strmap);cout << "\033[31;1m游戏结束 请按r键重新开始\033[0m" << endl;}}reset(cpp, strmap, strmapr, tarr, idead);
}
void Player::reset(char** cpp, char(*strmap)[22][22], const char(*strmapr)[22][22], trigger(*tarr)[22], int& idead) {idead++;trigger::MSv && (*cpp = &((*strmap)[9][20]), ix = 9, iy = 20), trigger::MSv || (*cpp = &((*strmap)[21][0]), ix = 21, iy = 0);trigger::MSB = false;MSBa = false;MSBb = false;MSBc = false;blr = true;int i = 0;memcpy(*strmap, *strmapr, sizeof(*strmapr));for (; i < 22; i++) {(*tarr)[i].MBt = false;}v.clear();rejump(cpp);
}
void Player::rejump(char** cpp) {(21 == ix || '*' == (*cpp)[22]) && (ij = 2);
}
void Player::shoot(int& i, char** cpp) {if ((!i) && (iy && blr || 21 != iy && (!blr))) {v.push_back({*cpp, blr, iy});i = 3;}
}
void Player::shootmove(const char(*strmap)[22][22], int barri, int& ibsv) {for (vector<trir>::iterator it = v.begin();v.end()!=it;it++) {(' ' == *it->cp || '@' == *it->cp) && (*it->cp = ' ');'#' == *it->cp && (trigger::MSB = true);if (&((*strmap)[9][20]) == it->cp) {trigger::MSv = true;(!(ibsv & (1 << barri))) && (ibsv += (1 << barri));}if ('*' == *it->cp || '#' == *it->cp || (!it->iy && (!it->b)) || (21 == it->iy && it->b)) {it->iy = -1;}if (0 <= it->iy) {it->cp -= (1 - it->b * 2);it->iy -= (1 - it->b * 2);(' ' == *it->cp || '@' == *it->cp) && (*it->cp = '@');}}sort(v.begin(), v.end(), cmp());while ((!v.empty()) && 0 > v.begin()->iy) {v.erase(v.begin());}
}
trigger.h头文件
#pragma once
#include <iostream>
#include "Player.h"
using namespace std;
class trigger {
private:int MISX;int MISY;int MIEX;int MIEY;int Mtrig;bool MBt;static bool MSB;static bool MSBa;static bool MSBb;static bool MSBc;static bool MSv;
public:friend class Player;trigger(int istartx, int istarty, int iendx, int iendy, int trig) :MISY(istarty), MIEX(iendx), MIEY(iendy), MISX(istartx), Mtrig(trig), MBt(false) {}void check(int ix, int iy, char(*strmap)[22][22], const char(*strmapr)[22][22], Player& p, int& ii, char** cpp, char ch, trigger(*tarr)[22], int& idead);bool saveset(bool b);
};
trigger.cpp源文件
#include <iostream>
#include "trigger.h"
#include <string>
#include "Player.h"
using namespace std;
bool trigger::MSB = false;
bool trigger::MSBa = false;
bool trigger::MSBb = false;
bool trigger::MSBc = false;
bool trigger::MSv = false;
void trigger::check(int ix, int iy, char (*strmap)[22][22], const char (*strmapr)[22][22],Player& p, int& ii, char** cpp, char ch, trigger(*tarr)[22], int& idead) {int i = 0;if (MISX <= ix && ix <= MIEX && MISY <= iy && iy <= MIEY && (Mtrig - 4 && Mtrig - 8 && Mtrig - 16 && Mtrig - 18 ? (!MBt) : 1)) {switch (MBt = true, Mtrig) {case 0:(*strmap)[21][3] = 'X';p.gameover(cpp, strmap, strmapr, tarr, idead);break;case 1:for (i = 16; i < 21; i++) {(*strmap)[i][6] = 'X';}break;case 2:for (i = 18; i < 22; i++) {if ('X' == (*strmap)[i][13]) {(*strmap)[i][13] = ' ';}else {(*strmap)[i][13] = 'X';}}break;case 3:for (i = MISX; i <= MIEX; i++) {for (int ia = MISY; ia <= MIEY; ia++) {(*strmap)[i][ia] = 'X';}}p.gameover(cpp, strmap, strmapr, tarr, idead);break;case 4:if ('z' == ch) { (*strmap)[13][19] = 'L';(*strmap)[13][20] = 'O';(*strmap)[13][21] = 'L';p.gameover(cpp, strmap, strmapr, tarr, idead);}break;case 6:if (!MSB) {for (i = 0; i < 10; i++) {(*strmap)[i][15] = 'X';}}break;case 7:for (i = 8; i < 10; i++) {(*strmap)[i][10] = '*';(*strmap)[i][14] = '*';}for (; i < 15; i++) {(*strmap)[7][i] = '*';}break;case 8:((!MSBa) && '*' == (*cpp)[22]) && ((*cpp)[22] = 'X');break;case 9:MSBa = true;for (i = 6; i < 9; i++) {(*strmap)[10][i] = '*';}break;case 10:for (i = 1; i < 4; i++) {(*strmap)[4][i] = '*';}break;case 11:{ string str = "LOL LOL"; char* cpa = &((*strmap)[11][2]);char* cpb = &(str[0]);for (i = 0; i < 7; i++, cpa++, cpb++) {*cpa = *cpb;}MSBb = true;}break;case 12:(*strmap)[11][0] = 'G';(*strmap)[14][0] = ' ';break;case 13:(*strmap)[11][0] = 'G';(*strmap)[13][0] = ' ';(*strmap)[13][5] = 'X';(*strmap)[13][2] = ' ';(*strmap)[15][5] = '*';for (i = 16; i < 21; i++) {(*strmap)[i][0] = 'L';(*strmap)[i][1] = 'O';(*strmap)[i][2] = 'L';}break;case 14:ii = 10;break;case 15:MSBc = true;for (i = 10; i < 13; i++) {(*strmap)[14][i] = 'X';}(*strmap)[13][10] = '*';for (i = 0; i < 11; i++) {(*strmap)[10][i] = '*';}if (*cpp == &((*strmap)[14][12])) {p.gameover(cpp, strmap, strmapr, tarr, idead);}break;case 16:if (MSBc) {(*strmap)[14][10] = ' ';(*strmap)[14][11] = ' ';'*' == (*cpp)[22] && ((*cpp)[22] = 'X');}break;case 17:(*strmap)[21][13] = 'X';break;case 18:if (MSBb) {*cpp = &((*strmap)[11][7]);(*strmap)[11][8] = '*';MSBb = false;}break;default:break;}}
}
bool trigger::saveset(bool b) {MSv = b;return MSv;
}
Cmp.h头文件
#pragma once
#include <iostream>
#include <vector>
#include "Player.h"
using namespace std;
class cmp {
public:bool operator()(trir t, trir ta);
};
Cmp.cpp源文件
#include <iostream>
#include <vector>
#include "Cmp.h"
#include "Player.h"
using namespace std;
bool cmp::operator()(trir t, trir ta) {return t.iy < ta.iy;
}
C++版iwanna2
相关文章:

C++版iwanna1
第一篇目录 开头程序Game.cpp源文件Player.h头文件Player.cpp源文件trigger.h头文件trigger.cpp源文件Cmp.h头文件Cmp.cpp源文件 开头 大家好,我叫这是我58。 程序 Game.cpp源文件 #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <c…...

LSTM变种模型
一、GRU 1.概念 GRU(门控循环单元,Gated Recurrent Unit)是一种循环神经网络(RNN)的变体,旨在解决标准 RNN 在处理长期依赖关系时遇到的梯度消失问题。GRU 通过引入门控机制简化了 LSTM(长短期…...

Python进阶--函数进阶
目录 1. 函数多返回值 2. 函数多种传参方式 (1). 位置参数 (2). 关键字参数 (3). 缺省参数 (4). 不定长参数 3. 匿名函数 (1). 函数作为参数传递 (2). lambda匿名函数 1. 函数多返回值 def return_num():return 1# 返回1之后就不会再向下继续执行函数体return 2 resu…...

elasticsearch 8.2 设置账号密码
背景:单节点集群数据写入测试-CSDN博客 前述项目支持设置账号密码,但8+版本似乎不能那么做了。 ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch. bootstrap check failure [1] of…...

JavaScript代码如何测试?
测试JavaScript代码是确保其功能、性能和可靠性的关键步骤。以下是一些详细的步骤和方法,用于测试JavaScript代码: 1、编写测试用例 首先,你需要为要测试的JavaScript代码编写测试用例。这些用例应该涵盖代码的各种功能和场景,包…...

案例分享—国外ui设计优秀案例
国外企业更注重用户体验设计,倾向于简洁清晰的设计风格,以提高用户的使用体验和操作效率。他们注重“简约至上”的设计理念,认为简洁的设计可以减少用户的认知负担,提高用户的工作效率。 设计师在界面设计中往往更加注重创意性和个…...

在JavaScript中,改变this指向的call,apply,bind有什么区别,原理分别是什么?
在JavaScript中,call、apply和bind方法都是用来改变函数执行时this指向的。 以下通过一个Demo帮助理解,代码如下: var obj {name: lisi,sayHello: function() {console.log(this.name)} } obj.sayHello()// lisifunction sayHello() {conso…...

Redis 缓存策略详解:提升性能的四种常见模式
在现代分布式系统中,缓存是提升性能和减轻数据库负载的关键组件。Redis 作为一种高性能的内存数据库,被广泛应用于缓存层。本文将深入探讨几种常用的 Redis 缓存策略,包括旁路缓存模式(Cache-Aside Pattern)、读穿透模…...

怎么建设网站吸引并留住客户
如何建设网站吸引并留住客户 在当今数字化时代,网站是企业与客户沟通的重要桥梁。一个设计精良、功能完备的网站不仅能吸引客户的注意,还能有效留住他们。以下是一些建设网站的关键策略。 **1. 用户体验优先** 网站的整体用户体验(UX&#x…...

培训行业为什么要搭建自己的知识付费小程序平台?集师知识付费系统 集师知识付费小程序 集师知识服务系统 集师线上培训系统 集师线上卖课小程序
在当今这个信息爆炸的时代,培训行业正面临前所未有的变革与挑战。传统的线下授课模式虽然经典,但在互联网技术的冲击下,其局限性日益凸显。为了更好地适应市场需求,提升服务效率与用户体验,培训行业亟需搭建自己的知识…...

Linux:Linux进程概念
✨✨✨学习的道路很枯燥,希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一 冯诺依曼体系结构 二 操作系统(Operator System) 2.1 概念 2.2 设计OS的目的 编辑 2.3 OS如何进行管理 编辑2.4 总结 三 进程的标示符 3.1 基本概念…...

专题九_递归_算法专题详细总结
目录 递归 1.什么是递归? 2.为什么会用到递归? 3.如何理解递归? 1.递归展开的细节图 2.二叉树中的题目 3.宏观看待递归的过程 1) 不要在意细节的展开图 2) 把递归的函数当作一个黑盒 3) 相信这个黑盒一定能够完成这个任务 4.如何写…...

性能赶超GPT-4!多模态检索最新成果刷爆SOTA!顶会思路确定不学?
关注各大顶会的同学们都知道,今年多模态相关的主题可谓是火爆非常,有许多突破性成果被提出,比如最新的多模态检索增强框架MORE,生成性能猛超GPT-4! 再比如多模态检索模型MARVEL,在所有基准上实现SOTA&…...

基于 Qwen2.5-0.5B 微调训练 Ner 命名实体识别任务
一、Qwen2.5 & 数据集 Qwen2.5 是 Qwen 大型语言模型的最新系列,参数范围从 0.5B 到 72B 不等。 对比 Qwen2 最新的 Qwen2.5 进行了以下改进: 知识明显增加,并且大大提高了编码和数学能力。在指令跟随、生成长文本(超过 8K…...

16【Protues51单片机仿真】智能洗衣机倒计时系统
目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 用直流电机转动模拟洗衣机。要求 有弱洗、普通洗、强洗三种模式,可通过按键选择。可以设置洗衣时长,通关按键选择15、30、45、60、90分钟。时间到蜂鸣器报警提示。LCD 显示…...

爱心曲线公式大全
local r a*((math.sin(angle) * math.sqrt(math.abs(math.cos(angle)))) / (math.sin(angle) 1.4142) - 2 * math.sin(angle) 2) local x r * math.cos(angle) -- 计算对应的x值 local z r * math.sin(angle) 1.5*a - --曲线公式绘画 local function generateParabola()…...

新书速览|你好,C++
《你好,C》 本书内容 《你好,C》主要介绍C开发环境的搭建、基础语法知识、面向对象编程思想以及标准模板库的应用,特别针对初学者在学习C过程中可能遇到的难点提供了解决方案。全书共分13章,以一个工资程序的不断优化和完善为线索…...

ufw:Linux网络防火墙
一、命令简介 ufw(Uncomplicated Firewall)是一个为 Linux 系统提供简单易用的命令行界面的防火墙管理工具。它是基于 iptables 的,但提供了更简洁的语法和更直观的操作方式,使得配置防火墙变得更加简单,特别适…...

[C++]使用纯opencv部署yolov11-cls图像分类onnx模型
【算法介绍】 在C中使用纯OpenCV部署YOLOv11-cls图像分类ONNX模型是一项具有挑战性的任务,因为YOLOv11通常是用PyTorch等深度学习框架实现的,而OpenCV本身并不直接支持加载和运行PyTorch模型。然而,可以通过一些间接的方法来实现这一目标&am…...

如何使用Immersity AI将图片转换成3D效果视频
随着技术的进步,图片处理变得越来越强大和直观。借助Immersity AI这样的工具,我们现在可以轻松地将平面图片转换成3D效果视频。以下是如何使用Immersity AI进行这一转换的详细步骤。 第一步:访问Immersity AI网站 首先,打开你的…...

安全运营 -- GPO审计
0x00 背景 审计GPO,目的是审计哪些GPO权限分配不合理,包括但不限于审计预期以外的用户具有对GPO的写权限。 0x01 开启审核 在一台windows服务器上 开始 -- 运行 -- 输入 server manager 依次点击Manage -- Add Roles and Features Wizard 角色和功能…...

thinkphp6入门(25)-- 分组查询 GROUP_CONCAT
假设表名为 user_courses,字段为 user_id 和 course_name,存储每个用户选修的课程,想查询每个学生选修的所有课程 SQL 原生查询 SELECT user_id, GROUP_CONCAT(course_name) as courses FROM user_courses GROUP BY user_id; ThinkPHP 代码…...

小米 MIX FOLD工程固件 更换字库修复分区 资源预览与刷写说明
小米 MIX FOLD机型代号 :cetus 该手机搭载骁龙888旗舰处理器 。对于一些因为字库问题损坏导致的故障,更换字库后要先刷写对应的工程底层修复固件。绑定cpu后在写入miui量产固件。 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此…...

Flutter全局统一自定义导航栏返回按钮
Flutter全局统一自定义导航栏返回按钮 在Flutter开发中,导航栏(AppBar)是用户界面的重要组成部分,它不仅提供了页面标题,还可能包含返回按钮、导航按钮等。默认情况下,每个Scaffold的AppBar都会包含一个返…...

微信图片的超能力:5大隐秘功能揭秘,让你成为信息处理大师
在数字化时代,微信已成为我们日常生活中不可或缺的通讯工具。 它不仅仅是聊天的平台,更是一个功能强大的信息处理工具。 今天,我们将揭秘微信中图片背后的五大隐秘功能,让你在使用微信时更加得心应手,成为信息处理的…...

python实现RC4加解密算法
RC4算法 一、算法介绍1.1 背景1.2 密钥调度算法(KSA)1.3 伪随机生成算法(PRGA) 二、代码实现三、演示效果 一、算法介绍 1.1 背景 RC4算法是由Ron Rivest在1987年为RSA数据安全公司设计的一种流密码算法,其安全性主要依赖于其密钥流的随机性和不可预测性。该算法因…...

BLE MESH学习2——自定义MESH网络架构思考
BLE MESH学习2——自定义MESH网络架构思考 基于对WCH CH582这款单片机的了解,其可以实现mesh配网、朋友节点、低功耗节点和中继节点的角色,基本功能无问题。在此基础上,考虑满足IoT需求的MESH架构设计,作为后续设计的“白皮书”。…...

路由器的工作机制
在一个家庭或者一个公司中 路由器的作用主要有两个(①路由–决定了数据包从来源到目的地的路径 通过映射表决定 ②转送–通过路由器知道了映射表 就可以将数据包从路由器的输入端转移给合适的输出端) 我们可以画一张图来分析一下: 我们好好来解析一下这张图&#x…...

Studying-多线程学习Part3 - condition_variable与其使用场景、C++11实现跨平台线程池
来源:多线程学习 目录 condition_variable与其使用场景 生产者与消费者模型 C11实现跨平台线程池 condition_variable与其使用场景 生产者与消费者模型 生产者-消费者模式是一种经典的多线程设计模式,用于解决多个线程之间的数据共享和协作问题。…...

开发自定义starter
环境:Spring Cloud Gateway 需求:防止用户绕过网关直接访问服务器,用户只需引入依赖即可。 1、创建项目 首先创建一个spring boot项目 2、配置pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xm…...