c++ 小游戏(2种)

目录

介绍

游戏1

游戏2


介绍

因为DEV C++的编译环境较小,所以大部分的游戏代码都无法在此上运行,我收集了一部分摸鱼小游戏的源码,在此呈现,如果有能在DEV C++上运行的我会先作声明:

游戏1

扫雷

#include<stdio.h>
#include<windows.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#include<queue>
#include<ctype.h>
#define A 17 //地图的高
#define B 17 //地图的宽
#define C 30 //雷的总数
using namespace std;//全局变量
DWORD a,b;
char map[A][B],news,spare;
int BoomTotalNum,floatx,floaty,flag[A][B],flagnum,mode,slect[A][B],game;//颜色属性
const WORD FORE_BLUE = FOREGROUND_BLUE; //蓝色文本属性
const WORD FORE_GREEN = FOREGROUND_GREEN; //绿色文本属性
const WORD FORE_RED = FOREGROUND_RED; //红色文本属性//开垦地图结构体
struct node {int x;int y;
};
queue <node> dui;//打印位置
void position(int x,int y) {COORD pos= {x,y};HANDLE Out=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(Out,pos);
}//隐藏光标
void Hide() {HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_CURSOR_INFO CursorInfo;GetConsoleCursorInfo(handle, &CursorInfo);//获取控制台光标信息CursorInfo.bVisible = false; //隐藏控制台光标SetConsoleCursorInfo(handle, &CursorInfo);//设置控制台光标状态
}//初始化
void Beginning() {while(!dui.empty()) {dui.pop();}game=1;
//BoomTotalNum=C;floatx=A/2;floaty=B/2;flagnum=0;BoomTotalNum=C;mode=0;HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出设备句柄CONSOLE_SCREEN_BUFFER_INFO csbi;      //定义窗口缓冲区信息结构体GetConsoleScreenBufferInfo(handle_out, &csbi);   //获得窗口缓冲区信息int x,y;srand((unsigned)time(0));for(int i=0; i<A; i++) for(int j=0; j<B; j++) {map[i][j]=' ';flag[i][j]=0;slect[i][j]=0;}while(BoomTotalNum) {x=rand()%A;y=rand()%B;if(map[x][y]==' ') {map[x][y]='@';BoomTotalNum--;}}SetConsoleTextAttribute(handle_out, FORE_GREEN);for(int i=0; i<A; i++) {for(int j=0; j<B; j++) printf("█");printf("\n");}position(floaty*2,floatx);SetConsoleTextAttribute(handle_out, FORE_RED);printf(""); //光标位置position(44,9);printf("扫雷模式");position(44,5);printf("剩余雷数:%d ",C-flagnum);SetConsoleTextAttribute(handle_out, FORE_GREEN);position(5,22);printf("按“空格”切换模式");position(5,23);printf("按“Enter”确认");position(5,24);printf("按“方向键”选择方块");}//打印地图的一块儿
void Lump(int xx,int yy) {switch(map[xx][yy]) {case '1' :printf("①");break; //周围雷的数量(下同)case '2' :printf("②");break;case '3' :printf("③");break;case '4' :printf("④");break;case '5' :printf("⑤");break;case '6' :printf("⑥");break;case '7' :printf("⑦");break;case '8' :printf("⑧");break;case ' ' :if(xx==floatx&&yy==floaty) {if(flag[xx][yy]==0) {if(mode%2==0) printf("");else printf("");} else printf("");} else {if(flag[xx][yy]==0) printf("█");else printf("");}break;case '@' :if(xx==floatx&&yy==floaty) {if(flag[xx][yy]==0) {if(mode%2==0) printf("");else printf("");} else printf("");} else {if(flag[xx][yy]==0) printf("█");else printf("");}break;case 'x' :if(floatx==xx&&floaty==yy) printf("");else printf(" ");break; //已经挖开的空白}
}//移动光标
void Move() {HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出设备句柄CONSOLE_SCREEN_BUFFER_INFO csbi;      //定义窗口缓冲区信息结构体GetConsoleScreenBufferInfo(handle_out, &csbi);   //获得窗口缓冲区信息int xxx,yyy;xxx=floatx;yyy=floaty;switch(news) {case 72 :floatx--;break; //上case 80 :floatx++;break; //下case 75 :floaty--;break; //左case 77 :floaty++;break; //右}if(floatx==-1) floatx=A-1;floatx%=A; //两端穿模处理if(floaty==-1) floaty=B-1;floaty%=B;position(yyy*2,xxx);SetConsoleTextAttribute(handle_out, FORE_GREEN);Lump(xxx,yyy); //删除原位置if(map[floatx][floaty]=='x') {position(floaty*2,floatx);printf(" ");}position(floaty*2,floatx);SetConsoleTextAttribute(handle_out, FORE_BLUE);Lump(floatx,floaty); //更新新位置
}//插旗和排雷模式切换
void Mode() {HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出设备句柄CONSOLE_SCREEN_BUFFER_INFO csbi;      //定义窗口缓冲区信息结构体GetConsoleScreenBufferInfo(handle_out, &csbi);   //获得窗口缓冲区信息mode++;SetConsoleTextAttribute(handle_out, FORE_BLUE);position(floaty*2,floatx);if(mode%2==0) printf("");else printf("");position(44,9);if(mode%2==0) {SetConsoleTextAttribute(handle_out, FORE_BLUE);printf("扫雷模式");} else {SetConsoleTextAttribute(handle_out, FORE_RED);printf("插旗模式");}
}//该点周围地雷数
int Boomnum(int xx,int yy) {int num=0;if((xx-1>=0)&&(yy-1>=0)&&(map[xx-1][yy-1]=='@')) num++;if((xx-1>=0)&&(yy+0>=0)&&(map[xx-1][yy]=='@')) num++;if((xx-1>=0)&&(yy+1<B) &&(map[xx-1][yy+1]=='@')) num++;if((xx+0>=0)&&(yy-1>=0)&&(map[xx][yy-1]=='@')) num++;if((xx+0>=0)&&(yy+1<B) &&(map[xx][yy+1]=='@')) num++;if((xx+1<A)&&(yy-1>=0) &&(map[xx+1][yy-1]=='@')) num++;if((xx+1<A)&&(yy+0>=0) &&(map[xx+1][yy]=='@')) num++;if((xx+1<A)&&(yy+1<B) &&(map[xx+1][yy+1]=='@')) num++;return num;
}//更新地图
void Open() {node c;node d;while(!dui.empty()) {dui.pop();}c.x=floatx;c.y=floaty;dui.push(c);slect[c.x][c.y]=1;while(!dui.empty()) {c=dui.front();dui.pop();if(Boomnum(c.x,c.y)!=0) {map[c.x][c.y]=(Boomnum(c.x,c.y)+48);continue;} else {map[c.x][c.y]='x';if((c.x-1>=0)&&(c.y-1>=0)&&(map[c.x-1][c.y-1]==' ')&&(slect[c.x-1][c.y-1]==0)) {d.x=c.x-1;d.y=c.y-1;dui.push(d);slect[d.x][d.y]=1;}if((c.x-1>=0)&&(c.y-0>=0)&&(map[c.x-1][c.y]==' ')&&(slect[c.x-1][c.y]==0)) {d.x=c.x-1;d.y=c.y-0;dui.push(d);slect[d.x][d.y]=1;}if((c.x-1>=0)&&(c.y+1<B)&&(map[c.x-1][c.y+1]==' ')&&(slect[c.x-1][c.y+1]==0)) {d.x=c.x-1;d.y=c.y+1;dui.push(d);slect[d.x][d.y]=1;}if((c.x-0>=0)&&(c.y-1>=0)&&(map[c.x][c.y-1]==' ')&&(slect[c.x][c.y-1]==0)) {d.x=c.x-0;d.y=c.y-1;dui.push(d);slect[d.x][d.y]=1;}if((c.x-0>=0)&&(c.y+1<B)&&(map[c.x][c.y+1]==' ')&&(slect[c.x][c.y+1]==0)) {d.x=c.x-0;d.y=c.y+1;dui.push(d);slect[d.x][d.y]=1;}if((c.x+1<A)&&(c.y-1>=0)&&(map[c.x+1][c.y-1]==' ')&&(slect[c.x+1][c.y-1]==0)) {d.x=c.x+1;d.y=c.y-1;dui.push(d);slect[d.x][d.y]=1;}if((c.x+1<A)&&(c.y-0>=0)&&(map[c.x+1][c.y]==' ')&&(slect[c.x+1][c.y]==0)) {d.x=c.x+1;d.y=c.y-0;dui.push(d);slect[d.x][d.y]=1;}if((c.x+1<A)&&(c.y+1<B)&&(map[c.x+1][c.y+1]==' ')&&(slect[c.x+1][c.y+1]==0)) {d.x=c.x+1;d.y=c.y+1;dui.push(d);slect[d.x][d.y]=1;}}}
}int main() {freopen("排名.txt","r",stdin);
Relife: //重玩处HANDLE handle_out = GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出设备句柄CONSOLE_SCREEN_BUFFER_INFO csbi;      //定义窗口缓冲区信息结构体GetConsoleScreenBufferInfo(handle_out, &csbi);   //获得窗口缓冲区信息Hide();Beginning();a=GetTickCount();while(1) {if(kbhit()!=0) {spare=getch();if((spare!=(-32))&&(spare!=13)&&(spare!=' ')) continue;if(spare==13) {;if(mode%2==0) {if(map[floatx][floaty]=='@'&&flag[floatx][floaty]==0) {break;game=0;}if(flag[floatx][floaty]==1) continue;Open();position(0,0);SetConsoleTextAttribute(handle_out, FORE_GREEN);for(int i=0; i<A; i++) {for(int j=0; j<B; j++) Lump(i,j);printf("\n");}position(floaty*2,floatx);SetConsoleTextAttribute(handle_out, FORE_BLUE);Lump(floatx,floaty);}else {if(map[floatx][floaty]=='x'||(map[floatx][floaty]>'0'&&map[floatx][floaty]<'9'))continue;if(flag[floatx][floaty]==0) {flagnum++;flag[floatx][floaty]=1;position(floaty*2,floatx);SetConsoleTextAttribute(handle_out, FORE_BLUE);Lump(floatx,floaty);}else {flagnum--;flag[floatx][floaty]=0;position(floaty*2,floatx);SetConsoleTextAttribute(handle_out, FORE_BLUE);Lump(floatx,floaty);}}}if(spare==' ') Mode();//按方向键if(spare==-32) {news=getch();Move();}for(int i=0; i<A; i++) for(int j=0; j<B; j++) if(map[i][j]=='x'||(map[i][j]>'0'&&map[i][j]<'9')) game++;if(game==A*B-C+1) break;else game=1;SetConsoleTextAttribute(handle_out, FORE_RED);position(44,5);printf("剩余雷数:%d ",C-flagnum);} else Sleep(10);b=GetTickCount();SetConsoleTextAttribute(handle_out, FORE_RED);position(44,7);printf("用时:");if((b-a)/60000<10) printf("0");printf("%d:",(b-a)/60000);if(((b-a)/1000)%60<10) printf("0");printf("%d:",((b-a)/1000)%60);if(((b-a)/10)%100<10) printf("0");printf("%d",((b-a)/10)%100);}SetConsoleTextAttribute(handle_out, FORE_RED);position(5,5);if(game==1) printf("游戏结束!");else printf("恭喜通关!");position(5,8);printf("任意键重玩");scanf("%c%c",&spare,&spare);system("cls");position(0,0);goto Relife;
}

游戏2

狼人杀

#include <iostream>//C++输入输出流库
#include <cstdlib>//使用srand函数要用到这个库
#include <ctime>//使用time函数要用到这个库
#include <Windows.h>
#include <conio.h>
long long sr=0;
using namespace std;
void brc()
{system("cls");long long jy=1,wd=3;long long sy=3,wj=3;srand((int)time(0));long long n=rand()%15+1;cout<<"                                你是"<<n<<"号"<<endl;cout<<"                               正在分配身份"<<endl;Sleep(1500);long long m[20];for(long long i=1;i<=15;i++)m[i]=1;long long s[20]={0};long long yy[20]={0};long long l=0,w=0,j=0,p=0;for(long long i=1;i<=15;i++){do{long long a=rand()%4+1;if(a==1&&l<1){l++;s[i]=1;sr=i;}else if(a==2&&w<2){w++;s[i]=2;}else if(a==4&&p<3){p++;s[i]=4;}else if(a==3&&j<9){j++;s[i]=3;}}while(s[i]==0);}if(s[n]==1)cout<<"                               你是>>杀手<<"<<endl;else if(s[n]==2)cout<<"                               你是>>预言家<<"<<endl;else if(s[n]==3)cout<<"                               你是>>平民<<"<<endl;elsecout<<"                               你是>>法师<<"<<endl;cout<<"                             游戏将在5秒后开始"<<endl; Sleep(5000);long long c=15;long long f=0,flag=0;long long day=1;long long lr;long long tp[20]={0};do{lr=0;system("cls");cout<<"                                 第"<<day<<"晚开始"<<endl;cout<<"你是"<<n<<"号"<<endl;long long x;for(long long i=1;i<=15;i++) {if(i==n&&m[n]==1){if(s[n]==1){cout<<"                                 你是杀手"<<endl;for(long long j=1;j<=15;j++)if(m[j]==1&&s[j]!=1)cout<<j<<" ";cout<<endl;cout<<"                                 你选择杀掉"<<endl; long long a;cin>>a;m[a]=0;cout<<endl;cout<<"                                 杀手杀了"<<a<<"号"; if(s[a]==1)cout<<"(杀手)"<<endl;else if(s[a]==2)cout<<"(预言家)"<<endl;else if(s[a]==3)cout<<"(平民)"<<endl;elsecout<<"(法师)"<<endl;c--;}	elseif(s[n]==2){cout<<"                                 你是预言家"<<endl;cout<<"                               ";for(long long j=1;j<=15;j++)if(m[j]==1)cout<<j<<" ";cout<<endl<<"                              你选择预言谁的身份"<<endl;long long a;cin>>a;if(s[a]==1){cout<<"                        "<<a<<"号是杀手,请注意"<<endl;Sleep(1000);}elsecout<<"                            "<<a<<"号是好人"<<endl; }}else if(s[i]==1&&m[i]==1){long long a;do{a=rand()%15+1;}while(a==i||m[a]==0||s[a]==1);cout<<"                           杀手杀掉了"<<a<<"号"; if(s[a]==1)cout<<"(杀手)"<<endl;else if(s[a]==2)cout<<"(预言家)"<<endl;else if(s[a]==3)cout<<"(平民)"<<endl;elsecout<<"(法师)"<<endl;m[a]=0;c--;break;//}else if(s[i]==2){if(flag==0||m[flag]==0){long long a;do{a=rand()%15+1;}while(a==i||m[a]==0);if(s[a]==1)yy[a]=1;	else if(s[a]==3)yy[a]=3;}	}else if(s[i]==4){f=0;while(f==0){long long a;a=rand()%3+1;if(a==3)break;if(a==1){if(sy>0){sy--;f=1; long long b;do{b=rand()%15+1;b=rand()%15+1;}while(b==i||m[b]==0);m[b]=0;cout<<"                           法师毒死了"<<b<<"号"; if(s[b]==1)cout<<"(杀手)"<<endl;else if(s[b]==2)cout<<"(预言家)"<<endl;else if(s[b]==3)cout<<"(平民)"<<endl;c--;if(s[b]==1&&n!=sr){cout<<endl<<"							   "<<sr<<"号是杀手!"; cout<<endl<<"								杀手已死亡!"<<endl;cout<<"                          	游戏结束"<<endl;return ;}break;//}}else if(a==2&&day>1){if(jy>0){jy--;f=1; long long b;do{b=rand()%15+1;}while(b==i||m[b]==1);c++;cout<<"                           法师复活了"<<b<<"号"<<endl;m[b]=1;if(m[sr]==0&&n!=sr){cout<<endl<<"							   "<<sr<<"号是杀手!"; cout<<endl<<"						杀手已死亡!"<<endl;cout<<"                          	游戏结束"<<endl;return ;}break;//}}}}}if(s[n]==4){cout<<"                                 你是法师"<<endl;cout<<"存活状况:"<<endl; for(long long j=1;j<=15;j++)if(m[j]==1)cout<<j<<" ";cout<<endl;cout<<"                        你选择 1.* 杀 *还是 2.* 救 * 3.* 啥都不做 *"<<endl;long long a,f=0;while(f==0){cin>>a;if(a==3) break;if(a==1){if(wd>0){wd--;f=1; cout<<"                                你选择了杀人"<<endl;for(long long i=1;i<=15;i++)if(m[i]==1)cout<<i<<" ";cout<<endl; long long b;cin>>b;if(s[b]==1)cout<<"(杀手)"<<endl;else if(s[b]==2)cout<<"(预言家)"<<endl;else if(s[b]==3)cout<<"(平民)"<<endl;elsecout<<"(法师)"<<endl;m[b]=0;c--; if(m[sr]==0&&n!=sr){cout<<endl<<"							   "<<sr<<"号是杀手!"; cout<<endl<<"						杀手已死亡!"<<endl;cout<<"                          	游戏结束"<<endl;return ;}}else{cout<<">>毒药<<不足"<<endl; }}else if(a==2){if(wj>0){wj--;f=1; cout<<"你选择了复活"<<endl;cout<<"阵亡名单:"<<endl;for(long long i=1;i<=15;i++)if(m[i]==0)cout<<i<<"号,身份:"<<s[i]<<" "<<endl;;long long b;cin>>b;m[b]=1;c++;}else{cout<<">>复活药水<<不足"<<endl; }}}}Sleep(1000);long double p[20]={0};cout<<"                                 第"<<day<<"晚结束"<<endl;cout<<endl;if(m[n]==0){cout<<"                             你已经>>死<<了";	break;}cout<<"                                    存活:"<<endl;cout<<"                       ";for(long long i=1;i<=15;i++)if(m[i]==1)cout<<i<<" ";cout<<endl;cout<<"                                    请投票...."<<endl;for(long long i=1;i<=15;i++){if(i==n&&m[n]==1){cout<<endl;cout<<"                                 你选择投几号"<<endl; long long a=99;while(a==99) {cin>>a;if(a==99)for(long long i=1;i<=15;i++)if(m[i]==1)cout<<"                                    "<<i<<"."<<s[i]<<endl;}if(s[i]==3&&day>4)p[a]+=1.5;elsep[a]++;	cout<<endl;cout<<"                                    "<<i<<"->"<<a<<endl;if(s[a]==3){tp[a]=i;}}else if(s[i]==1&&m[i]==1){long long a;do{a=rand()%15+1;	}while(m[a]==0||a==i||s[a]==1);p[a]++;cout<<"                                    "<<i<<"->"<<a<<endl;if(s[a]==3){tp[a]=i;}}else if(s[i]==2&&m[i]==1){if(flag!=0){p[f]++;cout<<"                                    "<<i<<"->"<<flag<<endl;}else{long long a;do{a=rand()%15+1;	}while(m[a]==0||a==i||yy[a]==3);p[a]++;if(s[a]==3)	{tp[a]=i;}cout<<"                                    "<<i<<"->"<<a<<endl;}} else if(s[i]==3&&m[i]==1){if(tp[i]==0){long long a;do{a=rand()%15+1;	}while(m[a]==0||a==i);p[a]++;cout<<"                                    "<<i<<"->"<<a<<endl;}else{if(m[tp[i]]==1){p[tp[i]]++;cout<<"                                    "<<i<<"->"<<tp[i]<<endl;}else{long long a;do{a=rand()%15+1;	}while(m[a]==0||a==i);p[a]++;cout<<"                                    "<<i<<"->"<<a<<endl;}}}else if(s[i]==4&&m[i]==1){long long a;do{a=rand()%15+1;	}while(m[a]==0||a==i);p[a]++;cout<<"                                    "<<i<<"->"<<a<<endl;}}system("cls");cout<<"                                 投票情况:"<<endl;for(long long i=1;i<=15;i++)if(m[i]==1)cout<<"                                 "<<i<<"号"<<"  票数:"<<p[i]<<endl; long long sw,max=-100; for(long long i=1;i<=15;i++){if(p[i]>max){sw=i;max=p[i];}}m[sw]=0;cout<<"                                  "<<sw<<"死了"<<endl;c--;cout<<"                              "<<sw<<"号的身份是"; if(s[sw]==1)cout<<"杀手"<<endl;else if(s[sw]==2)cout<<"预言家"<<endl;else if(s[sw]==3)cout<<"平民"<<endl;else cout<<"法师"<<endl; if(s[sw]==1&&n!=sr){cout<<endl<<"							   "<<sr<<"号是杀手!"; cout<<endl<<"						杀手已死亡!"<<endl;cout<<"                          	游戏结束"<<endl;return ;}day++;  if(s[n]!=1)   {for(long long i=1;i<=15;i++)if(s[i]==1&&m[i]==1)lr=1;}else{if(s[n]==1&&c==2)lr=0;}system("pause"); cout<<endl;if(m[sr]==0&&n!=sr){cout<<endl<<"							   "<<sr<<"号是杀手!"<<endl; cout<<endl<<"						杀手已死亡!"<<endl;cout<<"                          	游戏结束"<<endl;return ;}}while(m[n]==1&&c>1);if(sr==n&&m[n]==1){cout<<"								你杀掉了所有人!!!"<<endl;}cout<<"                          	游戏结束"<<endl;return ;
}
int main()
{srand((int)time(0));  char a='1';while(1){system("cls");cout<<"                                   			杀手游戏"<<endl;cout<<"------------------------------------------------------------------------------------------------------------------------";cout<<"                                 		   1.开始游戏"<<endl;cout<<"                                		  2.查看游戏规则"<<endl;a=getch();if(a=='1'){cout<<"                                 		   1. 15人场"<<endl;cout<<"                          			2. 30人娱乐战(10猎人)<敬请期待>"<<endl;a='2';while(a=='2'){a=getch();switch(a){case '1':brc();break;}if(a=='1')break;}if(a=='1')break;}else if(a=='2'){cout<<"杀手:每当晚上的时候可使用杀人权杀掉一人"<<endl;//1cout<<"预言家:每天晚上可以知道一个人的身份"<<endl;//2 cout<<"平民:无技能,当玩家是平民时,在第5天拥有1.5票的投票权"<<endl;//3cout<<"猎人:此身份仅限于30人娱乐局中,死亡后可带走一人"<<endl; cout<<"投票细则:\n(游戏中除了你以外全是由超级AI人工代替)"<<endl;cout<<"预言家如果预言到杀手将一直对他投票,如果预言到好人将永远不会对他投票"<<endl;cout<<"平民将投上一个晚上对他投票他的人"<<endl;cout<<"********利用好超级AI游戏规则找出杀手**********"<<endl;system("pause");}}return 0;
}

在这里给大家一个编译器(直接下载)(很多人都有了):DEV-C++

dev-c++ 下载

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

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

相关文章

go和Java该如何选择?

今天&#xff0c;每个企业都需要一个软件应用程序&#xff0c;从初创公司到大型公司如果你想以最有效的方式运行业务&#xff0c;你必须把它列在网上。竞争并没有就此结束 但重要的是您能够以多简单、多快速的方式创建软件应用程序-这是引领竞争的正确方式。 选择最适合您的软…

MegaSeg Pro for Mac v6.3.1 注册激活版 音视频DJ混音工具

MegaSeg Pro for Mac是一款专业的DJ和广播自动化软件&#xff0c;旨在为音乐专业人士提供强大的音乐播放和演播功能。这款软件具有多种功能&#xff0c;包括强大的音乐库管理&#xff0c;支持导入和组织大量音乐文件&#xff0c;可以轻松管理你的音乐收藏。它支持广泛的音频格式…

【Mysql】用户授权(GRANT)语法介绍和示例

【Mysql】用户授权&#xff08;GRANT&#xff09;语法介绍和示例 【一】Mysql用户授权&#xff08;GRANT&#xff09;语法【1】授予用户权限语法【2】GRANT语句中的<权限类型>的使用说明如下&#xff1a;&#xff08;1&#xff09;授予数据库权限时&#xff0c;<权限类…

WPF学习笔记-FlowDocument流文档基础知识和基本操作

文章目录 概述一、块元素和内联元素1.1 块元素&#xff08;Block类&#xff09;1.2 内联元素&#xff08;Inline类&#xff09;二、Paragraph元素2.1 基本属性设置2.2 将内联元素Inline添加到Inlines中2.3 设置中西文字体不一样 三、Table元素3.1 添加新的Table3.2 添加列3.3 添…

深度学习系列-python实现-初步学习构建神经网络

深度学习系列-python实现-初步学习构建神经网络 前言1.在Keras中加载MNIST数据集2.构建简单的神经网络模型3.训练模型4.模型的预测和评估5.总结 前言 在数字时代&#xff0c;数据已经成为了一种无处不在的资源。从商业分析到科学研究&#xff0c;从人工智能到机器学习&#xf…

2024.2.16力扣每日一题——二叉树的锯齿形层序遍历

2024.2.16 题目来源我的题解方法一 双端队列标志 题目来源 力扣每日一题&#xff1b;题序&#xff1a;103 我的题解 方法一 双端队列标志 层序遍历 利用双端队列和标志&#xff0c;判断当前应该往那个方向遍历 注意&#xff1a;在逆向遍历时&#xff0c;加入后续节点到队列中…

固态硬盘一年不通电数据就没了吗?丢失了怎么办

随着数字化时代的到来&#xff0c;数据的安全性和持久性变得尤为重要。作为现代电子设备中常见的存储设备&#xff0c;固态硬盘&#xff08;SSD&#xff09;以其高效、快速的特点受到广大用户的青睐。然而&#xff0c;有关固态硬盘长时间不通电后数据会丢失的担忧也时常困扰着用…

报错:AttributeError: module ‘numpy‘ has no attribute ‘unit8‘解决

错误问题&#xff1a; 解决方法&#xff1a; 哥们姐们仔细一点吧这个unit8是打错了&#xff0c;无非就是uint8写成了unit8 应该是【uint8】&#xff0c;以后敲代码仔细点哦

怎么理解React refs,在哪些场景下使用?

React的refs,提供了一种方式,让我们访问DOM节点或者在render方法中创建React元素。 创建ref的形式有三种: 传入字符串,使用的时候通过this.refs传入的字符串格式获取对应的元素传入对象,对象是通过React.createRef()方式创建的,使用时取到的对象存在current属性上。传入…

从零开始学数据分析之数据分析概述

当今世界对信息技术的依赖程度在不断加深&#xff0c;每天都会有大量的数据产生&#xff0c;我们经常会感到数据越来越多&#xff0c;但是要从中发现有价值的信息却越来越难。 这里所说的信息&#xff0c;可以理解为对数据集处理之后的结果&#xff0c;是从数据集中提炼出的可用…

【Leetcode】top 100 二分查找

35 搜索插入位置 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。 基础写法&#xff01;&#xff01;&#xff01;牢记…

清华学霸引爆“长文本”大战,大模型的应用前景清晰了吗?

文 | 智能相对论 作者 | 沈浪 Long-LLM&#xff08;长文本大模型&#xff09;时代似乎来得有些突然&#xff0c;而引爆这场热潮的&#xff0c;竟是一家由清华学霸牵头的本土AI初创企业。 前不久&#xff0c;月之暗面&#xff08;Moonshot AI&#xff09;公司宣布旗下对话式 …

linux 环境安装配置

安装java17 1.下载安装包 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 2.解压到自定义目录/usr/local/java mkdir /usr/local/java tar zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/java 3.配置环境变量 echo export PATH$PATH:/…

金三银四面试题(十):Java基础问题(1)

这部分面试题多用于面试的热身运动&#xff0c;对很多找实习和准备毕业找工作的小伙伴至关重要。 访问修饰符 在 Java 中&#xff0c;提供了四种访问权限控制&#xff1a; public private protected 以及什么都不写&#xff08;default&#xff09; 修饰符当前类同包子包其他…

SSM学习——Spring AOP与AspectJ

Spring AOP与AspectJ 概念 AOP的全称为Aspect-Oriented Programming&#xff0c;即面向切面编程。 想象你是汉堡店的厨师&#xff0c;每一份汉堡都有好几层&#xff0c;这每一层都可以视作一个切面。现在有一位顾客想要品尝到不同风味肉馅的汉堡&#xff0c;如果按照传统的方…

【java】关于String、StringBuffer和StringBuilder的那些事

在之前的文章中我们曾简单介绍过String这个引用类型变量&#xff0c;其实它还有许多特性&#xff0c;还有StringBuffer和StringBuilder这两个方法在字符串操作中也有非常重要的地位&#xff0c;接下来就由小编带大家梳理一下吧&#x1f44a; 目录 一、String 1、构造方法 2、…

手游APP纷纷选择游戏盾SDK的原因是什么呢

手游APP纷纷选择游戏盾SDK的原因是什么呢&#xff1f;随着移动互联网的发展和智能手机的普及&#xff0c;手游APP的数量和用户人数也在不断增长。然而&#xff0c;随之而来的是手游APP面临的各种安全威胁和风险。为了确保手游APP的安全性和稳定性&#xff0c;越来越多的开发者和…

独立开发者用微信小程序赚钱

微信小程序能实现赚钱&#xff0c;赚多赚少的问题。 本人就上线了一款小程序 &#xff0c;集结者assemble &#xff0c;现在上了广告了&#xff0c;收益不是很多&#xff0c;但胜在持续&#xff0c;税后收入&#xff0c;也还在持续推广中。 开发小程序赚大钱得找到变现模式&a…

0基础学习Mybatis系列数据库操作框架——目录结构

大纲 配置的修改代码的修改Main.java文件所在包下新增org.example.model包新增org.example.mapper包 单元测试 在《0基础学习Mybatis系列数据库操作框架——最小Demo》一文中&#xff0c;我们用最简单的方法组织出一个Mybatis应用项目。为了后续构建更符合日常开发环境的项目&a…

归并排序和分治

归并排序 归并排序是利用归并的思想实现的排序方法&#xff0c;该算法采用经典的分治策略&#xff08;分治法将问题分成一些小的问题然后递归求解&#xff0c;而治的阶段则将分的阶段得到的各答案"修补"在一起&#xff0c;即分而治之)。 分而治之 可以看到这种结构…