基于ege的飞机大战
基于ege图形库的炫酷飞机大战源代码及图片素材.7z
基于ege图形库,用vs2019写的一个飞机大战,键盘操作,可以开火和变身强化,有大招技能,打不过还有充值系统,不充钱还有惩罚(╹ڡ╹ ),运行需要vc运行库需要vc运行库!!!使用代码记得去ege官网下载合适的ege。
基于ege的飞机大战
上来先放结果图(为了上传,所以帧数极低,游戏过程帧数设置为75帧)变身、大招、射击、积分、充值演示
因为是课设,所以要做的炫酷点(笑),飞机会左右摆动,消耗能量可以变身强化,空格键可以发射螺旋丸,打不过的话还可以充钱( ̄_, ̄ ),最后会显示历史最高分
下面贴贴代码,记得先把素材放到根目录呀
cpp文件
#include "flyflyfly.h"
#include <graphics.h>
#include <iostream>
#include <stdlib.h>
#include "ege/fps.h"
#include <fstream>
using namespace std;
int main()
{initgraph(600, 800, INIT_RENDERMANUAL);char name[30] = { "哈,飞机大战" };setcaption(name);//改窗口的名字fps fp;//显示帧率
keyi:login();//登录函数和返回的位置help();//帮助界面////////建敌人zmy ball[300];////////做玩家mds player;player.dx = player.dy = 4;//玩家移动速度player.x = player.y = 300;//玩家初始坐标////////yct boom[1900];//1900发子弹int i = 0, ii = 0;////////初始化敌人initialization_enemy(ball);////////////////////////各种游戏数据/////////////////////////////////////int n = 1;//敌人数量int num = 0;//入侵次数int dang = 0;//撞机次数int speed = 7;//发射子弹速度int fffzd = 66;//能量int toy = 3;//大招数量double zdspeed = 7;//预设子弹速度int color;//子弹颜色//////////////////////各种时间参数/////////////////////////////////////////double time = 1;double t = fclock();double tt = fclock();double ttt = fclock();double ti = fclock();int zd = 0, uzd = 0, die = 0;for (; is_run(); delay_fps(75)){cleardevice();//清屏/////////敌人数量增加enemy_num(&t, &n, &time, fclock());/////////刷新敌人refresh_enemy(&color, &ti,&num, &die, &n, ball, &time);////////////////////射击检测shooting_examine(&ii, &uzd, ball, boom, &die, &zd, &n);////////刷新子弹refresh_bullet(&i, &uzd, &zd, boom, &player, &speed);////////计数counting(&num, &die, &zd, &dang, &fffzd, &toy);////////玩家Player(&fffzd, &n, &player, ball, &die, &dang);////////控制control(&player, &tt, &speed, &zdspeed, &zd, &ttt, &fffzd, &n, &die, ball, &toy, &dang);////////结束提示if ((dang) == 10){for (i = 0; i < 200; i++, delay_fps(100)){setfont(-17, 0, "宋体");char death[50] = "生命值已全部消耗,飞船即将坠毁";outtextxy(140, 80, death);char* hi = new char[3];itoa((int)((200 - i) / 100+1), hi, 10);outtextxy(210, 120, hi);char Return[23] = "S后跳转充值界面";outtextxy(220, 120, Return);}buy(&zdspeed, &fffzd, &toy, &dang);}if ((dang) == 10){PIMAGE end = newimage();getimage(end, "end.jpg");for (i=0; i<500; i++,delay_fps(100)){ cleardevice();putimage(0, 0, end);setbkmode(TRANSPARENT);setfont(-23, 0, "宋体");setcolor(BLACK);char death[33] = "游戏结束,本次任务您的得分为:";outtextxy(105, 410, death);char* hinum = new char[3];itoa((1800 - zd + 100 * die - 200 * num), hinum, 10);outtextxy(445, 410, hinum);int highest = 0;int high= (1800 - zd + 100 * die - 200 * num);fstream afile;afile.open("high.txt",ios::in);//打开文件afile>>highest;//读取最高分afile.close();//关if (high>highest){highest = high;fstream bfile;bfile.open("high.txt", ios::out);bfile << high;//写入最高分bfile.close();//关}char hhh[33] = "历史最高得分为:";outtextxy(170, 470, hhh);char* hh = new char[33];itoa((highest), hh, 10);outtextxy(360, 470, hh);char* hi = new char[3];itoa((int)((500-i)/100+1), hi, 10);outtextxy(206, 530, hi);char Return[23] = "S后返回主菜单";outtextxy(220, 530, Return);}goto keyi;//返回开始}}closegraph();//关闭窗口return 0;
}
flyflyfly.h
#ifndef FLYFLYFLY_H
#define FLYFLYFLY_H
#include <graphics.h>
#include <math.h>
#include <iostream>
#include <stdlib.h>
#include "ege/fps.h"using namespace std;struct zmy {//敌人int dx, dy;int x, y;
};
struct yct {//子弹int x, y;color_t color;
};
struct mds {//玩家int dx, dy;int x, y;//color_t color;
};
//数量
void enemy_num(double* t, int* n, double* time, double a);
//刷新敌人
void refresh_enemy(int *color,double* ti, int* num, int* die, int* n, zmy* ball, double* time);
//初始化敌人
void initialization_enemy(zmy* ball);
//强化
void fire(mds* player, int* speed, double* ttt, int* zd, int* fff);
//登录
void login();
//帮助
void help();
//充值
void buy(double* zdspeed, int* fffzd, int* toy, int* dang);
//大招
void bug(int* n, zmy* ball, int* die);
//命中检测
void shooting_examine(int* ii, int* uzd, zmy* ball, yct* boom, int* die, int* zd, int* n);
//刷新子弹
void refresh_bullet(int* i, int* uzd, int* zd, yct* boom, mds* player, int* speed);
//计数提示
void counting(int* num, int* die, int* zd, int* dang, int* fffzd, int* toy);
//玩家刷新
void Player(int* fffzd, int* n, mds* player, zmy* ball, int* die, int* dang);
//控制
void control(mds* player, double* tt, int* speed, double* zdspeed, int* zd, double* ttt, int* fffzd, int* n, int* die, zmy* ball, int* toy, int* dang);void enemy_num(double* t, int* n, double* time, double a)
{if ((a - *t) > 5)//5s加一个{(*t) = a;if ((*n) < 300)++(*n);}
}
void refresh_enemy(int *color,double* ti, int* num, int* die, int* n, zmy* ball, double* time)
{int i;PIMAGE fly = newimage();getimage(fly, "fly3.png");//图片for (i = 0; i < *n; ++i){ball[i].x += ball[i].dx;ball[i].y += ball[i].dy;//敌人移动if (ball[i].x < (0) || ball[i].x >(545))ball[i].dx = -ball[i].dx;//碰墙x速度反向if (ball[i].y > 800){ball[i].y -= 1800;//向后移动1800像素,循环使用if (ball[i].dx == 0)ball[i].dx += 1;(*num)++;//入侵数加一if ((*n) % 2 == 0 && (*n) < 180){(*time) -= 0.01;//减少间隔}} putimage_withalpha(NULL, fly, (ball[i].x), ball[i].y);//透明}if (fclock() - (*ti) > 3)//3s换一次{*color = random(0xff0000) + 0xffff;(*ti) = fclock();setfillcolor(*color);//子弹颜色随机}elsesetfillcolor(*color);delimage(fly);//释放
}
void initialization_enemy(zmy* ball)
{int p;int fly = 0;for (int i = 0; i < 300; (i)++){if (i % 60 == 0)(fly)+=1;randomize();ball[i].x = random(520);ball[i].y = 0;randomize();(p) = random(2);randomize();ball[i].dx = random(4);if ((p) == 0)ball[i].dx = -ball[i].dx;ball[i].dy = random(3) + fly;randomize();}
}
void fire(mds* player, int* speed, double* ttt, int* zd, int* fff)
{if (fclock() - (*ttt) > 0.05){if (keystate('S') && (*fff) > 0 && (*zd < 1800))// S按下了{(*ttt) = fclock();(*zd)++;(*fff) -= 1;(*speed) = 12;player->dx = player->dy = 7;}else if (fclock() - (*ttt) > 10 && (*fff) < 66){(*ttt) = fclock();(*fff) = 66;}}if (!keystate('S'))player->dx = player->dy = 4;
}void login()
{int x, y;cleardevice();PIMAGE log = newimage();getimage(log, "log.jpg");PIMAGE logA = newimage();getimage(logA, "logA.jpg");PIMAGE logB = newimage();getimage(logB, "logB.jpg");for (; ; delay_fps(120)){mousepos(&x, &y);if (x < 560 && x>450 && y < 480 && y>430){putimage(0, 0, logA); if (keystate(VK_LBUTTON)){delimage(logA);break;}}else if (x < 560 && x>450 && y < 560 && y>510){putimage(0, 0, logB);if (keystate(VK_LBUTTON)){exit(1);}}else{putimage(0, 0, log);}}}
void help()
{double tt = fclock();int x, y;cleardevice();while (kbhit()){getch();}PIMAGE l10 = newimage();getimage(l10, "help.png");for (; ; delay_fps(120)){putimage(0, 0, l10);mousepos(&x, &y);if (fclock() - tt > 0.6){if (keystate(VK_LBUTTON))if (x < 600 && x>0 && y < 550 && y>350)break;elsecontinue;else if (kbhit())break;elsecontinue;}}delimage(l10);
}
void buy(double* zdspeed, int* fffzd, int* toy, int *dang)
{int x, y;cleardevice();PIMAGE l10 = newimage();getimage(l10, "cq.jpg");for (; ; delay_fps(120)){putimage(0, 0, l10);mousepos(&x, &y);if (x < 270 && x>70 && y < 780 && y>735){if (keystate(VK_LBUTTON)){(*dang) = 0;(*zdspeed) = 15;(*fffzd) = 99999;(*toy) += 10;return;}}if (x < 510 && x>335 && y < 780 && y>735){if (keystate(VK_LBUTTON)){(*zdspeed) = 2;(*fffzd) = 0;return;}}}delimage(l10);
}
void bug(int* n, zmy* ball, int* die)
{double x = 500, y = 600;int i = 0;PIMAGE log1 = newimage();getimage(log1, "bug0.png");PIMAGE log2 = newimage();getimage(log2, "bug1.png");PIMAGE log3 = newimage();getimage(log3, "bug2.png");PIMAGE log4 = newimage();getimage(log4, "bug3.png");PIMAGE log5 = newimage();getimage(log5, "bug4.png");PIMAGE log6 = newimage();getimage(log6, "bug5.png");PIMAGE log7 = newimage();getimage(log7, "bug6.png");PIMAGE log8 = newimage();getimage(log8, "bug7.png");PIMAGE log9 = newimage();getimage(log9, "bug8.png");PIMAGE log0 = newimage();getimage(log0, "bug9.png");PIMAGE lo1 = newimage();getimage(lo1, "boom0.png");PIMAGE lo2 = newimage();getimage(lo2, "boom1.png");PIMAGE lo3 = newimage();getimage(lo3, "boom2.png");PIMAGE lo4 = newimage();getimage(lo4, "boom3.png");PIMAGE lo5 = newimage();getimage(lo5, "boom4.png");PIMAGE lo6 = newimage();getimage(lo6, "boom5.png");PIMAGE lo7 = newimage();getimage(lo7, "boom6.png");PIMAGE lo8 = newimage();getimage(lo8, "boom7.png");PIMAGE lo9 = newimage();getimage(lo9, "boom8.png");for (; i < 14; i++){delay_fps(40);putimage_withalpha(NULL, log1, x, y -= 4);delay_fps(40);putimage_withalpha(NULL, log2, x -= 4.5, y);delay_fps(40);putimage_withalpha(NULL, log3, x, y -= 4);delay_fps(40);putimage_withalpha(NULL, log4, x -= 4.5, y);delay_fps(40);putimage_withalpha(NULL, log5, x, y -= 4);delay_fps(40);putimage_withalpha(NULL, log6, x -= 4.5, y);delay_fps(40);putimage_withalpha(NULL, log7, x, y -= 4);delay_fps(40);putimage_withalpha(NULL, log8, x -= 4.5, y);delay_fps(40);putimage_withalpha(NULL, log9, x, y -= 4);delay_fps(40);putimage_withalpha(NULL, log0, x -= 4.5, y);}delimage(log0);delimage(log1);delimage(log2);delimage(log3);delimage(log4);delimage(log5);delimage(log6);delimage(log7);delimage(log8);delimage(log9);cleardevice();putimage(25, 190, lo1);delimage(lo1);delay_fps(10);putimage(25, 190, lo2);delimage(lo2);delay_fps(10);putimage(25, 190, lo3);delimage(lo3);delay_fps(10);putimage(25, 190, lo4);delimage(lo4);delay_fps(10);putimage(25, 190, lo5);delimage(lo5);delay_fps(10);putimage(25, 190, lo6);delimage(lo6);delay_fps(10);putimage(25, 190, lo7);delimage(lo7);delay_fps(9);putimage(25, 190, lo8);delimage(lo8);delay_fps(9);putimage(25, 190, lo9);delimage(lo9);for (int i = 0; i < *n; i++)if (ball[i].y < 800&& ball[i].y >(-100)){/////飞机返回重用ball[i].y -= 1800;ball[i].dy = random(4)+3;ball[i].dx = random(4);randomize();int p = random(2);if (p == 0)ball[i].dx = -ball[i].dx;(*die)++;}}
void shooting_examine(int* ii, int* uzd, zmy* ball, yct* boom, int* die, int* zd, int* n)
{int i ,p;for (*ii = *uzd; (*ii) < *zd; ++(*ii)){for ((i) = 0; (i) < (*n); (i)++)if ((ball[i].x) < boom[*ii].x&& ball[i].y < boom[*ii].y&& ball[i].y > boom[*ii].y - 50&& (ball[i].x + 60) > boom[*ii].x){/////飞机重用ball[i].y -= 1800;ball[i].dy = random(3) + 2;ball[i].dx = random(4);randomize();(p) = random(2);if (p == 0)ball[i].dx = -ball[i].dx;boom[*ii].x -= 900;//子弹移除出场(*die)++;}}
}
void refresh_bullet(int* i, int* uzd, int* zd, yct* boom, mds* player, int* speed)
{for ((*i) = (*uzd); (*i) < (*zd); ++(*i))//还存在的子弹,发射子弹数zd-到达上部子弹数uzd{if ((*i) == (*zd)-1)//初始化发射的最后一个子弹{boom[*i].x = (player->x + 35);//子弹从飞机中间射出boom[*i].y = player->y+30;break;}boom[*i].y -= *speed;//子弹向上移动fillellipsef(boom[*i].x, boom[*i].y, 3, 8);//绘出子弹if (boom[*i].y < 50)(*uzd)++;//用过的子弹(到达上面的)}
}
void counting(int* num, int* die, int* zd, int* dang, int* fffzd, int* toy)
{setbkmode(TRANSPARENT);char drnumts[16] = "已入侵敌人数量:";outtextxy(5, 15, drnumts);char* drnum = new char[6];itoa((*num), drnum, 10);outtextxy(130, 15, drnum);char died[16] = "已消灭敌人数量:";outtextxy(5, 40, died);char death[5];itoa((*die), death, 10);outtextxy(130, 40, death);char zdnumts[16] = "目前剩余子弹量:";outtextxy(170, 15, zdnumts);char* zdnum = new char[4];itoa(1800 - (*zd), zdnum, 10);outtextxy(292, 15, zdnum);char bloodts[16] = "飞机剩余生命值:";outtextxy(170, 40, bloodts);char* blood = new char[4];itoa((100 - (10 * (*dang))), blood, 10);outtextxy(300, 40, blood);char bloo2dts[16] = "强化能量数值:";outtextxy(340, 15, bloo2dts);char* bloo2d = new char[11];itoa((*fffzd), bloo2d, 10);outtextxy(470, 15, bloo2d);char toyts[16] = "终极技能数量:";outtextxy(340, 40, toyts);char* toynum = new char[11];itoa((*toy), toynum, 10);outtextxy(477, 40, toynum);}
////////玩家
void Player(int* fffzd, int* n, mds* player, zmy* ball, int* die, int* dang)
{PIMAGE fly = newimage();if (keystate('S') && (*fffzd) > 0)//检测按下S,按下则载入变身图getimage(fly, "fly2.png");else if ((int)(fclock() * 10) % 2 == 0)//秒数乘以10判断奇偶,实现0.1s换一次飞机图getimage(fly, "fly11.png");elsegetimage(fly, "fly12.png");putimage_withalpha(NULL, fly, player->x, player->y);//飞机透明部分透明化delimage(fly);//释放for (int i = 0; i < *n; ++i)//撞机检测{if ((ball[i].x) < (player->x + 60) && (ball[i].y - 40) < (player->y) && (ball[i].y + 40) > (player->y) && (ball[i].x) > (player->x - 45)){ball[i].y -= 1800;//飞机返回重用(*die) += 1;//击落数加一(*dang) += 1;//撞击数加一}}
}
////////控制
void control(mds* player, double* tt, int* speed, double* zdspeed, int* zd, double* ttt, int* fffzd, int* n, int* die, zmy* ball, int* toy, int *dang)
{if (keystate(VK_UP))// 上键按下了{if (player->y < 70) //碰墙检测player->y += (player->dy+1 );//碰墙后退player->y -= (player->dy-1);//飞机前进while (kbhit())//检测缓冲区{getch();//清空键盘缓冲区}}if (keystate(VK_DOWN))// 下键按下了{if (player->y >= 720)//碰墙检测player->y -= (player->dy + 2);//碰墙前进player->y += (player->dy+1);//飞机后退while (kbhit()){getch();}}if (keystate(VK_RIGHT)) // 右键按下了{if (player->x > (560))//碰墙检测player->x -= (player->dx + 1);player->x += player->dx;while (kbhit()){getch();}}if (keystate(VK_LEFT))// 左键按下了{if (player->x < (-30))//碰墙检测player->x += (player->dx + 1);player->x -= player->dx;while (kbhit()){getch();}}if (keystate('A') && !keystate('S')&&(*zd<1800))// A按下,S{if (fclock() - *tt > 0.15)//开火间隔0.15s{(*tt) = fclock();*speed = *zdspeed;//子弹飞行速度复位(*zd)++;//子弹数加一}while (kbhit()){getch();}}fire(player, speed, ttt, zd, fffzd);//s强化子弹if (keystate(VK_SPACE) && (*toy) != 0)// 按下空格开大{(*toy)--;//大招减一bug(n, ball, die);//大招函数}if (keystate('C'))// 按下C充值{buy(zdspeed, fffzd, toy , dang);//充值}if (keystate('H'))// 按下H帮助help();//帮助}#endif
素材的话我上传了csdn,使用前请记得下载合适的ege和vc运行库
//download.csdn.net/download/weixin_44544354/12041609
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- python pytest raises()
import pytest def test_zero_division():with pytest.raises(ZeroDivisionError) as excinfo://在该上下文下写跑一场的函数1 / 0assert excinfo.type == ZeroDivisionError # 断言异常类型typeassert "division by zero" in str(excinfo.value) # 断言异常value值参…...
2024/4/17 16:37:21 - python pytest raises()
import pytest def test_zero_division():with pytest.raises(ZeroDivisionError) as excinfo://在该上下文下写跑一场的函数1 / 0assert excinfo.type == ZeroDivisionError # 断言异常类型typeassert "division by zero" in str(excinfo.value) # 断言异常value值参…...
2024/4/17 15:08:40 - python pytest mark
默认情况下pytest会测试所有的函数,但是有些时候我们只想测试指定的函数,这就需要用到mark @pytest.mark.finished @pytest.mark.unfinished @pytest.mark.skip 跳过import pytest @pytest.mark.finished def test1_fun():assert 1 == 1@pytest.mark.unfinished def test2_fun(…...
2024/4/16 13:11:17 - python pytest mark
默认情况下pytest会测试所有的函数,但是有些时候我们只想测试指定的函数,这就需要用到mark @pytest.mark.finished @pytest.mark.unfinished @pytest.mark.skip 跳过import pytest @pytest.mark.finished def test1_fun():assert 1 == 1@pytest.mark.unfinished def test2_fun(…...
2024/4/16 13:11:42 - python pytest mark.parametrize
虽然可以在测试函数内循环遍历所有参数的可能性,但一旦失败就终止了,即使try结果也比较南分析,所以可以使用pytest.mark.parametrize(argnames, argvalues) # test_parametrize.py@pytest.mark.parametrize(passwd,[123456,abcdefdfs,as52345fasdf4]) # 会执行3次 def test_pas…...
2024/4/16 13:12:09 - python pytest 前置后置
有些函数需要连接数据库,可以把连接数据库和断开数据的操作放在,指定的函数里. 这样每次测试函数的时候,都调取这个链接数据库的函数即可 # test_db.py@pytest.fixture() def db():print(Connection successful)yieldprint(Connection closed)def search_user(user_id):d = {00…...
2024/5/3 5:35:47 - LeetCode 75. 颜色分类(三指针)
Description 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 示例:输入:…...
2024/4/16 13:11:53 - python中的类型提示(type hint)
在刷leetcode或者一些官方源码的时候,经常看到如下字样: class Solution:def sortList(self, head: ListNode) -> ListNode:这就是类型提示(type hint),下面来个简单的例子, def greeting(name: str) -> str:return Hello + name如上,其中name是传入的参数,而:右边…...
2024/5/3 3:52:17 - Java数据结构与算法(剑指offer)——输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意…...
2024/4/16 13:11:32 - 复阻抗传递函数
在画控制系统方框图时,需要将从输入量到输出量的所有中间变量及传递函数写出,以便画图,在电路系统中时常遇到电感和电容,其传递函数推导如下: 1.电容传递函数: 电容输入输出关系 以uc(t)u_c(t)uc(t)为输出,i(t)i(t)i(t)为输入,则有: i(t)=Cduc(t)dti(t)=C \frac{du_…...
2024/5/3 7:08:58 - Java的数据类型
//整形(属于整型的4个基本数据类型)byte a1=127;//可装最大值 (2^7)-1byte a2=-128;//可装最小值 -2^7short b1=32767;//可装最大值 (2^15)-1short b2=-32768;//可装最小值 -2^15int c1=2147483647;//可装最大值 (2^31)-1int c2=-2147483648;//可装最小值 -2^31long d1=92233…...
2024/4/16 13:11:47 - 常见排序的复杂度比较
Python中sort()函数用的排序算法是Timsort算法 Timsort算法 :时间复杂度O(nlogn)空间复杂度O(n)...
2024/4/16 13:11:32 - R语言---使用RTCGA包获取TCGA数据---笔记整理
原文链接:https://mp.weixin.qq.com/s?__biz=MzAxMDkxODM1Ng==&mid=2247486585&idx=1&sn=3035f6420904aad2c8161b362cdeb472&chksm=9b484cc2ac3fc5d479fc5bce3d68d4666b763652a21a55b281aad8c0c4df9b56b4d3b353cc4c&scene=21#wechat_redirect1.RTCGA相关…...
2024/5/3 4:54:02 - Markdown学习之路
Markdown学习之路 目录 前言 推荐的教程 markdown语法总结标题及正文 字体 转义字符 分割线 列表 区块引用 代码框 图片插入 链接 表格 数学公式 流程图 Markdown-preview-enhanced插件的扩展语法遇到过的问题前言本文目的在于记录自己的Markdown学习之路,文中推荐了自己比较喜…...
2024/4/16 13:11:32 - 【庖丁解牛】从零实现RetinaNet(终):不同分辨率下RetinaNet的性能表现
文章目录 所有代码已上传到本人github repository:https://github.com/zgcr/pytorch-ImageNet-CIFAR-COCO-VOC-training 如果觉得有用,请点个star哟! 代码均在pytorch1.4版本中测试过,确认正确无误。 之前有同学提出从零实现RetinaNet(二)中与原论文点数对标的换算方式不…...
2024/4/23 9:27:35 - 3类线程安全、线程安全应用场景、性能问题
https://kaiwu.lagou.com/course/courseInfo.htm?courseId=16#/detail/pc?id=2443 类线程安全问题?线程安全问题主要有 3 种,i++ 等情况导致的运行结果错误,通常是因为并发读写导致的,第二种是对象没有在正确的时间、地点被发布或初始化,而第三种线程安全问题就是活跃性…...
2024/4/20 10:14:01 - (Python Primary) - 廖雪峰Python3 - 9.面向对象高级编程
9.面向对象高级编程 9.1使用__slots__在动态语言中,实例可以轻松绑定一个属性,但直接绑定一个方法,对另一个实例是不起作用的>>> def set_age(self, age): # 定义一个函数作为实例方法 ... self.age = age ... >>> from types import MethodType >…...
2024/5/3 0:03:55 - 链队列
链队列 #include<stdio.h> #include<stdlib.h> typedef int datatype; typedef struct Queuenode{datatype data;struct Queuenode *next; }Node; typedef struct Queuelink{struct Queuenode *front,*rear; }Qlink;void init(Qlink *q){q->front = (Node *)mal…...
2024/4/19 15:23:28 - tensorflow_addons(tfa)安装与使用
tensorflow将tf.contrib移除,许多功能转移到了第三方库,今天介绍其中的tensorflow_addons(tfa)的安装与使用方法: tfa安装: pip install tensorflow-addons需要注意tfa版本与tf版本对应,官方github上列出了对应关系:可以安装指定版本: pip install tensorflow_addons==0…...
2024/4/19 8:27:06 - 安卓ui MXL布局实例 对应的布局代码类别参考
对应的布局代码名称符号及作用: RelativeLayout布局 android:layout_marginTop=“25dip” //顶部距离 android:gravity=“left” //空间布局位置 android:layout_marginLeft="15dip //距离左边距 相对于给定ID控件 android:layout_above 将该控件的底部置于给定ID的控件之…...
2024/4/1 0:34:08
最新文章
- 云计算技术概述_2.云计算的服务方式
1.三类典型的服务方式 在对云计算深入理解的基础上,产业界和学术界对云计算的服务方式进行了总结。目前一致认为云计算自上而下具有“软件即服务(Software as a Service)”、“平台即服务(Platform as a Service,Paas&…...
2024/5/3 8:38:58 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 自定义OPPO-r9s的kernel内核,并开启安卓支持docker
0. 版本说明 本文提供了OPPO手机r9s的内核编译方法,并开机支持docker。用的是开源lineage14.1的rom。 我这边基于开源lineage14.1,打了一个docker内核编译镜像(17380582683/r9s),大家可以在容器里,手动打出完整的rom包zip文件。…...
2024/5/2 2:39:28 - MQ的作用及分类
概念: MQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一…...
2024/5/3 7:53:41 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/2 16:16:39 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/2 9:28:15 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/2 15:04:34 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/2 9:07:46 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下: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