基于Netty的联机版坦克大战

项目介绍

项目github地址:基于Netty的联机版坦克大战

该项目实现了联机版坦克大战,项目包括客户端与服务端

项目使用技术:

  • 使用Netty实现客户端和服务端之间的通讯
  • 使用Marshalling作为编解码技术
  • 游戏界面使用java自带的swing与awt进行编写
  • 使用Spring的依赖注入与java的反射机制简化了消息类型的判定
  • 使用Mysql数据库
  • 使用log4j记录日志

实现功能:

  • 人机对战
  • 多玩家开房间对战
  • 碰撞检测
  • 机器坦克使用A*算法,进行路径规划
  • 机器坦克有巡逻范围的概念,当玩家坦克进入其巡逻范围,机器坦克才会使用A*寻路前往玩家坦克的位置
  • 限制了子弹的飞行距离,当子弹到达飞行距离上限、击中障碍物、碰到边界时,子弹会爆炸。子弹爆炸是范围性伤害,在爆炸范围内,砖块和坦克都会被消灭
  • 游戏支持多地图,玩家可以选择任意一幅地图
  • 实现心跳机制,断线重连功能
  • 在人机对战模式中,支持进度保存
  • 实现用户登录、注册等功能

效果展示

在人机对战模式中,有多幅地图可供选择:

玩家对战模式:

在这里插入图片描述

使用方式

本项目使用maven构建,原则上不需要用户自行下载各种jar包,但是在pom.xml中添加jboss-marshalling-serial-1.3.0.CR9.jar
依赖包,运行程序时会抛出异常,无法正常运行(原因暂时不明),因此需要还自行将lib文件夹下的jboss-marshalling-serial-1.3.0.CR9.jar包添加到客户端和服务端的Build
Path中

使用步骤:

  • 将lib文件夹下的jar包添加到Build Path
  • 安装Mysql数据库,将根目录下的tank_db.sql文件导入数据库
  • 设置数据库账号和密码:在tankServer的com.tank.dao.DBHelper.getConnection()中修改数据库用户和密码(暂时以硬编码的形式,未弄成配置文件的形式)
  • 对客户端与服务端程序构建,maven insatll,自动下载各种依赖包
  • 运行tankServer项目中的com.tank.server.handler.TankServer.java,启动服务端程序
  • 运行tankClient项目中的com.tank.start.TankStart.java,启动客户端(若要进行玩家联机对战,需要启动多个客户端)
  • 使用已有账号登录,或者注册新的账号(可以使用数据库中已有的账号li或yu进行登录,密码为12)
  • 选择对战模式(若是玩家对战,需要先开房间,房间内至少需要两人,方可开始游戏)
  • 人机模式下可选择不同的地图,地图数据存储在数据库中
  • 使用方向键控制坦克进行移动,按键X发射子弹(所有坦克一次只能发射一个子弹,只有子弹爆炸后,才能再发射新的子弹),在人机模式下,按键S保存游戏进度

项目结构

Client项目结构:

  • lib:一些jar包
  • log:存放日志
  • pom.xml:maven配置文件
  • src/main/java:存放源码
    • com.tank.beanPostProcessor:存放自定义的Spring容器的后处理器,自定义的消息处理的注解等
    • com.tank.client.handler:Netty相关的一些消息处理的类
    • com.tank.entity:定义游戏中的实体,如坦克、砖块、子弹、水、铁块等
    • com.tank.map:存放地图相关数据
    • com.tank.request:各种类型的请求消息实体
    • com.tank.response:各种类型的响应消息实体
    • com.tank.service:存放处理消息的一些类
    • com.tank.start:启动客户端
    • com.tank.view:客户端界面的一些类
    • com.tank.view.controller:处理用户按键
    • com.tank.thread:线程相关类
    • images:存储客户端界面相关的图片
    • application-context.xml:Spring容器配置文件

Server项目结构:

  • lib:一些jar包
  • log:存放日志
  • pom.xml:maven配置文件
  • src/main/java:存放源码
    • com.tank.beanPostProcessor:存放自定义的Spring容器的后处理器,自定义的消息处理的注解等
    • com.tank.dao:定义数据库的增删改查操作
    • com.tank.dao.entity:数据库相关实体
    • com.tank.entity:定义游戏中的实体,如坦克、砖块、子弹、水、铁块等
    • com.tank.facade:消息处理的门面类
    • com.tank.map:可以用于生成地图
    • com.tank.request:各种类型的请求消息实体
    • com.tank.response:各种类型的响应消息实体
    • com.tank.server.handler:Netty相关的一些消息处理的类
    • com.tank.service:存放处理消息的一些类
    • com.tank.thread:线程相关类
    • application-context.xml:Spring容器配置文件

碰撞检测

碰撞检测机制比较简单,检测的原理如下图。先假设坦克往前移动一步,然后计算两个物体中心之间的距离d,若d不超过两个物体宽度之和,则坦克向前走一步不会发生碰撞,否则会碰撞

在这里插入图片描述

消息处理

以服务端为例,服务端程序需要根据不同的消息类型,采取不同的处理方式。最简单的实现方式,就是使用if-else先识别消息类型,再对消息进行处理,但每增加一种消息类型,就需要增加一个if分支。

使用Spring容器与java反射机制,对消息类型判定的逻辑进行简化,逻辑如下:

  • 自定义一个注解@HandlerAnno,每个处理消息的类使用@Component进行注解,每个处理消息的方法都使用@HandlerAnno进行注解
  • 自定义一个BeanPostPostProcessor。当Spring容器初始化时,Spring容器会扫描所有方法,获得使用@HandlerAnno标注的Method,并将其注册到一个HashMap<消息类型,处理Method>中
  • 当服务端收到一个消息时,从HashMap中取出对应的Method,然后使用java的反射机制,执行该方法,以对消息进行处理

下面是使用if-else对消息类型进行判别时的部分代码,代码比较冗长:

public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {if (msg instanceof RegisterRequest) {} else if (msg instanceof StartGameRequest) {} else if (msg instanceof CloseClientRequest) {} else if (msg instanceof SavePogressRequest) {} else if (msg instanceof JudgeStorageRequest) {} else if (msg instanceof PingRequest) {} else if (msg instanceof ReConnectRequest) { }
}

使用@HandlerAnno注解机制之后,仅需为每种消息的处理方法加上@HandlerAnno注解,而channelRead()的代码只需几行即可,不再需要冗长的if-else语句对消息类型进行判定

@HandlerAnno
public void login(Channel channel, LoginRequest request) {// 登陆请求String name = request.getId();String password = request.getPassword();LoginResponse response = gameService.login(name, password, channel);channel.writeAndFlush(response);
}@HandlerAnno
public void startGame(Channel channel, StartGameRequest request) {	//开始游戏gameService.startGame(request, channel);
}@HandlerAnno
public void register(Channel channel, RegisterRequest request) {// 注册请求RegisterResponse response = gameService.register(request);channel.write(response);
}...public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {log.debug("RECEIVE MSG->"+msg);if(msg instanceof PingRequest){	//如果收到的是心跳消息,不处理}else{	//处理非心跳消息dispatcher.doHandle(ctx.channel(), msg);}}

A*寻路

在介绍A*算法之前,先简单说一下广度优先遍历的寻路算法。在广度优先遍历寻路算法中,从起点开始,通过不断增大搜索半径,对周围的节点进行扩展,以找到终点。
很显然,广度优先遍历寻路算法找到路径一定是最短的,但是缺点也很明显,该算法的时间复杂度非常大,需要额外扩展很多无用的节点。这主要是因为广度优先遍历寻路算法只关注当前节点和起始节点之间的距离,而忽略了当前节点到目标节点的距离

A*算法是一种比较常见的启发式路径搜索算法,不同于广度优先遍历寻路算法,A*算法在关注当前节点和起始节点之间的距离的同时,还关注当前节点到目标节点的距离。

定义几个表达式:

  • G(n):起点到节点n的耗散值。耗散值为从起点走到节点n的步数
  • H(n):节点n到终点的估计耗散值。耗散值为节点n走到终点的欧几里得距离、曼哈顿距离或者其他的距离,可以自行定义,启发式函数的选择对算法最终的效果至关重要
  • F(n):起点经过节点n,达到终点需要的耗散值
  • F(n)=G(n)+H(n)

在A*算法中会维护一个open表和closed表

  • open表:存放待扩展的节点,用优先队列PriorityQueue实现,F值最小的排在队首
  • closed表:存放已扩展或者不可扩展的节点,用Hashset实现

算法伪代码:

使用PriorityQueue定义openTable(F值最小的节点排在队首)
使用HashSet定义closedTable
将起始节点放入openTable
repeat从openTable中取出队首节点Pif P是终点算法结束for neighbor in P的所有邻居:if neighbor不是障碍物 and neighbor不在closedTable中:将neighbor放入openTable将节点P放入closedTable
until openTable为空 or 找到终点

心跳检测与断线重连

心跳机制就是客户端定时发送一个心跳包,让服务端知道自己还活着,以确保连接的有效性。

实现方式:

  • 客户端监听通道写空闲事件,如果5s内通道写空闲,则客户端发送一个心跳消息给服务端,保证服务端在5s左右不会出现读空闲
  • 服务端监听通道写空闲事件,如果10s内通道读空闲,则服务端认为该客户端连接已失效,断开连接,释放该连接,但不释放该客户端对应的游戏资源,
    等待客户端重新连接
  • 客户端检测到断开连接后,重新连接服务端

子弹逻辑

由于坦克发射子弹之后,子弹会沿着发射的方向飞行,需要定时更新子弹的位置。为了解决该问题,在本项目中,当一个坦克发射一枚子弹后,会开启一个新线程,用于更新子弹的状态。当子弹爆炸之后,该线程结束。

子弹的飞行距离是有上限的,每隔一定的时间间隔,线程更新子弹的位置信息,并且判断子弹是否击中砖块、坦克、钢块、是否达到飞行距离上限、是否达到边界。
如果条件成立,则子弹会发生爆炸,产生范围性伤害,对爆炸范围内的物体造成伤害。

机器坦克逻辑

在人机对战模式中,机器坦克有个巡逻范围的概念。只有当玩家坦克进入机器坦克的巡逻范围,机器坦克才会对玩家坦克的位置进行路径规划。

在人机对战中,每局游戏在服务端中都有一个专门进行路径规划的线程,为该局游戏中的所有机器坦克进行路径规划,并且分时间片执行每个机器坦克的路径。游戏结束时,线程结束。

当机器坦克在移动过程中,若玩家坦克与机器坦克处于同一直线上,且机器坦克还有子弹,则机器坦克会向玩家坦克发射一枚子弹

不足

  • 机器坦克使用A*算法,得到规划的路径之后,尚未对路径进行平滑处理,因此会得到大量锯齿形路径,表现为坦克不断抖动。
  • 每颗子弹发射后,都会开启一个新线程,直至子弹爆炸,线程结束。并且每局人机对战都会开启一个专门的线程为每个机器坦克进行路径规划。因此在较多用户同时进行人机对战时,可能会遇到瓶颈。
  • 子弹线程和路径规划线程偶尔会抛出空异常,问题还未解决,但不影响使用(手动狗头)
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 【金三银四】深入理解Mysql索引底层数据结构解密

    索引优化面试题 案例 CREATE TABLE `employees` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(24) NOT NULL DEFAULT COMMENT 姓名,`age` int(11) NOT NULL DEFAULT 0 COMMENT 年龄,`position` varchar(20) NOT NULL DEFAULT COMMENT 职位,`hire_time` timestamp N…...

    2024/4/21 0:27:12
  2. LeetCode0035搜索插入位置

    题目描述java代码 class Solution {public int searchInsert(int[] nums, int target) {for(int i=0;i<nums.length;i++){if(nums[i]>=target){return i;}}return nums.length;} }二分法 class Solution {public int searchInsert(int[] nums, int target) {int left=0,r…...

    2024/3/29 11:58:53
  3. 我们为什么很难坚持下去

    前言很长一段时间里,我都在寻找对自己的定位,也许别人对你也有一个定位,但是我想自己对自己的定位大于其他。前不久,我终于找到了我对自己的描述 “一个有些偏执的人“。 不知不觉已经过去两个多月了,本来想写一篇技术文章的,但最后还是决定写下此篇。由衷感谢各位对上一…...

    2024/3/29 11:58:53
  4. LinearGradient

    线性渲染: public class LinearGradient extends Shader {private static final int TYPE_COLORS_AND_POSITIONS = 1;private static final int TYPE_COLOR_START_AND_COLOR_END = 2;/*** 线性渲染的类型:可以是TYPE_COLORS_AND_POSITIONS类型,* 也可以是TYPE_COLOR_START_A…...

    2024/5/4 14:54:08
  5. 简单的小说阅读网站JavaWeb项目

    今天就暂时介绍这个项目目前有哪些功能 这是项目的主页这是登录界面这是注册页面使用普通用户登录后这是书酷界面这是排行界面这是书架界面这是个人信息界面这是书籍详情页使用管理员登录后的用户信息界面这是小说阅读页面这是目录这是一个音乐小插件,可以听歌使用管理员登录后…...

    2024/4/12 3:53:03
  6. linux vim最常用命令【自己总结】

    vim三种工作模式:1.命令模式2.末行模式3.编辑模式yy 19 p 复制19行:set number 显式行号v 选择V 整行Ctrl + v 可视块GgVG 选中所有内容u 撤销操作ctrl + r 恢复撤销x 剪切d 删除dd 删除光标所在行D 删除至行尾d$ 删除到行…...

    2024/5/4 18:16:02
  7. TortoiseGit工具 修改登录用户名密码

    TortoiseGit是大家常用的git客户端,操作起来非常的简便,但是当账号密码变化之后,再使用TortoiseGit操作git就会提示没有权限,那么,TortoiseGit怎么修改用户名密码呢,下面本文就介绍一下。方法/步骤首先,打开电脑上面的控制面板,找到其中的“凭据管理器”,并点击进入,…...

    2024/4/29 5:20:28
  8. 二叉树(BST)

    二叉树 好处就是可以快速找出最大值和最小值 二叉树每个节点有三个值:left(左边节点)key(本身)right(右边节点) 看下代码:class Node {constructor(key) {this.key = key;this.left = null;this.right = null;} }添加节点代码:class BinarySearchTree {constructor() …...

    2024/4/30 23:26:20
  9. LeetCode_206. Reverse Linked List

    题目描述: Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5->4->3->2->1->NULL 思路1:原地反转链表(循环方式) /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *nex…...

    2024/3/29 11:58:46
  10. LY3037单节磷酸铁锂电池充电芯片IC最大充电电流500MA

    LY3037 是一款完整的单节锂离子电池用恒定电流/ 恒定电压线性充电芯片。其中 SOT23-5 封装与较少的外 部元器件数目使得 LY3037 成为便携式应用的理想选择。 而且 LY3037 是专为在 USB 电源规范内工作而设计的。 由于采用内部 MOSFET 构架,所以不需要外部检测 电阻器和隔离二极…...

    2024/5/1 18:28:53
  11. 如何优雅地使用帮助类文件 helpers.php

    温馨提示:篇幅较长,阅读需要5-10分钟。需求一个比较完善的表中基本上都会有type,status字段,来区分类型和状态,现在的问题就是当api接口返回数据后,前端人员根本不知道你返回的type或者status字段是什么意思,之前的做法是用if流程语句判断,将status=1手动转换成“启用”…...

    2024/3/29 11:58:44
  12. java 学习心得

    1、学而不思则罔,思而不学则殆。 前人留下来的这句话放在任何地方都适用!心得:在你所敲过的代码当中,当你对某个地方不理解。那么你就得记下来,等到有时间就一定要去深挖,就算一时半会理解不过来,至少你看过猪跑了。 之前我一直以为我对java基础了解的不错,可就在我以为…...

    2024/4/18 3:52:56
  13. VBA基础语法:数据类型

    Boolean 数据类型Boolean 变量存储为 16 位(2 个字节)的数值形式,但只能是 True 或是 False。Boolean 变量的值显示为 True 或 False(在使用 Print 的时候),或者 #TRUE# 或 #FALSE#(在使用 Write # 的时候)。使用关键字 True 与 False 可将 Boolean 变量赋值为这两个状…...

    2024/4/22 6:38:51
  14. ajax

    ajax 不仅仅是浏览器可以发出请求并获得响应,任何具有网络通信能力的程序均可以这样做。 过去,在浏览器中,只有浏览器本身有发送请求的能力,直到ajax的出现。 ajax是一种技术,让JS语言在浏览器环境中获得了新的API,通过该API,JS代码拥有了和服务器通信的能力 传统的ajax…...

    2024/4/17 16:41:03
  15. Leetcode125. 验证回文串

    Leetcode125. 验证回文串 题目: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: “A man, a plan, a canal: Panama” 输出: true 题解: scala代码如下: def isPalind…...

    2024/4/20 3:00:48
  16. dedecms手机模版自动跳转到/m目录mobile手机版h5页面

    织梦的m文件夹为手机版,里面有list.php,view.php等文件. 如果需要手机上浏览电脑版页面,自动跳转到对应的手机页面,需要通过js实现 一,把下面代码放在文件uaredirect.js中并上传,假如上传到script目录中 function uaredirect(f) { try {if (document.getElementById("bdma…...

    2024/4/12 12:26:14
  17. git推代码报错"You do not have permission to push to the repository via HTTPS"

    git remote rm origin...

    2024/3/29 11:58:42
  18. cpu指令如何读写硬盘

    https://blog.csdn.net/farmwang/article/details/49999879在《cpu解读一》中,我们提到cpu的主要作用之一就是控制设备之间的数据交互。这其中自然也包括了硬盘。系统的所有数据基本都在硬盘中,所以知道怎么读写硬盘,对程序来说非常重要,所以我们先来探索下传说中的pio模式…...

    2024/4/24 21:58:39
  19. 使用cuda-gdb调试cu程序

    https://blog.csdn.net/FishSeeker/article/details/74178318简要教程 仿佛对于.cu程序的调试是需要关闭x的,所以学习了一下如何用cuda-gdb在tty下调试.cu程序. 1. 对于.cu文件是需要编译好才能调试的,首先cd到想要编译的.cu目录下,使用以下命令进行编译:nvcc -g -G filena…...

    2024/4/25 14:59:32
  20. jira类型和状态概要

    jira类型序号 类型 中文名 含义及用途1 BUG 问题 测试创建,指派给开发2 Improvement 改进 测试创建,指派给开发3 Customer BUG 用户问题 实施团队创建,指派给测试,测试确认后指派开发4 Test Plan 测试计划 测试创建,组内更新状态5 Test Case 测试用例 测试创建,组内更新状…...

    2024/4/25 23:00:18

最新文章

  1. 【Python 类基础介绍】

    文章目录 一、类的基本概念1. 什么是类&#xff1f;2. 类与对象的关系3. 类的优点 二、定义和使用类1. 类的定义2. 类属性和方法类属性实例属性方法 3. 对象的创建和使用 三、类的高级特性1. 继承2. 多态和封装多态封装 3. 特殊方法示例&#xff1a;__str__ 和 __repr__ 一、类…...

    2024/5/4 23:08:20
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 解析大语言模型训练三阶段

    大语言模型的训练过程一般包括3个阶段&#xff1a;预训练&#xff08;Pre-training&#xff09;、SFT&#xff08;有监督的微调&#xff0c;Supervised-Finetuning&#xff09;以及RLHF&#xff08;基于人类反馈的强化学习&#xff0c;Reinforcement Learning from Human Feedb…...

    2024/5/2 22:48:30
  4. AI小程序的创业方向:深度思考与逻辑引领

    随着人工智能技术的快速发展&#xff0c;AI小程序逐渐成为创业的新热点。在这个充满机遇与挑战的时代&#xff0c;我们有必要深入探讨AI小程序的创业方向&#xff0c;以把握未来的发展趋势。 一、目标市场定位 首先&#xff0c;我们要明确目标市场。针对不同的用户需求&#x…...

    2024/5/4 1:53:15
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/3 23:10:03
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/4 18:20:48
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/4 2:59:34
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; 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
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在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