C++超级迷宫游戏
游戏效果
用钥匙、护盾等道具帮助你的小人通过大门、墙、怪物、岩浆等困难到达终点。
游戏代码
#include<bits/stdc++.h>
#include<conio.h>
#include<windows.h>
using namespace std;
void Color(int a)
{if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN);if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|BACKGROUND_RED);
}
void Setpos(int x,int y){COORD pos;pos.X=y*2,pos.Y=x;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}
int R[5];
void SlowDisplay(int x,char *p){while(1){if(*p!=0) printf("%c",*p++);else break;Sleep(x);}}
struct xg{int xgx,xgy;bool fx,sw=0; }xg[21];
int ys=0,hd=0,sj=0,sl=0,mg=0,hp=0,hss=0,hsx=0,jt=0,s=0;
char ch[35][35];
char ch1[35][35]={"", " ##### ##### ########"," #&## ### ### "," #### # ## #### #### "," ### ## # ####! ## "," ###& ### +## ###### ####"," ######&############! ##"," # *# ! ######### ###-##"," # ### ##### # "," # ###*# ############### ### "," # ###&### ####"," # # # ##-############## "," ###### #####! "," #+ # ###### ############ ", " ##&########## ### ### ### ## "," # ! ! #"," ############################"," # ! # ! # #"," # ! # ! #### "," #&########################### "," ) ",};
char ch2[35][35]={""," ##############################"," #* #"," ########&###################-#"," # # #"," # # ################&#####-# #"," # # # ! +# # #"," # # # ##&############### # # #"," # # # # # # # #"," # # # # ###########&## # # # #"," # # # # #)- ! # # # & #"," # # # # ### ! # # # # #", " # # # ##########&####### # # #"," # # # ! # #"," # # ##################&##### #"," # # ! *# #"," # #####&####### ############ #"," # ! # # ! #"," # ############# ########### #"," # ! #"," ##############################", };
char ch3[31][33]={""," ##############################"," #. + .#"," # ! #"," # + ! #"," # #"," # ! + #"," # ! + ! #"," # + #"," # + ! #", " # + ! #"," # ! + #"," #+ _____ #"," # |_ _ _| + #"," # + |_|||_| #"," # + |MMMMM| !#"," # |WWWWW| #"," #! |_____| #"," # ! #"," #. + .#"," ##############################", };
char ch4[35][35]={""," ###*### ########"," ###! # ##### # *#"," ###&#+####### # # # # ######"," # !# # #-# # # # #"," ###&####### # # # # ## #"," ####### ##### # ## #"," ####&### ! ! !# ## #"," # ################ ## #"," ### !! ## "," #### ##&##################### "," # ! !# "," #-############&######### #&## "," #-#ooooooooooo o # #*## "," o ooo o o o o ooo # #### "," o o o o oo o o # "," ooo o ooooooo oo ooo o #######"," ooo o o o oo o #"," ooo o o o*oooooooooooooooo-#"," ooooooo o oo o o o o #"," ) o o o o o #",};
char ch5[35][35]={""," oooo oooooooooooooooooooo"," ooo o oo+oo o o"," ooooooo*oooo ! o ! o o o"," o o o o o o o"," oooooooooo ooooooooooooooooo o"," o ! ! o"," oooooooo ooooooooooooooooooooo"," oooooooo ooooooooooooooooooooo", " o ! o"," o^^^^^^^^^^^^^^^^^^^^^^^^^^^^o"," o ! ! ! ! ! o"," o^^^^^^^^^^^^^^^^^^^^^^^^^^^^o"," o^*^! !^! !^! ^^! +^! !^! *^o"," o^^^^^^^^^^^^^^^^^^^^^^^^^^^^o"," o ! ! ! ! ! o"," #^^^^^^^^^^^^^^^^^^^^^^^^^^^^#"," # ! #"," ####oooooooooo--oooooooooooo##"," ########oooooo--ooooooo#######"," ###########ooo))oooo##########", };
char ch6[35][35]={""," oooooooooooooo .oooooooooooooo"," o+oooooooooooo oooooooooooo+o"," ooooooooooooo# #ooooooooooooo"," oooooooooooo#^^^^#oooooooooooo"," oooo*oooooo#^ ^#oooooo*oooo"," oooooooooo# ^ ^ #oooooooooo"," ooooooooo# ^ ^ #ooooooooo"," oooooooo#^^^^^^^^^^^^#oooooooo"," ooooooo#^ ^#--#^ ^#ooooooo"," . ^ ^-NO-^ ^ "," ^ ^-IP-^ ^ ."," ooooooo#^ ^#--#^ ^#ooooooo"," oooooooo#^^^^^^^^^^^^#oooooooo"," ooooooooo# ^ ^ #ooooooooo"," oooooooooo# ^ ^ #oooooooooo"," oooo*oooooo#^ ^#oooooo*oooo"," oooooooooooo#^^^^#oooooooooooo"," ooooooooooooo# #ooooooooooooo"," o+oooooooooooo oooooooooooo+o"," oooooooooooooo. oooooooooooooo",};
void map1(int x,int y,int k){for(int i=1;i<=20;++i)for(int j=1;j<=30;++j){bool f=1;for (int l=1;l<=k;++l)if (xg[l].xgx==i&&xg[l].xgy==j&&xg[l].sw==0) {Setpos(i,j);Color(4),cout<<"▼";f=0;break;}if (f==1){Setpos(i,j);if (i==x&&j==y) Color(1),cout<<"●";else if (ch[i][j]=='#'||ch[i][j]=='&') Color(7),cout<<"■";else if (ch[i][j]==')') Color(5),cout<<"☆";else if (ch[i][j]=='*') Color(5),cout<<"♂";else if (ch[i][j]=='-') Color(3),cout<<"▋"; else if (ch[i][j]=='+') Color(2),cout<<"◆";else if (ch[i][j]=='.') Color(1),cout<<"◆";else if (ch[i][j]=='o') Color(8),cout<<"~ "; else if (ch[i][j]=='_') Color(3),cout<<"▁";else if (ch[i][j]=='^') Color(3),cout<<"▲";else if (ch[i][j]=='|') Color(3),cout<<"|";else if (ch[i][j]=='M') Color(3),cout<<'M'<<'M';else if (ch[i][j]=='W') Color(3),cout<<'W'<<'W';else if (ch[i][j]=='N') Color(2),cout<<"NO";else if (ch[i][j]=='I') Color(2),cout<<"..";else if (ch[i][j]=='O') Color(2),cout<<"I!";else if (ch[i][j]=='P') Color(2),cout<<".P";else Color(0),cout<<" ";}}Setpos(21,3);Color(5),cout<<"["<<ys<<" ♂] ",Color(2),cout<<"["<<hd<<" ◆]";
}
int yx(int a)
{int k=0,T=0,x,y,boss=0,win=0;ys=0,hd=0,sj=0;system("cls");
if(a==1) {for(int i=0;i<35;i++)for(int j=0;j<35;j++) ch[i][j]=ch1[i][j];x=1,y=1;}
if(a==2) {for(int i=0;i<35;i++)for(int j=0;j<35;j++) ch[i][j]=ch2[i][j];x=2,y=29;}
if(a==3) {for(int i=0;i<35;i++)for(int j=0;j<35;j++) ch[i][j]=ch3[i][j];x=10,y=15;boss=1;}
if(a==4) {for(int i=0;i<35;i++)for(int j=0;j<35;j++) ch[i][j]=ch4[i][j];x=1,y=1;}
if(a==5) {for(int i=0;i<35;i++)for(int j=0;j<35;j++) ch[i][j]=ch5[i][j];x=1,y=1;}
if(a==6) {for(int i=0;i<35;i++)for(int j=0;j<35;j++) ch[i][j]=ch6[i][j];x=1,y=15;boss=2;}if(boss==1){for (int i=1;i<=200;++i) {int xx=rand()%21,yy=rand()%31;if ((xx!=x||yy!=y)&&ch[xx][yy]!='_'&&ch[xx][yy]!='W'&&ch[xx][yy]!='|'&&ch[xx][yy]!='M'&&ch[xx][yy]!='.') ch[xx][yy]='o';}map1(x,y,k);} for(int i=1;i<35;++i)for(int j=1;j<35;++j) if (ch[i][j]=='!')k++,xg[k].xgx=i,xg[k].xgy=j,ch[i][j]=' ';map1(x,y,k);while (1)
{T++;Setpos(x,y),cout<<" ";if(GetAsyncKeyState(VK_UP)&0x8000&&x!=1&&ch[x-1][y]!='#') x--;else if(GetAsyncKeyState(VK_DOWN)&0x8000&&x!=20&&ch[x+1][y]!='#') x++;else if(GetAsyncKeyState(VK_LEFT)&0x8000&&y!=1&&ch[x][y-1]!='#') y--;else if(GetAsyncKeyState(VK_RIGHT)&0x8000&&y!=30&&ch[x][y+1]!='#') y++;Setpos(x,y),Color(1),cout<<"●";if(boss!=0&&T%20==5){for (int i=1;i<=20;++i)for (int j=1;j<=30;++j)if (ch[i][j]=='o') ch[i][j]=' ';for (int i=1;i<=200*boss;++i) {int xx=rand()%21,yy=rand()%31;if ((xx!=x||yy!=y)&&ch[xx][yy]==' ') ch[xx][yy]='o';}map1(x,y,k);} if(T%20==0) map1(x,y,k);if(T%20==10){for(int i=1;i<35;++i)for(int j=1;j<35;++j) if(ch[i][j]=='^')Setpos(i,j),cout<<" ";}if(T%4==0&&k!=0)for (int i=1;i<=k;i++){if (xg[i].fx==0&&(ch[xg[i].xgx][xg[i].xgy+1]==' '||(ch[xg[i].xgx][xg[i].xgy-1]=='^'&&T%20>=10))&&xg[i].xgy!=30) Setpos(xg[i].xgx,xg[i].xgy),cout<<" ",xg[i].xgy++,Setpos(xg[i].xgx,xg[i].xgy),Color(4),cout<<"▼";else if (xg[i].fx==1&&(ch[xg[i].xgx][xg[i].xgy-1]==' '||(ch[xg[i].xgx][xg[i].xgy-1]=='^'&&T%20>=10))&&xg[i].xgy!=1) Setpos(xg[i].xgx,xg[i].xgy),cout<<" ",xg[i].xgy--,Setpos(xg[i].xgx,xg[i].xgy),Color(4),cout<<"▼";else if (xg[i].fx==1) xg[i].fx=0;else xg[i].fx=1;}for (int i=1;i<=k;i++){if (xg[i].xgx==x&&xg[i].xgy==y&&xg[i].sw==0&&hd==0) {system("cls");cout<<"怪物啊!!!";Sleep(2000);system("cls");return 0;}else if (xg[i].xgx==x&&xg[i].xgy==y&&hd>0&&xg[i].sw==0) {system("cls");cout<<"护盾保护了你!";Sleep(1000);system("cls");map1(x,y,k);hd--;xg[i].sw=1;}}if (ch[x][y]==')') {system("cls");cout<<"You Win!";Sleep(2000);system("cls");win=1;}if (ch[x][y]=='*') {system("cls");cout<<"你找到了钥匙!";ys++;Sleep(1000);system("cls");map1(x,y,k);ch[x][y]=' ';} if (ch[x][y]=='.') {system("cls");cout<<"你破坏了水晶!";sj++;Sleep(1000);system("cls");map1(x,y,k);ch[x][y]=' ';}if (ch[x][y]=='-'&&ys>0) {system("cls");cout<<"门开了!";ys--;Sleep(1000);system("cls");map1(x,y,k);ch[x][y]=' ';}else if (ch[x][y]=='-') {system("cls");cout<<"你没有钥匙!";--x;Sleep(3000);system("cls");map1(x,y,k);}if (ch[x][y]=='+') {system("cls");cout<<"你找到了护盾!";hd++;Sleep(1000);system("cls");map1(x,y,k);ch[x][y]=' ';}if (ch[x][y]=='o'&&hd==0) {system("cls");cout<<"烫死啦!!!";Sleep(2000);return 0;} else if (hd>0&&ch[x][y]=='o') {system("cls");cout<<"护盾保护了你!";ch[x][y]=' ';hd--;Sleep(1000);system("cls");map1(x,y,k);} if (ch[x][y]=='^'&&T%20<10&&hd==0) {system("cls");cout<<"被刺穿啦!!!";Sleep(2000);return 0;} else if (hd>0&&ch[x][y]=='^'&&T%20<10) {system("cls");cout<<"护盾保护了你!";ch[x][y]=' ';hd--;Sleep(1000);system("cls");map1(x,y,k);} if ((a==3||a==6)&&sj==4) {system("cls");cout<<"You Win!";Sleep(2000);system("cls");win=1;}for (int i=1;i<=k;i++)if (xg[i].xgx==x&&xg[i].xgy==y&&xg[i].sw==0&&hd==0) {system("cls");cout<<"怪物啊!!!";Sleep(1000);system("cls");return 0;}else if (xg[i].xgx==x&&xg[i].xgy==y&&hd>0&&xg[i].sw==0) {system("cls");cout<<"护盾保护了你!";Sleep(1000);system("cls");map1(x,y,k);map1(x,y,k);hd--;xg[i].sw=1;}if(win==1){if(a==1)sl=1;if(a==2)mg=1;if(a==3)hp=1;if(a==4)hss=1;if(a==5)hsx=1;return 0;}
Sleep(100);
}}
void ml(){while(1){system("cls");Color(0); cout<<"1、迷雾森林 ";cout<<endl;if (sl==0) cout<<"2、 ? ? ? ? ";else cout<<"2、巨石迷宫(图中如果走可穿透墙,能避开所有的怪) "; cout<<endl;if (mg==0) cout<<"3、 ? ? ? ? ";else cout<<"3、熔岩喷泉(BOSS,图中随机出现熔岩) ";cout<<endl;if (hp==0) cout<<"4、 ? ? ? ? ";else cout<<"4、火山口(上) ";cout<<endl;if (hss==0) cout<<"5、 ? ? ? ? ";else cout<<"5、火山口(下) ";cout<<endl;if (hsx==0) cout<<"6、 ? ? ? ? ";else cout<<"6、火山祭坛(BOSS)";cout<<endl;cout<<"选择关卡(序号)"<<endl;cout<<"退出输入0"<<endl;int a;cin>>a;if (a==1) {yx(1);}if (a==2&&sl==1){yx(2);}if (a==3&&mg==1) {yx(3);}if (a==4&&hp==1) {yx(4);}if (a==5&&hss==1){yx(5);}if (a==6&&hsx==1){yx(6);}if (a==0) return;
}}
void gz() {system("cls");cout<<"由上下左右键控制"<<endl;cout<<"●是你"<<endl;cout<<"■是墙"<<endl;cout<<"☆是终点"<<endl;cout<<"▼是小怪(只会左右移动)"<<endl;cout<<"▋是门"<<endl;cout<<"♂是钥匙"<<endl;cout<<"◆是护盾(不可杀怪)"<<endl;cout<<"■是可穿透墙(每一关几乎都有)"<<endl; cout<<"◆是水晶(BOSS关破坏所有水晶通关)"<<endl;cout<<"~ 是熔岩"<<endl; cout<<"▁是尖刺(未升起)"<<endl;cout<<"▲是尖刺(升起)"<<endl;cout<<"输入1开始!"<<endl;int a;cin>>a;if (a==1) ml();else gz();
}
int main(){ CONSOLE_CURSOR_INFO cursor_info={1,0};SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);srand((unsigned)time(NULL));cout<<"欢迎来到超级迷宫!"<<endl;cout<<"1、开始!"<<endl;cout<<"2、规则..."<<endl;int a;cin>>a;if (a==1){system("cls");ml();}else if (a==2){gz();}return 0;
}
相关文章:
C++超级迷宫游戏
游戏效果 用钥匙、护盾等道具帮助你的小人通过大门、墙、怪物、岩浆等困难到达终点。 游戏代码 #include<bits/stdc.h> #include<conio.h> #include<windows.h> using namespace std; void Color(int a) {if(a0) SetConsoleTextAttribute(GetStdHandle(STD…...

CUDA小白 - NPP(3) 图像处理 Color and Sampling Conversion
cuda小白 原始API链接 NPP GPU架构近些年也有不少的变化,具体的可以参考别的博主的介绍,都比较详细。还有一些cuda中的专有名词的含义,可以参考《详解CUDA的Context、Stream、Warp、SM、SP、Kernel、Block、Grid》 常见的NppStatus…...
Android硬件通信之 串口通信
一,串口介绍 1.1 串口简介 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口; 串行接口(SerialInterface)是指数据一位一位地顺序…...
高防服务器面对DDOS攻击的威胁有何必要性
高防服务器面对DDOS攻击的威胁有何必要性?分布式拒绝服务(DDoS)攻击是一种常见而危险的网络攻击形式,它可以使目标网络服务器过载,导致服务不可用。本文将深入探讨DDoS攻击的威胁,以及高防服务器在抵御这种…...

VBA中如何将if写到一行
在VBA中,可以使用以下两种方式来编写一行if语句: 使用三元运算符: Dim result As String result "Yes" If True Else "No"在这个例子中,如果条件为真,则result变量的值为"Yes"&#…...

性能测试,python 内存分析工具 -memray
Memray是一个由彭博社开发的、开源内存剖析器;开源一个多月,已经收获了超8.4k的star,是名副其实的明星项目。今天我们就给大家来推荐这款python内存分析神器。 Memray可以跟踪python代码、本机扩展模块和python解释器本身中内存分配…...

Jmeter(二十八):beanshell的使用
Beanshell 是一种轻量级的 Java 脚本,纯 Java 编写的,能够动态的执行标准 java 语法及一些扩展脚本语法,类似于 javaScript,在工作中可能用的多的就是: Beanshell 取样器:跟Http取样器并列Beanshell前置处理器:一般放在Http请求下,在请求前处理一些数据Beanshell后置处…...

数学建模:层次分析法
🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 层次分析法 步骤描述 将问题条理化,层次化,构建出一个有层次的结构模型。层次分为三类:目标层,准则(指标)层,方案层。比…...

POI-TL制作word
本文相当于笔记,主要根据官方文档Poi-tl Documentation和poi-tl的使用(最全详解)_JavaSupeMan的博客-CSDN博客文章进行学习(上班够用) Data AllArgsConstructor NoArgsConstructor ToString EqualsAndHashCode public …...

大数据Flink(七十一):SQL的时间属性
文章目录 SQL的时间属性 一、Flink三种时间属性简介...

51单片机项目(7)——基于51单片机的温湿度测量仿真
本次做的设计,是利用DHT11传感器,测量环境的温度以及湿度,同时具备温度报警的功能:利用两个按键,设置温度阈值的加和减,当所测温度大于温度阈值的时候,蜂鸣器就会响起,进行报警提示。…...

按钮控件之1---QPushButton 标准按钮/普通按钮控件
1、父类QAbstractButton 2、QPushButton按钮,是Qt常用的控件之一,提供普通的按钮功能。 通过信号槽机制接收触发信号并执行对应动作。3、创建QPushButton 它有三个构造函数: // 空对象 QPushButton(QWidget *parent nullptr); // 指定QPus…...

Ae 效果:CC Light Rays
生成/CC Light Rays Generate/CC Light Rays CC Light Rays(CC 光线)可以创建从光源发出并能穿过图层内容的光线效果。常用于制作光线透过门窗或云层的场景,或者用于创建神奇或梦幻的氛围感。 本效果会被限制在源图层的大小范围之内。 ◆ ◆…...

MPI之通信模式(标准,缓存,同步,就绪)
MPI缓冲区 由MPI自行维护的一块内存区域,也可由用户(MPI_Bsend)自行维护;发送方 维护一块发送缓冲区; 接收方 维护一块接收缓冲区。 数据收发过程: 当发送端将数据拷贝到自身的数据缓冲区后(注意这里是拷贝,即数据到…...

面试官:说一下 MyBatis 的一级缓存和二级缓存 ?
目录 1. MyBatis 的缓存机制 2. 为什么不默认开启 MyBatis 的二级缓存 3. MyBatis 如何开启二级缓存 4. MyBatis 有哪些缓存清除策略 1. MyBatis 的缓存机制 MyBayis 中包含两级缓存:一级缓存和二级缓存 1. 一级缓存是 SqlSession 级别的,是 MyBati…...
Ajax与jQuery
目录 Ajax是一种异步无刷新的技术 Ajax的优点: 可以无需刷新页面与服务器端进行通信允许根据用户事件来更新部分页面内容 Ajax的缺点: 没有浏览历史,不能回退存在跨域问题(同源)SEO(搜索引擎优化&#x…...

色温曲线坐标轴的选取:G/R、G/B还是R/G、B/G ?
海思色温曲线坐标 Mstar色温曲线坐标 高通色温曲线坐标 联咏色温曲线坐标 查看各家白平衡调试界面,比如海思、Mstart、高通等调试资料,白平衡模块都是以R/G B/G作为坐标系的两个坐标轴,也有方案是以G/R G/B作为坐标系的两个坐标轴。 以G/R G…...

maven部署
一、下载Maven 地址:Maven – Download Apache Maven 二、解压缩,设置环境变量 tar -xvf apache-maven-3.8.8-bin.tar.gz export MAVEN_HOME/opt/apache-maven-3.8.8 export PATH$MAVEN_HOME/bin:$PATH echo $MAVEN_HOME echo $PATH mvn -v...
docker进阶作业
一、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 安装Docker:确保已在CentOS 7.5上安装了Docker。 拉取MySQL 5.6镜像:使用以下命令从Docker Hub上拉取MySQL 5.6镜像。 docker pull mysql:5.6 运行MySQL容器:使用以下命令…...

HTML+JavaScript+CSS DIY 分隔条splitter
一、需求分析 现在电脑的屏幕越来越大,为了利用好宽屏,我们在设计系统UI时喜欢在左侧放个菜单或选项面板,在右边显示与菜单或选项对应的内容,两者之间用分隔条splitter来间隔,并可以通过拖动分隔条splitter来动态调研…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...

uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
SQL Server 触发器调用存储过程实现发送 HTTP 请求
文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...
MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释
以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块࿰…...