C语言贪吃蛇(详解)——链表实现
贪吃蛇设计思路:
屏幕坐标:
拓展功能:
1.F1,F2控制加速减速 空格暂停游戏 Esc退出
2.加速每个食物得分更高
先打印出游戏界面,还有初始化蛇,蛇的节点用字符串★表示,游戏背景用■表示,因为这些字符串占两个字节的宽度,所以每次x,y坐标的对应关系是x=y*2。在相应位置打印出蛇,初始化蛇为五个节点
初始化蛇头的移动方向为右,根据按键来确定蛇的移动状态,要是吃到食物,就让食物为蛇头,然后随机生成食物,
重点模块:
蛇移动的实现:
定义一个结构体,里面放节点坐标,和next指针。
蛇每次移动是通过用户按键方向来确定下一个蛇头节点的x,y坐标,新建一个节点赋给下一个坐标,在这个坐标打出蛇的图标,找到尾节点,将尾节点打印成背景图标,再将节点释放,这样蛇就动了一下,以此重复,蛇就可以了动态移动。
食物的实现:
定义一个食物节点,也是一个类似于蛇的结构体指针,通过随机数生成坐标,注意不能在墙上和蛇身上。
用户按键的检测:可以使用wasd的字符来确定方向,但这里我们还需要使用空格,ESC键,上下左右键,所以直接一点,通过GetAsyncKeyState( )函数检测用户输入的按键,需要引用头文件conio.h,_getch()函数用来检测当前是否有按键输入,有的话返回非0的数。
蛇的变速:还是通过GetAsyncKeyState( )函数检测F1,F2,键来确定蛇移动一次Sleep()函数中的毫秒数,这样就实现了蛇的加速减速。而且蛇每移动一次,不必使用system(“cls")来清屏,通过在循环中snakemove()执行一次,Sleep()函数执行一次,就实现了动态移动。
实现效果:
完整代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<time.h>
#include<windows.h>
#include<stdlib.h>
#include<conio.h> //接收键盘输入输出#define U 1
#define D 2
#define L 3
#define R 4 //蛇的状态,U:上 ;D:下;L:左 R:右/*******定 义 全 局 变 量 *******/
typedef struct snake //蛇身的一个节点
{int x;int y;struct snake *next;
}snake;
int score=0,add=10; //总得分与每次吃食物得分
int status,sleeptime=200; //蛇前进状态,每次运行的时间间隔
snake *head, *food; //蛇头指针,食物指针
snake *q; //遍历蛇的时候用到的指针
int endgamestatus=0; //游戏结束的情况,1:撞到墙;2:咬到自己;3:主动退出游戏。
HANDLE hOut; //控制台句柄/*******函 数 声 明 *******/
void gotoxy(int x,int y); //设置光标位置
int color(int c); //更改文字颜色
void welcometogame(); //开始界面
void createMap(); //绘制地图
void scoreandtips(); //游戏界面右侧的得分和小提示
void initsnake(); //初始化蛇身,画蛇身
void createfood(); //创建并随机出现食物
int biteself(); //判断是否咬到了自己
void cantcrosswall(); //设置蛇撞墙的情况
void speedup(); //加速
void speeddown(); //减速
void snakemove(); //控制蛇前进方向
void keyboardControl(); //控制键盘按键
void Lostdraw(); //游戏结束界面
void endgame(); //游戏结束
void choose(); //游戏失败之后的选择
void explation(); //游戏说明/*** 设置光标位置*/
void gotoxy(int x,int y)
{COORD c;c.X=x;c.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}/*** 文字颜色函数 */
int color(int c)
{SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c); //更改文字颜色return 0;
}//开始界面void welcometogame()
{int n;gotoxy(43,10);color(11);printf("贪 吃 蛇 大 作 战");color(12);gotoxy(25, 22);printf("1.开始游戏");gotoxy(45, 22);printf("2.游戏说明");gotoxy(65, 22);printf("3.退出游戏");gotoxy(40,27);color(3);printf("请选择 1 2 3:"); color(14);scanf("%d", &n); //输入选项switch (n){case 1:system("cls");createMap(); //创建地图initsnake(); //初始化蛇身createfood(); //创建食物keyboardControl(); //按键控制break;case 2:explation(); //游戏说明函数break;case 3:exit(0); //退出游戏break;default: color(12);gotoxy(40,28);printf("请输入1—3之间的数!");_getch(); //输入任意键system("cls"); //清屏welcometogame();}
}//创建地图void createMap()
{int i,j;for(i=0;i<58;i+=2) //打印上下边框{gotoxy(i,0);color(5); printf("□");gotoxy(i,26);printf("□");}for(i=1;i<26;i++) //打印左右边框{gotoxy(0,i);printf("□"); gotoxy(56,i);printf("□"); }for(i = 2;i<56;i+=2) //打印中间网格{for(j = 1;j<26;j++){gotoxy(i,j);color(3);printf("■");}}
}// 游戏界面右侧的得分和小提示void scoreandtips()
{gotoxy(64,8);color(14);printf("得分:%d ",score);gotoxy(64,14);printf("每个食物得分:%d分",add);gotoxy(64,16);printf("不能穿墙,不能咬到自己");gotoxy(64,18);printf("用↑ ↓ ← →分别控制蛇的移动");gotoxy(64,20);printf("F1 为加速,F2 为减速");gotoxy(64,22);printf("space:暂停游戏");gotoxy(64,24);printf("ESC :退出游戏");
}//初始化蛇身,画蛇身void initsnake()
{snake *tail;int i;tail=(snake*)malloc(sizeof(snake));//从蛇尾开始,头插法,以x,y设定开始的位置tail->x=24; //蛇的初始位置(24,5)tail->y=5;tail->next=NULL;for(i=1;i<=4;i++) //设置蛇身,长度为5{head=(snake*)malloc(sizeof(snake)); //初始化蛇头head->next=tail; //蛇头的下一位为蛇尾head->x=24+2*i; //设置蛇头位置head->y=5;tail=head; //蛇头变成蛇尾,然后重复循环}while(tail!=NULL) //从头到尾,输出蛇身{gotoxy(tail->x,tail->y);color(14);printf("★"); //输出蛇身,蛇身使用★组成tail=tail->next; //蛇头输出完毕,输出蛇头的下一位,一直输出到蛇尾}
}/*** 随机出现食物*/
void createfood()
{snake *food_1;srand((unsigned)time(NULL)); //初始化随机数food_1=(snake*)malloc(sizeof(snake)); //初始化food_1while((food_1->x%2)!=0) //保证其为偶数,使得食物能与蛇头对其,然后食物会出现在网格线上{food_1->x=rand()%52+2; //食物随机出现}food_1->y=rand()%24+1;q=head;while(q->next==NULL){if(q->x==food_1->x && q->y==food_1->y) //判断蛇身是否与食物重合{free(food_1); //如果蛇身和食物重合,那么释放食物指针createfood(); //重新创建食物}q=q->next;}gotoxy(food_1->x,food_1->y);food=food_1;color(12);printf("●"); //输出食物
}/*** 判断是否咬到了自己*/
int biteself()
{snake *self; //定义self为蛇身上的一个节点self=head->next; //self是蛇头之外的蛇身上的节点while(self!=NULL){if(self->x==head->x && self->y==head->y) //如果self和蛇身上的节点重合{return 1; //返回1}self=self->next;}return 0;
}/*** 设置蛇撞墙的情况*/
void cantcrosswall()
{ if(head->x==0 || head->x==56 ||head->y==0 || head->y==26) //如果蛇头碰到了墙壁{endgamestatus=1; //返回第一种情况endgame(); //出现游戏结束界面}
}/*** 加速,蛇吃到食物会自动提速,并且按F1会加速*/
void speedup()
{if(sleeptime>=50){sleeptime=sleeptime-10;add=add+2;}
}/*** 加速,按F2会减速*/
void speeddown()
{if(sleeptime<350) //如果时间间隔小于350{sleeptime=sleeptime+30; //时间间隔加上30add=add-2; //每吃一次食物的得分减2}
}/*** 控制方向 问题:为什么要设置status,而不使用前两章中接收键盘按键的方法*/
void snakemove() //蛇前进,上U,下D,左L,右R
{snake * nexthead;cantcrosswall();nexthead=(snake*)malloc(sizeof(snake)); //为下一步开辟空间if(status==U){nexthead->x=head->x; //向上前进时,x坐标不动,y坐标-1nexthead->y=head->y-1;nexthead->next=head;head=nexthead;q=head; //指针q指向蛇头if(nexthead->x==food->x && nexthead->y==food->y) //如果下一个有食物 下一个位置的坐标和食物的坐标相同{while(q!=NULL){gotoxy(q->x,q->y);color(14);printf("★"); //原来食物的位置,从●换成★q=q->next; //指针q指向的蛇身的下一位也执行循环里的操作}score=score+add; //吃了一个食物,在总分上加上食物的分speedup();createfood(); //创建食物}else {while(q->next->next!=NULL) //如果没遇到食物{gotoxy(q->x,q->y);color(14);printf("★"); //蛇正常往前走,输出当前位置的蛇身q=q->next; //继续输出整个蛇身}gotoxy(q->next->x,q->next->y); //经过上面的循环,q指向蛇尾,蛇尾的下一位,就是蛇走过去的位置color(3);printf("■");free(q->next); //进行输出■之后,释放指向下一位的指针q->next=NULL; //指针下一位指向空}}if(status==D){nexthead->x=head->x; //向下前进时,x坐标不动,y坐标+1nexthead->y=head->y+1;nexthead->next=head;head=nexthead;q=head;if(nexthead->x==food->x && nexthead->y==food->y) //有食物{while(q!=NULL){gotoxy(q->x,q->y);color(14);printf("★");q=q->next;}score=score+add;speedup();createfood();}else //没有食物{while(q->next->next!=NULL){gotoxy(q->x,q->y);color(14);printf("★");q=q->next;}gotoxy(q->next->x,q->next->y);color(3);printf("■");free(q->next);q->next=NULL;}}if(status==L){nexthead->x=head->x-2; //向左前进时,x坐标向左移动-2,y坐标不动nexthead->y=head->y;nexthead->next=head;head=nexthead;q=head;if(nexthead->x==food->x && nexthead->y==food->y)//有食物{while(q!=NULL){gotoxy(q->x,q->y);color(14);printf("★");q=q->next;}score=score+add;speedup();createfood();}else //没有食物{while(q->next->next!=NULL){gotoxy(q->x,q->y);color(14);printf("★");q=q->next; }gotoxy(q->next->x,q->next->y);color(3);printf("■");free(q->next);q->next=NULL;}}if(status==R){nexthead->x=head->x+2; //向右前进时,x坐标向右移动+2,y坐标不动nexthead->y=head->y;nexthead->next=head;head=nexthead;q=head;if(nexthead->x==food->x && nexthead->y==food->y)//有食物{while(q!=NULL){gotoxy(q->x,q->y);color(14);printf("★");q=q->next;}score=score+add;speedup();createfood();}else //没有食物{while(q->next->next!=NULL){gotoxy(q->x,q->y);color(14);printf("★");q=q->next; }gotoxy(q->next->x,q->next->y);color(3);printf("■");free(q->next);q->next=NULL;}}if(biteself()==1) //判断是否会咬到自己{endgamestatus=2;endgame();}
}/*** 控制键盘按键*/
void keyboardControl()
{status=R; //初始蛇向右移动while(1){scoreandtips();if(GetAsyncKeyState(VK_UP) && status!=D) //GetAsyncKeyState函数用来判断函数调用时指定虚拟键的状态{status=U; //如果蛇不是向下前进的时候,按上键,执行向上前进操作}else if(GetAsyncKeyState(VK_DOWN) && status!=U) //如果蛇不是向上前进的时候,按下键,执行向下前进操作{status=D;}else if(GetAsyncKeyState(VK_LEFT)&& status!=R) //如果蛇不是向右前进的时候,按左键,执行向左前进{status=L;}else if(GetAsyncKeyState(VK_RIGHT)&& status!=L) //如果蛇不是向左前进的时候,按右键,执行向右前进{status=R;}if(GetAsyncKeyState(VK_SPACE)) //按暂停键,执行pause暂停函数{while(1){Sleep(300); //sleep()函数,头文件#include <unistd.h> 另进程暂停,知道达到里面设定的参数的时间。if(GetAsyncKeyState(VK_SPACE)) //按空格键暂停{break;}} }else if(GetAsyncKeyState(VK_ESCAPE)){endgamestatus=3; //按esc键,直接到结束界面break;}else if(GetAsyncKeyState(VK_F1)) //按F1键,加速{speedup();}else if(GetAsyncKeyState(VK_F2)) //按F2键,减速{speeddown();}Sleep(sleeptime);snakemove();}
}/*
* 游戏说明
*/
void explation()
{//int i,j = 1;system("cls");// color(13);// gotoxy(44,3);// printf("游戏说明");// color(2);// for (i = 6; i <= 22; i++) //输出上下边框===//{// for (j = 20; j <= 75; j++) //输出左右边框||// {// gotoxy(j, i);// if (i == 6 || i == 22) printf("=");// else if (j == 20 || j == 75) printf("||");// }//}color(3);gotoxy(30,8);printf("1. 不能穿墙,不能咬到自己");color(10);gotoxy(30,11);printf("2. 用↑.↓.←.→分别控制蛇的移动");color(14);gotoxy(30,14);printf("3. F1 为加速,F2 为减速");color(11);gotoxy(30,17);printf("4. 按空格键暂停游戏,再按空格键继续");color(4);gotoxy(30,20);printf("5. ESC :退出游戏.space:暂停游戏");_getch(); //按任意键返回主界面system("cls");welcometogame();
}/*** 结束游戏*/
void endgame()
{system("cls");if(endgamestatus==1){//Lostdraw();gotoxy(43,9);color(12);printf("GAME OVER !");}else if(endgamestatus==2){//Lostdraw();gotoxy(43,9);color(12);printf("GAME OVER !");}else if(endgamestatus==3){//Lostdraw();gotoxy(40,9);color(12);printf("已结束游戏。");}gotoxy(43,12);color(13);printf("你的得分是 %d",score);choose();
}/*** 边框下面的分支选项*/
void choose()
{int n;gotoxy(25,23);color(12);printf("Continue ------ 1");gotoxy(52,23);printf("Exit ------ 2");gotoxy(45,25);color(11);printf("选择: ");scanf("%d", &n);switch (n){case 1:system("cls"); //清屏score=0; //分数归零sleeptime=200; //设定初始速度add = 10; //使add设定为初值,吃一个食物得分10,然后累加welcometogame();break;case 2:exit(0); //退出游戏break;default:gotoxy(35,27);color(12);printf(" 输入有误 重新输入 !");system("pause >nul");endgame();choose();break;}}
/*** 失败界面*/
void Lostdraw()
{system("cls");int i;gotoxy(45,2);color(6);printf("\\\\\\|///");gotoxy(43,3);printf("\\\\");gotoxy(47,3);color(15);printf(".-.-");gotoxy(54,3);color(6);printf("//");gotoxy(44,4);color(14);printf("(");gotoxy(47,4);color(15);printf(".@.@");gotoxy(54,4);color(14);printf(")");gotoxy(17,5);color(11);printf("+------------------------");gotoxy(35,5);color(14);printf("oOOo");gotoxy(39,5);color(11);printf("----------");gotoxy(48,5);color(14);printf("(_)");gotoxy(51,5);color(11);printf("----------");gotoxy(61,5);color(14);printf("oOOo");gotoxy(65,5);color(11);printf("-----------------+");for(i = 6;i<=19;i++) //竖边框{gotoxy(17,i);printf("|");gotoxy(82,i);printf("|");}gotoxy(17,20);printf("+---------------------------------");gotoxy(52,20);color(14);printf("☆☆☆〃");gotoxy(60,20);color(11);printf("----------------------+");}/**
* 主函数
*/
int main()
{ system("mode con cols=100 lines=30"); //设置控制台的宽高//printsnake();welcometogame();keyboardControl();endgame();return 0;
}
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- java计算字符串的长度
计算字符串的长度. 一个字符长度为1,一个汉字的长度为2./** * 计算字符串的长度. 一个字符长度为1,一个汉字的长度为2. * @param String * @return int */ public int lengthOfQuanJiao(String value) { if (value == null) return 0; StringB…...
2024/4/17 17:20:18 - 【网络】TCP三次握手四次挥手
TCP三次握手四次挥手: 建立链接: 请求发起方主动打开链接,接收方被动打开; 三次握手: 请求端发送一个SYN报文段请求链接,由CLOSE状态转为SYN_SEND状态,此时接收端被动打开,由CLOSE状态切为LISTEN状态并保持,当接收到SYN报文段之后,接收端会发送一个确认报文段,告诉发…...
2024/4/18 16:35:13 - 最受欢迎的五大BUG管理系统
五大最受欢迎的BUG管理系统 Google在中国大*陆遭遇变故做出暂时性的退出大*陆市场,也使很多忠实的用户受到小小的挫折,以本公司为例,原本的BUG都是记录在google的EXCEL在线文档中,因为经常性的打不开,测试和开发组在线上交流不了,都只能通过其它的方式进行沟通和讨论,…...
2024/4/17 17:21:11 - Python: 渐进猜数字游戏 代码、测试与猜数字
测试人员要不要懂开发?要不要写代码?作为纯粹的黑盒测试人员,完全不需要懂开发,依然可以把测试做的很好。但代码是软件的核心。对代码的了解可以帮测试人员更加深入的了解软件,可以从代码层面设计更有针对性的设计测试用例,可以从更多的角度审视软件本身,用更多的手段测…...
2024/4/17 17:22:46 - 火车票务管理系统数据库分析(学习练习)
属性明细表字段信息1.列车类型:train_type:空调普快(其他)、普快(其他)、C城际高速、D动车组、G高速动车、K空调快速、K快速、L临客、空调临客、T空调特快、Z直达特快。(GC-高铁/城际 、 D-动车、Z-直达、T-特快、K-快速、其他) 2.(paperstype)证件类型:二代身份证、护照…...
2024/4/19 9:48:32 - TCP协议三次握手的理解
TCP可靠的传输协议,建立连接时的三次握手,终止连接时的四次挥手,在离开大学之后,很快就只记住一个名字,具体过程记不清楚了。重新拾起来,再过一遍有不少恍然大悟的地方,当然也可能是大学时就没学磁实!然后把自己的理解记录一下,自己能表述出来才算是理解了!以下只是对…...
2024/4/17 17:23:28 - python初学者入门学习笔记:字符串的操作(连接/获取长度/截取)
这一节,我们来学习一些对字符串的操作。1、连接字符串我们在PyCharm的编辑区中分别创建三个变量,并存入相应的值。接下来,我们使用print()函数进行显示输出。print(userName + attribute + value)运行代码之后,显示的结果为:除了加号这种连接方法之外,如果只是两段字符,…...
2024/4/11 18:52:48 - 【应急基础】安全应急响应工具年末大放送(含下载)
为了帮助安全分析师更好的完成工作,小编整理了一些现在比较流行的安全应急响应工具和资源,从磁盘镜像创建工具、内存分析工具到内存镜像工具、沙盒/逆向工具等,相信总有一款适合你。磁盘镜像创建工具GetData Forensic Imager - GetData Forensic Imager是一款基于Windows的程…...
2024/4/17 17:20:34 - android游戏开发入门: 贪吃蛇 源代码分析(入门极品)
贪吃蛇是一款足够经典的游戏。它的经典,在于用户操作的简单,在于技术实现的简介,在于他的经久不衰。这里的贪吃蛇的android实现,是SDK Samples中的开源例程。可能各位都有看过~界面如下图啦~作为一个刚入门或者还没入门的新手,着实花了我一些力气来理解这段代码。对于各种…...
2024/4/19 16:44:42 - 分享几款html5游戏源代码
水果忍者在线试玩地址:http://www.dcscms.com/game/fruitninja/index.html 源代码下载地址:第一部分第二部分第三部分 你是我的小羊驼 在线试玩地址:http://www.dcscms.com/game/yangtuo/index.html 源代码下载地址:下载地址 来自猫星的你 在线试玩地址:http://www.d…...
2024/4/19 17:24:22 - 如何用SQL动态截取字符串的长度?
我们都知道,SQL截取字符串的固定长度,可以有Sub()函数,Rigth()函数,或者Left()函数.如果截取的字符串是动态的一个字段,那么显然,以上3个函数是不适用的.那么如何动态的截取字符串的长度呢?比如: 一个表里面有这么ValidDate字段,它的数据是这样的形式插进去的, 1,年; 2,年;6,月…...
2024/4/20 14:26:11 - 邮件服务器的配置
邮件服务器 邮件服务器是一种用来负责电子邮件收发管理的设备。它比网络上的免费邮箱更安全和高效,因此一直是企业公司的必备设备。 https://baike.baidu.com/item/邮件服务器 邮件服务器工作原理xdp@sohu.com用户写好一封Email发送到sohu的Smtp服务器 sohu的Smtp服务器开始处…...
2024/4/17 17:21:04 - wireshark工具使用详解以及Tcp三次握手抓包解析
概述今天学习了下抓包工作的使用,写个文档记录下笔记总结。 Wireshark介绍 wireshark是非常流行的网络封包分析软件,可以截取各种网络封包,显示网络封包的详细信息。 wireshark用处:wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一…...
2024/4/17 17:21:47 - JVM内存溢出分析
一 内存溢出概述在Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的其他几个运行时数据区域都有发生内存溢出异常(OutOfMemoryError,简称OOM)的可能。内存溢出就是在申请内存的时候,没有足够的内存,这个时候就会抛出内存溢出异常。内存溢出和内存泄漏的区别:内存泄…...
2024/4/17 17:21:10 - 24点游戏C语言(附源代码)
在24点游戏中,随机生成4个 数,让用户对这4个数进行四则运算,对用户输入进行判断,若结果为24,则生命值不变,分数加10,将结果存入文件,并以排行榜的方式打开。 首先进行四个数的随机输出(给定的范围是1到13),用rand()函数实现。 { printf("你要计算的四个…...
2024/4/11 18:52:48 - 为内部业务系统(LOB)使用Exchange Online发送匿名邮件
企业中很多企业系统需要使用邮件系统来发送提醒邮件,当企业的邮件系统迁移到Office 365上后,会遇到一个问题就是怎么把原有的设置,平滑移到Exchange Online上面去,让Exchange Online支持企业中的业务系统发送邮件,特别是匿名登录发送邮件微软官网给出了一篇文章,地址如下…...
2024/4/20 13:10:40 - 【前端面试】OSI七层模型和TCP三次握手、四次挥手
这篇博文讲的不错~ http://www.jellythink.com/archives/705osi七层模型: TCP协议头部的格式 Source Port和DestinationPort:分别占用16位,表示源端口号和目的端口号;用于区别主机中的不同进程,而IP地址是用来区分不同的主机的,源端口号和目的端口号配合上IP首部中的源IP…...
2024/4/19 17:44:19 - python获取中文字符串长度
print len(哈哈.decode(utf-8)) #unicode格式 print len(哈哈) #utf-8格式...
2024/4/17 17:22:23 - TCP - 通俗理解TCP的三次握手
三次握手流程的本质,可以这么理解:TCP的三次握手其实是双方各一次握手,各一次确认,只是其中一次握手和确认合并在一起。当然也可以更通俗的去理解:“喂,你听得到吗?” “我听得到呀,你听得到我吗?” “我听得到呀,你听得到我吗?” “我能听到你”三次握手为什么不用…...
2024/4/17 17:21:34 - MATLAB的贪吃蛇小游戏
这几天在做MATLAB的课程设计,因为时间很赶,网上借鉴了Alex的整体框架(文章链接在末尾),改了一个简单的贪吃蛇的小游戏,先来看看总体的效果吧。 游戏比较简单,整个程序也不会很复杂,通过控制上下左右按键来控制贪吃蛇的走位(要想有好成绩一定要有骚走位…...
2024/4/20 14:47:34
最新文章
- 通过网络服务远程调用NVIDIA RTX系列GPU资源
摘要: 随着计算需求的增加,利用GPU进行计算加速已成为提高效率的关键。NVIDIA RTX系列GPU因其出色的性能被广泛用于各种计算密集型任务。本文提供了一套详细的指南,介绍如何在Windows和Linux服务器上通过网络服务远程调用RTX GPU资源…...
2024/5/9 11:32:26 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/7 10:36:02 - C++ //练习 11.14 扩展你在11.2.1节练习(第378页)中编写的孩子姓到名的map,添加一个pair的vector,保存孩子的名和生日。
C Primer(第5版) 练习 11.14 练习 11.14 扩展你在11.2.1节练习(第378页)中编写的孩子姓到名的map,添加一个pair的vector,保存孩子的名和生日。 环境:Linux Ubuntu(云服务器&#x…...
2024/5/5 8:38:52 - 瑞_23种设计模式_迭代器模式
文章目录 1 迭代器模式(Iterator Pattern)★★★1.1 介绍1.2 概述1.3 迭代器模式的结构1.4 中介者模式的优缺点1.5 中介者模式的使用场景 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 JDK源码解析 🙊 前言:本文…...
2024/5/7 14:35:36 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/8 6:01:22 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/7 9:45:25 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/9 4:20:59 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/7 11:36:39 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/8 20:48:49 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/7 9:26:26 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/8 19:33:07 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/8 20:38:49 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/9 7:32:17 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57