C++版iwanna2

news2024/10/9 1:07:19

第二篇目录

  • 程序的流程图
  • 程序游玩的效果
  • 下一篇博客要说的东西

程序的流程图

Game.cpp
把有22行22列的二维字符数组strmap初始化为下面的图片
开始
把宏_CRT_SECURE_NO_WARNINGS定义为1
导入io流
导入cstring头文件
导入fstream文件
导入cstdio头文件
导入Player.h头文件
导入trigger.h头文件
释放std作用域下的所有东西
定义deadset函数
定义printstart函数
把窗口标题设为“I WANNA GO TO THE ''G''”

Game.cpp源文件
等待玩家按下任意一个键,按下后就清屏
清屏
break
清屏
break
break
break
break
否(break)
continue
否(清屏)
结束
把有22行22列的二维字符数组strmapr里的元素全都初始化为0
把二维字符数组strmap里的元素全都拷贝到二维字符数组strmap的里面去
创建一个Player对象p
定义字符ch为0
定义整型itrap为-1
定义整型ishoot为0
定义整型ibsv为0
创建一个fstream文件对象fs,用读模式的来打开s.txt这个文件
刷新fstream文件对象fs的文件内容
(!fs.is_open()) || fs.eof()?
释放fstream文件对象fs
把fs用写模式打开s.txt这个文件
往fstream文件对象fs输出“0 0 0 0”
释放fstream文件对象fs
把fs用读模式打开s.txt这个文件
把有3个元素的布尔数组barr里的元素全都初始化为0
把ibsv设为从fstream文件对象fs读取到的内容
设ch为0
ch < 3?
把布尔数组barr的第ch项设为ibsv按位与1按位向左移动ch的值的结果
ch自增1
把有22个元素的trigger对象数组分别初始化为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函数
输出“\​n\​n\​n\​n\​n\​n\​​n\​t\​t\​t\​t\​t ”
输出“\​n \​033[31;1m********\​033[0m \​033[33m********\​033[0m \​033[32;1m********\​033[0m\​n”
输出“ \​033[31;1m* SAVE 1 *\​033[0m \​033[33m* SAVE 2 *\​033[0m \​033[32;1m* SAVE 3 *\​033[0m\​n”
输出“ \​033[31;1m********\​033[0m \​033[33m********\​033[0m \​033[32;1m********\​033[0m\​n\​n”
输出“游戏内: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\​n开始界面:1~3选择要玩的存档 d删存档\​n\​n\​n”
把ch设为你输入的字符
把有2个元素的整型数组deadarr里的元素全都初始化为0
执行deadset函数,参数有整型数组deadarr的地址和fstream文件对象fs的引用
ch < '1' || ch > '3'?
清空缓冲区
(ch < '1' || ch > '3') && 'd' != ch?
输出“\​033[31;1m输入错误,请重新输入\​033[0m\​n\​n”
把ch设为你输入的字符
ch >= '1' && ch <= '3'
转到标签g
标签g
定义barri为ch自减1之后又自减字符“0”的ASCII码值的结果
如果trigger对象数组t的第0项的方法返回的值不为0,那么就定义字符指针cp为二维字符数组strmap的9行第20列的元素的地址,否则就定义字符指针cp为二维字符数组strmap的21行第0列的元素的地址
把解引用的cp设为字符“P”
往fstream对象fs输出ibsv加上字符“0”的ASCII码值的结果,并将结果以字符型输出
释放fstream文件对象fs
'G' == strmap[0][0]?
把有100个字符的字符串str初始化为“title I WANNA GO TO THE ''G'' : 似亡 * ”
把有100个字符的字符串stra初始化为空字符串
设字符串stra为整型数组deadarr的第barri项的元素转向字符串的结果
把字符串str连接上字符串str
执行系统命令,命令为字符串str
' ' == strmap[9][20]?
把二维字符数组strmap第9行第20列的元素设为字符“S”
' ' == strmap[11][21]?
把二维字符数组strmap第11行第21列的元素设为字符“S”
把Player对象p的方法sgetxy,参数有枚举XY的值X返回的引用设为字符指针cp与二维字符数组strmap第0行第0列的地址之间的元素个数除以22的结果
把Player对象p的方法sgetxy,参数有枚举XY的值Y返回的引用设为字符指针cp与二维字符数组strmap第0行第0列的地址之间的元素个数模上22的结果
执行Player对象p的方法printmap,参数有二维字符数组strmap
把ch设为你输入的字符
清空缓冲区
把解引用的cp设为空格
'a' == ch?
执行Player对象p的方法left_move,参数有字符指针cp的地址
定义整型i为0
i < 22?
执行trigger对象数组t的第i项的方法check,参数有Player对象p的方法sgetxy,参数有枚举XY的值X返回的引用,Player对象p的方法sgetxy,参数有枚举XY的值Y返回的引用,二维字符数组strmap的地址,二维字符数组strmapr的地址,Player对象p的引用,整型itrap的引用,字符指针cp的地址,字符ch,trigger对象数组t的地址和整型数组deadarr的第i项的元素的引用
i自增1
itrap > 0?
itrap自减1
!itrap?
把二维字符数组strmap的14行第5列的元素设为空格
把二维字符数组strmap第15行第5列的元素设为字符“X”
执行Player对象p的方法upOrDown,参数有字符指针cp的地址
执行Player对象p的方法shootmove,参数有二维字符数组strmap的地址,整型barri和整型ibsv的引用
执行Player对象p的方法rejump,参数有字符指针cp的地址
'X' == *cp?
执行Player对象p的方法gameover,参数有字符指针cp的地址,二维字符数组strmap的地址,二维字符数组strmapr的地址,对象trigger数组t的地址和整型数组deadarr的第i项的元素的引用
设布尔数组barr的第index项为0
ishoot > 0?
ishoot自减1
先清除s.txt这个文件的内容,再把fstream对象fs用写模式打开s.txt这个文件
往fstream对象fs输出ibsv加上字符“0”的ASCII码值的结果,并将结果以字符型输出
定义整型i为0
i < 3?
设字符串stra为整型数组deadarr的第barri项的元素转向字符串的结果
往fstream文件对象fs输出空格和字符串str
i自增1
释放fstream文件对象fs
把背景色设为黑色,前景色设为淡绿色
输出“恭喜你,你赢了,似了”,整型数组deadarr的第i项的元素和“次\​n”
释放fstream文件对象fs
'd' == ch?
执行Player对象p的方法right_move,参数有字符指针cp的地址
'w' == ch?
执行Player对象p的方法Djump,参数有字符指针cp的地址
'z' == ch?
执行Player对象p的方法shoot,参数有整型ishoot和字符指针cp的地址
'r' == ch?
执行Player对象p的方法reset,参数有字符指针cp的地址,二维字符数组strmap的地址,二维字符数组strmapr的地址,trigger对象数组t的地址和整型数组deadarr第i项的元素的引用
输出“\​033[31;1m请输入要删除的存档编号(输入错误就不删除存档)\​033[0m\​n\​n”
把ch设为你输入的字符
清空缓冲区
ch < '1' || ch > '3'?
输出“\​033[31;1m输入错误,不删除存档\​033[0m\​n\​n”
把ch设为你输入的字符
定义整型index为字符ch减去1再减去字符“0”的ASCII码值的结果
ibsv & (1 << index)?
把ibsv自减1按位左移index位的结果
释放fstream文件对象fs
先清除s.txt这个文件的内容,再把fstream对象fs用写模式打开s.txt这个文件
设整型数组deadarr的第index项为0
往fstream文件对象fs输出ibsv
定义整型i为0
i < 3?
往fstream文件对象fs输出空格和整型数组deadarr第i项的元素
输出“\​033[32m删除成功!\​033[0m\​n\​n”
刷新fstream文件对象fs
把ch设为你输入的字符
Game.cpp源文件里的printstart函数
结束
开始
输出“***** * * * *** * * * * *** *** *** ***** *** ***** * * ***** \​033[32;1m* * *** * *\​033[0m\​n”
输出“ * * * * * * ** * ** * * * * * * * * * * * * * \​033[32;1m * * * * *\​033[0m \​n”
输出“ * * * * ***** * * * * * * ***** * ** * * * * * * ***** ***** \​033[32;1m* ***\​033[0m \​n”
输出“ * * * * * * ** * ** * * * * * * * * * * * * * \​033[32;1m* *\​033[0m \​n”
输出“***** * * * * * * * * * * *** *** * *** * * * ***** \​033[32;1m***\​033[0m \​n”
Game.cpp源文件里的deadset函数
结束
开始
定义整型i为0
i < 3?
把解引用之后的整型数组指针deadarr的第i项设为从fstream文件对象fs中读取到的内容
刷新fstream文件对象fs
i自增1
Player.h头文件
结束
开始
防止头文件重复定义
导入io流
导入vector文件
导入trigger.h头文件
释放std作用域下的所有东西
定义宏JUMPHIGH为3
定义枚举XY,其中X为0,Y为1
定义结构体trir,有字符指针cp,有布尔值b,还有整型iy
定义类Player,并与类trigger作为友元,公开的有Player类的构造函数,printmap方法,Djump方法,left_move方法,left_move方法,right_move方法,sgetxy方法,upOrdown方法,gameover方法,reset方法,rejump方法,shoot方法和shootmove方法;私密的有整型ix,整型iy,整型ijh,整型ij,布尔值blr和里面的元素类型为结构体trir的vector容器v
Player.cpp源文件
结束
开始
导入io流
导入algorithm文件
导入cstring头文件
导入fstream文件
导入trigger.h头文件
导入Player.h头文件
导入Cmp.h头文件
释放std作用域下的所有东西
定义Player的构造函数
定义布尔型的MSB为假
定义布尔型的MSBa为假
定义布尔型的MSBb为假
定义布尔型的MSBc为假
定义布尔型的MSv为假
定义printmap方法
定义Djump方法
定义left_move方法
定义right_move方法
定义sgetxy方法
定义upOrDown方法
定义gameover方法
定义reset方法
定义rejump方法
定义shoot方法
定义shootmove方法
Player的构造函数
结束
开始
把ij设为2
把ijh设为0
把blr设为1
Player类里的printmap方法
结束
开始
定义整型i为0
定义整型ia为0
i < 22?
设ia为0
ia < 22?
前面输出“\​033[”,如果“G”为二维字符数组strmap第i行第ia列的元素,那么中间就输出“32;1m”,否则如果“X”为二维字符数组strmap第i行第ia列的元素,那么中间就输出“31;1m”,否则如果“#”为二维字符数组strmap第i行第ia列的元素,那么如果trigger类里的MSB不为0,那么中间就输出“32;1m”,否则中间就输出“31;1m”,如果“#”不为二维字符数组strmap第i行第ia列的元素,那么如果“S”为二维字符数组strmap第i行第ia列的元素,那么如果trigger类里的MSB为0,或者ia为21,那么中间就输出“33m”,否则中间就输出“33;1m”,如果“S”不为二维字符数组strmap第i行第ia列的元素,那么如果“@”为二维字符数组strmap第i行第ia列的元素,那么中间就输出“33m”,否则中间就输出“0m”,后面则输出二维字符数组strmap第i行第ia列的元素和“\​033[0m”
ia自增1
输出“|\​n”
i自0增1
输出“----------------------@\​n”
Player类里的Djump方法
break
break
break
否(break)
否(break)
否(break)
结束
开始
2 == ij?
21 == ix || '*' == (*cpp)[22] || '#' == (*cpp)[22]?
设ij为1
设ijh为宏JUMPHIGH的值
21 != ix && '*' != (*cpp)[22] && '#' != (*cpp)[22]?
设ij为0
设ijh为宏JUMPHIGH的值
1 == ij?
21 == ix || '*' == (*cpp)[22] || '#' == (*cpp)[22]?
设ij为2
21 != ix && '*' != (*cpp)[22] && '#' != (*cpp)[22]?
设ij为0
设ijh为宏JUMPHIGH的值
执行Player类里的rejump函数,参数有二级字符指针cpp
21 == ix || '*' == (*cpp)[22] || '#' == (*cpp)[22]?
设ij为1
设ijh为宏JUMPHIGH的值
21 != ix && '*' != (*cpp)[22] && '#' != (*cpp)[22]?
设ij为0
Player类里的left_move方法
结束
开始
iy && '*' != *(*cpp - 1) && '#' != *(*cpp - 1)?
把解引用的cpp向左移动一位
设blr为假
Player类里的right_move方法
结束
开始
21 != iy && '*' != *(*cpp + 1) && '#' != *(*cpp + 1)?
把解引用的cpp向右移动一位
设blr为真
Player类里的sgetxy方法
如果xymode不为0,那么就返回类Player里边的iy的引用,否则就返回类Player里边的ix的引用
结束
开始
Player类里的upOrdown方法
结束
开始
ijh > 0 && ix && '*' != (*cpp)[-22] && '#' != (*cpp)[-22]?
ijh自减1
把解引用的cpp向左移动22位
'*' != (*cpp)[22] && '#' != (*cpp)[22] && (!ix || '*' == (*cpp)[-22] || '#' == (*cpp)[-22])?
设ijh为0
把解引用的cpp向右移动22位
'*' != (*cpp)[22] && '#' != (*cpp)[22] && 21 != ix?
把解引用的cpp向右移动22位
Player类里的gameover方法
清屏
清屏
结束
开始
定义字符ch为0
' ' == (*strmap)[9][20]?
把解引用的二维字符数组指针strmap的第9行第20列的元素设为字符“S”
执行Player类里的printmap函数,参数有解引用的二维字符数组指针strmap
输出“\​033[31;1m游戏结束 请按r键重新开始\​033[0m\​n”
ch - 'r'?
把ch设为你输入的字符
清空缓冲区
ch - 'r'?
执行Player类里的printmap函数,参数有解引用的二维字符数组指针strmap
输出“\​033[31;1m游戏结束 请按r键重新开始\​033[0m\​n”
执行Player类里的reset函数,参数有二级字符指针cpp,二维字符数组指针strmap,二维字符数组指针strmapr,trigger对象数组t的地址tarr和整型引用idead
Player类里的reset方法
结束
开始
idead自增1
trigger::MSv?
把解引用的cpp设为解引用的二维字符数组指针strmap第9行第20列的元素的地址
设ix为9
设iy为20
trigger::MSv?
设trigger类里边的MSB为假
设MSBa为假
设MSBb为假
设MSBc为假
设blr为真
定义整型i为0
把解引用的二维字符数组指针strmapr里的元素全身是你都拷贝到解引用的二维字符数组指针strmap的里面去
i < 22?
把解引用的trigger对象数组指针tarr的第i项的成员变量MBt设为假
i自增1
清除vector容器v里的所有元素
执行Player里的rejump函数,参数有二级字符指针cpp
把解引用的cpp设为解引用的二维字符数组指针strmap第21行第0列的元素的地址
设ix为21
设iy为0
Player类里的rejump方法
结束
开始
21 == ix || '*' == (*cpp)[22]?
设ij为2
Player类里的shoot方法
结束
开始
(!i) && (21 != iy && blr || iy && (!blr))?
往vector容器的尾端添加一个结构体trir,里面有二级字符指针cpp,布尔型blr和整型iy
设i为3
Player类里的shootmove方法
结束
开始
定义里面的元素类型为结构体trir的vector容器的迭代器it为vector容器v的起始迭代器
v.end() != it?
' ' == *it->cp || '@' == *it->cp?
把解引用的迭代器it指向的字符指针cp设为空格
'#' == *it->cp?
把trigger类里边的MSB设为真
&((*strmap)[9][20]) == it->cp?
把trigger类里边的MSv设为真
!(ibsv & (1 << barri))?
把ibsv自增1按位左移barri位的结果
'*' == *it->cp || '#' == *it->cp || (!it->iy && (!it->b)) || (21 == it->iy && it->b)?
把迭代器it指向的it设为-1
0 <= it->iy?
把it指向的cp自减1减去it指向的b乘2的积的差
把it指向的iy自减1减去it指向的b乘2的积的差
' ' == *it->cp || '@' == *it->cp?
把解引用的it指向的cp设为字符“@”
把it向右移动一位
对vector容器v里的所有元素进行排序,排序方法为按这些元素的iy的值进行升序排序
(!v.empty()) && 0 > v.begin()->iy?
删除vector容器v的头端元素
trigger.h头文件
结束
开始
导入io流
导入Player.h头文件
释放std作用域下的所有东西
定义类trigger,并与类Player作为友元,私有的有整型MISX,整型MISY,整型MIEX,整型MIEY,整型Mtrig,布尔型MBt,静态布尔型MSB,静态布尔型MSBa,静态布尔型MSBb,静态布尔型MSBc和静态布尔型MSv;公开的有trigger类的有参构造函数,用来初始化私有的整型MISX,整型MISY,整型MIEX,整型MIEY和整型Mtrig,其中,布尔型MBt初始化为假,check方法和saveset方法
trigger.cpp源文件
结束
开始
导入io流
导入string文件
导入Player.h头文件
释放std作用域下的所有东西
定义布尔型的trigger类里的MSB为假
定义布尔型的trigger类里的MSBa为假
定义布尔型的trigger类里的MSBb为假
定义布尔型的trigger类里的MSBc为假
定义布尔型的trigger类里的MSv为假
定义check方法
定义saveset方法
trigger类里的check方法
break
否(break)
否(break)
break
break
否(break)
否(break)
否(break)
否(break)
break
否(break)
否(break)
否(break)
break
break
break
break
break
否(break)
否(break)
break
否(break)
break
break
否(break)
否(break)
结束
开始
定义整型i为0
MISX <= ix && ix <= MIEX && MISY <= iy && iy <= MIEY && (Mtrig - 4 && Mtrig - 8 && Mtrig - 16 && Mtrig - 18 ? (!MBt) : 1)?
设MBt为真
0 == Mtrig?
把解引用的strmap第21行第3列的元素设为字符“X”
执行Player对象引用p的方法gameover,参数有二级字符指针cpp,二维字符数组指针strmap,二维字符数组指针strmapr,trigger对象数组指针tarr和整型引用idead
1 == Mtrig?
设i为16
i < 21?
把解引用的strmap的第i行第6列的元素设为字符“X”
i自增1
2 == Mtrig?
设i为18
i < 22?
'X' == (*strmap)[i][13]?
把解引用的strmap的第i行第13列的元素设为空格
i自增1
把解引用的strmap的第i行第13列的元素设为字符“X”
3 == Mtrig?
设i为MISX
i <= MIEX?
定义ia为MISY
ia <= MISY?
把解引用的strmap的第i行第13列的元素设为字符“X”
ia自增1
i自增1
执行Player对象引用p的方法gameover,参数有二级字符指针cpp,二维字符数组指针strmap,二维字符数组指针strmapr,trigger对象数组指针tarr和整型引用idead
4 == Mtrig?
'z' == ch?
把解引用的strmap的第13行第19列的元素设为字符“L”
把解引用的strmap的第13行第20列的元素设为字符“O”
把解引用的strmap的第13行第21列的元素设为字符“L”
执行Player对象引用p的方法gameover,参数有二级字符指针cpp,二维字符数组指针strmap,二维字符数组指针strmapr,trigger对象数组指针tarr和整型引用idead
6 == Mtrig?
!MSB?
设i为0
i < 10?
把解引用的strmap的第i行第15列的元素设为字符“X”
i自增1
7 == Mtrig?
设i为8
i < 10?
把解引用的strmap的第i行第10列的元素设为字符“*”
把解引用的strmap的第i行第14列的元素设为字符“*”
i自增1
i < 15?
8 == Mtrig?
i自增1
(!MSBa) && '*' == (*cpp)[22]?
9 == Mtrig?
设MSBa为真
设i为6
i < 9?
把解引用的strmap的第10行第i列的元素设为字符“*”
i自增1
10 == Mtrig?
设i为1
i < 4?
把解引用的strmap的第4行第i列的元素设为字符“*”
i自增1
11 == Mtrig?
把string字符串str初始化成“LOL LOL”
定义字符指针cpa为解引用的strmap的第11行第2列的元素地址
定义字符指针cpb为string字符串第0项的地址
设i为0
i < 7?
把解引用的cpa设为解引用的cpb
i自增1
把cpa向右移动一位
把cpb向右移动一位
设MSBb为真
12 == Mtrig?
把解引用的strmap的第11行第0列的元素设为字符“G”
把解引用的strmap的第14行第0列的元素设为空格
13 == Mtrig?
把解引用的strmap的第11行第0列的元素设为字符“G”
把解引用的strmap的第13行第0列的元素设为空格
把解引用的strmap的第13行第5列的元素设为字符“X”
把解引用的strmap的第13行第2列的元素设为空格
把解引用的strmap的第15行第5列的元素设为字符“*”
设i为16
i < 21?
把解引用的strmap的第i行第0列的元素设为字符“L”
把解引用的strmap的第i行第1列的元素设为字符“O”
把解引用的strmap的第i行第2列的元素设为字符“L”
i自增1
14 == Mtrig?
设ii为10
15 == Mtrig?
设MSBc为真
设i为10
i < 13?
把解引用的strmap的第14行第i列的元素设为字符“X”
i自增1
把解引用的strmap的第13行第100列的元素设为字符“*”
设i为0
i < 11?
把解引用的strmap的第10行第i列的元素设为字符“*”
i自增1
*cpp == &((*strmap)[14][12])?
执行Player对象引用p的方法gameover,参数有二级字符指针cpp,二维字符数组指针strmap,二维字符数组指针strmapr,trigger对象数组指针tarr和整型引用idead
'*' == (*cpp)[22]?
16 == Mtrig?
MSBc?
把解引用的strmap的第14行第10列的元素设为空格
把解引用的strmap的第14行第11列的元素设为空格
把解引用的解引用的cpp加上22的结果设为字符“X”
17 == Mtrig?
把解引用的strmap的第21行第13列的元素设为字符“X”
18 == Mtrig?
MSBb?
把解引用的cpp设为解引用的strmap的第11行第7列的元素地址
把解引用的strmap的第11行第8列的元素设为字符“*”
设MSBb为假
rigger类里的saveset方法
结束
开始
设MSv为b
Cmp.h头文件
结束
开始
防止头文件重复定义
导入vector文件
导入Player.h头文件
释放std作用域下的所有东西
定义函数对象cmp,公开的有重载运算符()
Cmp.cpp源文件
结束
开始
导入vector文件
导入Cmp.h头文件
导入Player.h头文件
释放std作用域下的所有东西
定义重载运算符()
重载运算符()
返回结构体t的成员变量iy小于结构体ta的成员变量iy的布尔值
结束
开始

程序游玩的效果

iwanna

下一篇博客要说的东西

C++打小怪游戏

C++版iwanna1

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

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

相关文章

《神经网络》—— 循环神经网络RNN(Recurrent Neural Network)

文章目录 一、RNN 简单介绍二、RNN 基本结构1.隐藏中的计算2.输出层的计算3.循环 三、RNN 优缺点1.优点2.缺点 一、RNN 简单介绍 循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;是一种用于处理序列数据的神经网络架构。 与传统的前馈神经网络&#xff08…

聆听国宝“心声” 《寻找国宝传颂人——中国国宝大会》走进辽宁

热爱不止&#xff0c;传颂不停。近日&#xff0c;中央广播电视总台《寻找国宝传颂人——中国国宝大会》大型融媒体活动在辽宁省博物馆开展第二场地方展演。辽宁省博物馆是新中国成立后的第一座博物馆&#xff0c;馆藏文物近12万件&#xff0c;珍贵文物数万件&#xff0c;且以藏…

计算机网络:数据链路层详解

目录 一、点对点信道&#xff1a; &#xff08;1&#xff09;封装成帧 &#xff08;2&#xff09;透明传输 &#xff08;3&#xff09;差错检测 二、点对点协议 &#xff08;1&#xff09;数据链路层的特点 &#xff08;2&#xff09;PPP协议的组成 &#xff08;3&…

“我养你啊“英语怎么说?别说成I raise you!成人学英语到蓝天广场附近

“我养你啊”这句经典台词出自周星驰自导自演的电影《喜剧之王》。在这部电影中&#xff0c;周星驰饰演的尹天仇对张柏芝饰演的柳飘飘说出了这句深情而动人的台词。这句台词出现在柳飘飘即将离去之时&#xff0c;尹天仇鼓起勇气&#xff0c;用它作为对柳飘飘个人困境的承诺&…

docker compose入门5—创建一个3副本的应用

1. 定义服务 version: 3.8 services:web:image: gindemo:v2deploy:replicas: 3ports:- "9090" 2. 启动服务 docker compose -f docker-compose.yml up -d 3. 查看服务 docker compose ps 4. 访问服务

pycharm生成的exe执行后报错

元素 application 显示为元素 urn:schemas-microsoft-com:asm.v1^dependentAssembly (此版本的 Windows 不支持)的子元素。 日志名称: Application 来源: SideBySide 日期: 2024/10/8 14:14:12 事件 ID: 72 任务类别: 无 级别…

大数据新视界 --大数据大厂之 Presto 性能优化秘籍:加速大数据交互式查询

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

UE4 材质学习笔记05(凹凸偏移和视差映射/扭曲着色器)

一.凹凸偏移和视差映射 1.偏移映射 这需要一个高度图并且它的分辨率很低&#xff0c;只有256*256&#xff0c;事实上&#xff0c;如果高度图的分辨率比较低并且有点模糊&#xff0c;效果反而会更好 然后将高度图输出到BumpOffset节点的height插槽中&#xff0c; 之后利用得到…

登录注册静态网页实现(HTML,CSS)

实现效果图 实现效果 使用HTML编写页面结构&#xff0c;CSS美化界面&#xff0c;点击注册&#xff0c;跳转到注册界面&#xff0c;均为静态网页&#xff0c;是课上的一个小作业~ 使用正则表达式对输入进行验证&#xff0c;包括邮箱格式验证&#xff0c;用户名格式验证。 正则…

MATLAB数字水印系统

课题介绍 本课题为基于MATLAB的小波变换dwt和离散余弦dct的多方法对比数字水印系统。带GUI交互界面。有一个主界面GUI&#xff0c;可以调用dwt方法的子界面和dct方法的子界面。流程包括&#xff0c;读取宿主图像和水印图像&#xff0c;嵌入&#xff0c;多种方法的攻击&#xf…

九、4 串口接收(代码)

&#xff08;1&#xff09;在发送的基础上加上接收的部分 RX对应PA10&#xff0c;需要初始化PA10 &#xff08;2&#xff09;串口配置 如果使用查询&#xff0c;到这里就结束了&#xff0c;如果使用中断还需要在串口配置下面开启中断&#xff0c;配置NVIC &#xff08;3&…

《深度学习》神经语言模型 Word2vec CBOW项目解析、npy/npz文件解析

目录 一、关于word2vec 1、什么是word2vec 2、常用训练算法 1&#xff09;CBOW 2&#xff09;SkipGram 二、关于npy、npz文件 1、npy文件 1&#xff09;定义 2&#xff09;特性 3&#xff09;用途 4&#xff09;保存及读取 运行结果&#xff1a; 运行结果&#xf…

使用.mdf及.ldf恢复SQL SERVER数据库

文章目录 [toc]1.使用.mdf和对应的.ldf文件恢复数据库1.1 将对应的.mdf和.ldf复制到SQL SERVER路径下1.2 打开SSMS 1.使用.mdf和对应的.ldf文件恢复数据库 1.1 将对应的.mdf和.ldf复制到SQL SERVER路径下 一般默认路径是&#xff1a;C:\Program Files\Microsoft SQL Server\MS…

【源码+文档】基于Java的新能源停车场管理系统的设计与实现

&#x1f6a9;如何选题&#xff1f; 如何选题、让题目的难度在可控范围&#xff0c;以及如何在选题过程以及整个毕设过程中如何与老师沟通&#xff0c;这些问题是需要大家在选题前需要考虑的&#xff0c;具体的方法我会在文末详细为你解答。 &#x1f6ad;如何快速熟悉一个项…

Pywinauto,一款 Win 自动化利器!

1.安装 pywinauto是一个用于自动化Python模块&#xff0c;适合Windows系统的软件&#xff08;GUI&#xff09;&#xff0c;可以通过Pywinauto遍历窗口&#xff08;对话框&#xff09;和窗口里的控件&#xff0c;也可以控制鼠标和键盘输入&#xff0c;所以它能做的事情比之前介…

Python酷库之旅-第三方库Pandas(137)

目录 一、用法精讲 616、pandas.plotting.andrews_curves方法 616-1、语法 616-2、参数 616-3、功能 616-4、返回值 616-5、说明 616-6、用法 616-6-1、数据准备 616-6-2、代码示例 616-6-3、结果输出 617、pandas.plotting.autocorrelation_plot方法 617-1、语法…

机器学习篇-day03-线性回归-正规方程与梯度下降-模型评估-正则化解决模型拟合问题

一. 线性回归简介 定义 线性回归(Linear regression)是利用 回归方程(函数) 对 一个或多个自变量(特征值)和因变量(目标值)之间 关系进行建模的一种分析方式。 回归方程(函数) 一元线性回归: y kx b > wx b k: 斜率, 在机器学习中叫 权重(weight), 简称: w b: 截距, 在机…

Linux驱动学习——内核编译

1、从官网下载适合板子的Linux内核版本 选择什么版本的内核需要根据所使用的硬件平台而定&#xff0c;最好使用硬件厂商推荐使用的版本 https://www.kernel.org/pub/linux/kernel/ 2、将压缩包复制到Ubuntu内进行解压 sudo tar -xvf linux-2.6.32.2-mini2440-20150709.tgz 然…

【C++ 11】nullptr 空指针

文章目录 【 0. 问题背景 】0.1 野指针和悬空指针0.2 传统空指针 NULL0.3 传统空指针的局限性 【 1. 基本用法 】【 2. nullptr 的应用 】2.1 nullptr 解决 NULL 的遗留BUG2.2 简单实例 【 0. 问题背景 】 0.1 野指针和悬空指针 总结 野指针悬空指针产生原因指针变量未被初始…

绕过中间商,不用 input 标签也能搞定文件选择

&#x1f4b0; 点进来就是赚到知识点&#xff01;本文带你用 JS 实现文件选择功能&#xff0c;点赞、收藏、评论更能促进消化吸收&#xff01; &#x1f680; 想解锁更多 Web 文件系统技能吗&#xff1f;快来订阅专栏「Web 玩转文件操作」! &#x1f4e3; 我是 Jax&#xff0c;…