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

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

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

相关文章

什么是数据编织

What Is Data Fabric? 【dataCamp】 What Is Data Fabric? Data fabric is a unified data architecture that connects disparate data sources, simplifying access and management while ensuring consistency and security across the entire data landscape. Data Fa…

【设计模式】设计模式介绍和常见设计模式代码示例

文章目录 设计模式分类创建型模式结构型模式行为型模式 设计模式详解单例模式&#xff08;Singleton Pattern&#xff09;懒汉模式饿汉模式 工厂模式&#xff08;Factory Pattern&#xff09;简单工厂模式工厂方法模式抽象工厂模式 装饰模式&#xff08;Decorator Pattern&…

设计模式的学习

OO:Object-Oriented 面向对象 --- 《Head First设计模式》 这本书是用java写的&#xff0c;我是写C的&#xff0c;用C来写相关的代码 --- p2&#xff08;第二页&#xff09; #ifndef DUCK_H #define DUCK_H/*** brief The Duck class 鸭子类*/ class Duck { public:D…

No.8 笔记 | SQL 查询语句:数据探索的钥匙

2024/10/7 心记 - 致在路上默默奋斗的你 在当今数字化的时代&#xff0c;网络安全已成为我们生活中不可或缺的一部分。它如同守护数字世界的隐形盾牌&#xff0c;保护着我们的隐私、数据和整个社会的稳定运行。 学习网络安全&#xff0c;是踏上一段充满挑战与机遇的征程。 每一…

软件设计师(软考学习)

数据库技术 数据库基础知识 1. 数据库中的简单属性、多值属性、复合属性、派生属性简单属性&#xff1a;指不能够再分解成更小部分的属性&#xff0c;通常是数据表中的一个列。例如学生表中的“学号”、“姓名”等均为简单属性。 多值属性&#xff1a;指一个属性可以有多个值…

【网络原理】面试高频考点!!TCP协议“三次握手,四次挥手”,保姆级详解,建议收藏!

&#x1f490;个人主页&#xff1a;初晴~ &#x1f4da;相关专栏&#xff1a;计算机网络那些事 通过上篇文章&#xff0c;我们可以得知TCP通过 “确认应答” 和 “超时重传”机制相辅相成&#xff0c;共同构建了 TCP的“可靠传输机制”。而为了保障建立通信和断开通信的可靠性…

解决磁盘负载不均——ElasticSearch 分片分配和路由设置

ES 分片分配&#xff08;Shard Allocation&#xff09;时间点&#xff1a; 初始恢复&#xff08;Initial Recovery&#xff09;副本分配&#xff08;Replica Allocation&#xff09;重平衡&#xff08;Rebalance&#xff09;节点添加或移除 小结&#xff1a; 准备移除节点时&a…

CAN转WiFi模块在仓库系统中应用

CAN转WiFi模块在仓库系统中应用 我们的LCWLAN设备在实际使用中以裸板的形式放在客户的智能总线控制器中&#xff0c;客户的智能总线刀片灯&#xff0c;柔性灯货架&#xff0c;柔性感应钢网柜以及智能电子料架等设备都是接到总线控制器中&#xff0c;然后总控制器通过CAN总线和…

Qt-QSpacerItem布局相关控件(45)

目录 描述 属性 使用 控件小结 描述 使⽤布局管理器的时候,可能需要在控件之间,添加⼀段空⽩.就可以使⽤ QSpacerItem 来表⽰ 属性 width宽度height⾼度hData⽔平⽅向的 sizePolicy • QSizePolicy::Ignored : 忽略控件的尺⼨&#xff0c;不对布局产⽣影响。 • QSizePol…

免费高可用软件

高可用软件是指那些能够提供高可用性、高可靠性的软件&#xff0c;它们在各种应用场景下都能确保系统的稳定运行。以下是四款免费的高可用软件&#xff0c;它们在不同领域都表现出色&#xff0c;能够满足各种高可用性需求。 一、PanguHA PanguHA是一款专为Windows平台设计的双…

贪心算法c++

贪心算法C概述 一、贪心算法的基本概念 贪心算法&#xff08;Greedy Algorithm&#xff09;&#xff0c;又名贪婪法&#xff0c;是一种解决优化问题的常用算法。其基本思想是在问题的每个决策阶段&#xff0c;都选择当前看起来最优的选择&#xff0c;即贪心地做出局部最优的决…

网络通信——OSPF协议(基础篇)

这里基础是因为没有讲解OSPF中的具体算法过程&#xff0c;以及其中很多小细节。后续会更新。 目录 一.OSPF的基础信息 二.认识OSPF中的Router ID 三.OSPF中的三张表 四.OSPF中的度量方法&#xff08;计算开销值&#xff09; 五. OSPF选举DR和BDR&#xff08;就是这个区域…

音视频入门基础:FLV专题(9)——Script Tag简介

一、SCRIPTDATA 根据《video_file_format_spec_v10_1.pdf》第75页到76页&#xff0c;如果某个Tag的Tag header中的TagType值为18&#xff0c;表示该Tag为Script Tag&#xff08;脚本Tag&#xff0c;又称Data Tag、SCRIPTDATA tag&#xff09;。这时如果Filter的值不为1表示未加…

【Android】Jetpack组件之LifeCycle

引言 Lifecycle组件是Android Jetpack架构组件之一&#xff0c;它提供了一种方法来管理Android组件&#xff08;如Activity、Fragment和服务&#xff09;的生命周期。Lifecycle组件帮助你执行与生命周期相关联的操作&#xff0c;确保在适当的时间发生适当的事情&#xff0c;例…

深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)

前言 前几天在看论文&#xff0c;打算复现&#xff0c;论文用到了LSTM&#xff0c;故这一篇文章是小编学LSTM模型的学习笔记&#xff1b;LSTM感觉很复杂&#xff0c;但是结合代码构建神经网络&#xff0c;又感觉还行&#xff1b;本次学习的案例数据来源于GitHub&#xff0c;在…

越差越好?为什么简单反而赢了,这背后究竟有什么秘诀?

你有没有发现,软件界里那些最成功的产品,往往并不是最复杂、最强大的?我们用的很多东西,看起来功能普通,甚至有些粗糙,但就是这样简陋的设计,反而成了市场上的赢家。 也许你玩过Flappy Bird这个游戏:它的设计非常简单,玩家只需要点击屏幕让小鸟飞行,避开管道障碍。游…

Llama 3.2 智能代理开发教程

构建研究代理可能很复杂&#xff0c;但使用 LangChain 和 Ollama&#xff0c;它会变得更加简单和模块化。 在本教程中&#xff0c;我们将向你展示如何基于Llama 3.2创建一个研究代理&#xff0c;该代理可以路由查询、执行网络搜索并使用工作流和 LLM 的组合生成详细响应。最后…

出栈入栈次序匹配

学习栈的过程中&#xff0c;我们一定见过下面两题&#xff0c;在当时我们可能费尽心思才找出不可能的一个出栈序列&#xff0c;但是如果进栈元素很多&#xff0c;那么找出出栈序列时4&#xff0c;头发就要掉光了&#xff01;那么我们是否可以实现一串代码&#xff0c;来帮助我们…

MySQL 篇-深入了解视图、SQL 优化(主键优化、order by 优化、group by 优化、update 优化等)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 SQL 优化 1.1 SQL 优化 - 插入数据 1.2 SQL 优化 - 主键优化 1.2.1 页分裂 1.2.2 页合并 1.2.3 主键设计原则 1.3 SQL 优化 - order by 优化 1.3.1 单字段排序 1.…