当前位置: 首页 > news >正文

天河区门户网站教育局/加拿大搜索引擎

天河区门户网站教育局,加拿大搜索引擎,成品短视频软件推荐下载免费,wordpress搜索慢怎么解决Big and small greedy snakes 游戏概述 游戏亮点 通过对称的美感,设置两条贪吃蛇吧,其中一条加倍成长以及加倍减少,另一条正常成长以及减少,最终实现两条蛇对整个界面的霸占效果。 过程中不断记录两条蛇的得分情况&#xff0c…

Big and small greedy snakes

游戏概述

游戏亮点

通过对称的美感,设置两条贪吃蛇吧,其中一条加倍成长以及加倍减少,另一条正常成长以及减少,最终实现两条蛇对整个界面的霸占效果。

过程中不断记录两条蛇的得分情况,以及吃到毒药的记录,所谓一朝被蛇咬,十年怕井绳。

游戏运行的硬件环境

1.运行平台:PC端

2.相关软件:Unity5.4.0f3 2D

3.硬件设备:配置Windows10的笔记本电脑及相关基本设备

游戏的玩法

1.通过鼠标点击加载,登录,键盘输入账号和密码

2.进入游戏,通过上下左右键,进行移动

3.过程中有两条蛇,通过对称的美感,设置两条贪吃蛇,其中一条加倍成长以及加倍减少,另一条正常成长以及减少,最终实现两条蛇对整个界面的霸占效果。

4.过程中不断记录两条蛇的得分情况,以及吃到毒药的记录,所谓一朝被蛇咬,十年怕井绳。最终得分高的胜利。其中毒药有-2以及-1设置,食物有+2以及+1设置。

5.如果失败,那么就进入game over 界面,然后可以选择重新开始,或者关闭程序。重新开始就重新进入游戏,再次失败就往复循环。

场景布置

LOGO开场界面

设置Canvas Scaler

1.UI Scale Mode

设置为scale with screen size

2.Reference Resolution

调整X为1920,Y为1080

3.Match

修改为1

这个部分主要是调适图片的标准

登录界面

设置UI,Canvas,其中的text以及inputfield

  1. 设置title,文字为Login,调整位置
  2. 窗体,包括两个inputfield,分别输入账号密码,调整大小
  3. Error以及botton,根据不同情况设置相应内容
  4. 背景图片设置,注意颜色搭配,一般选择绿色

游戏主场景

相机设置

修改相机参数 :ClearFlags 设置为SolidColor 让我们游戏中的场景纯颜色显示,Projection设置为Orthographic 正交相机 , size设置相机视角的大小。

游戏背景

设置游戏背景图、四面的墙壁、贪吃蛇的蛇头和食物的组件及属性,还有一个游戏失败和显示分数的UI界面。

背景图,新建2D Object-->Sprite 取名GameBG 设置图片精灵,调整scale大小为30*30。

Food设置

点击 is Trigger

添加Box Collider 2D

其中Size调整为0.7

其他设置同上

关键是把它设置为Prefab预制体

Snake设置

添加Rigidbody 2D

选择 is kinematic

设置Gravity为0

注意Collerction.Generic以及Linq

Restart界面

设置button,调整重新开始的场景切换

设置text以及背景图,大小以及位置

素材制作

LOGO开场界面

通过富有王者气质的蛇王形象,作为开场LOGO界面

呈现方式为:淡入淡出

持续时间为1+2+3秒

通过switch选择语句执行

登录界面

常用活泼的贪吃蛇背景图

颜色搭配为黄绿色,轻快明亮

界面设置合理,位置大小适当清晰即可

通过二维数组存储账号密码

游戏主场景

通过两个text记录分数,直观明了

食物丰富,空间丰富,规律合理设置

背景图采用蓝绿色,更加清晰直观

蛇头位置以及动画效果耐人寻味

采用极简风格编写

随机生成数方法来确定下边界,上边界

巧妙方法:将最末尾的蛇身移动到头位置,从而不用整体移动,维护数据结构顺序

设置布尔变量,逻辑判断,转换场景

重新开始界面

通过颜色落差,让人想要再玩一把

通过button按钮重新开始,切换场景

颜色,大小,位置,文字合理设置即可

其他制作

背景音乐

通过拖放背景音乐,使每个场景都是新的背景音乐

使游戏饶有兴趣,更有乐趣,动力,放松,娱乐特性增强。

脚本代码

开场界面

// LogoEvent.cs
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections;public class LogoEvent : MonoBehaviour {//设置对象
public Image img;public float speed = 0.5f;public float waitTime = 1.0f;//时间等待常量
Public const int HideToShow = 1;public const int Wait = 2;
public const int ShowToHide = 3;//定义条件判断int currentState;float currentAlpha;float waitCount;//初始化
//颜色以及状态void Start () {currentState = HideToShow; img.color = new Color(1, 1, 1, currentAlpha);}void Update () {
//状态更新
switch (currentState){
//展示状态,逐渐显示case HideToShow:currentAlpha += speed * Time.deltaTime;if (currentAlpha > 1) currentAlpha = 1;img.color = new Color(1, 1, 1, currentAlpha);if (currentAlpha == 1) currentState = Wait;break;
//转换状态,逐渐隐藏case ShowToHide:currentAlpha -= speed * Time.deltaTime;if (currentAlpha < 0) currentAlpha = 0;img.color = new Color(1, 1, 1, currentAlpha);if (currentAlpha == 0)SceneManager.LoadScene("UI_Other");break;//等待状态case Wait:waitCount += Time.deltaTime;if (waitCount >= waitTime) currentState = ShowToHide;break;}}
}

登录界面

//Submit.cs
//采用极简风格编写
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.SceneManagement;public class submit : MonoBehaviour {
//设置对象public InputField ifID;public InputField ifPW;public Text error;//输入数据public void Submit(){string userID = ifID.text;string userPW = ifPW.text;if (error.gameObject.activeSelf) {error.gameObject.SetActive (false);}//空数据if (string.IsNullOrEmpty(userID) || string.IsNullOrEmpty(userPW)){error.text = "Can't empty";error.gameObject.SetActive(true);return;}bool isSucess = false;
//验证是否正确for(int i=0;i<Data.ACCOUNT.Length;++i){string dataID = Data.ACCOUNT[i][0];string dataPW = Data.ACCOUNT[i][1];if(dataID.Equals(userID)&&dataPW.Equals(userPW)){isSucess = true;break;}}//验证通过if(isSucess){SceneManager.LoadScene("other");}else{error.text = "ID or Password error";error.gameObject.SetActive(true);return;}
}

账号密码设置

//Data.cs
//通过二维数组存储账号密码
using UnityEngine;
using System.Collections;public class Data {
//数据结构定义public static string[][] ACCOUNT = new string[5][]{new string[]{"TOM","12345"},new string[]{"TOM2","12345"},new string[]{"TOM3","12345"},new string[]{"TOM4","12345"},new string[]{"TOM5","12345"}};}

食物毒药界面(游戏主场景)

//Food.cs
//食物
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
using UnityEngine.SceneManagement; 
public class Food : MonoBehaviour {//Borderspublic Transform Top;public Transform Bottom;public Transform Left;public Transform Right;//food prefabpublic GameObject Prefab;//初始化各种对象// Use this for initializationvoid Start () {InvokeRepeating ("Form", 3, 4);}//不断重复调用方法//方法名,最初几秒钟以后,每隔多少秒//spawn one piece of foodvoid Form(){//y position between top &bottom borderint y = (int)Random.Range(Top.position.y,Bottom.position.y);//x position between left &right borderint x = (int)Random.Range(Left.position.x,Right.position.x);//随机生成数方法//下边界,上边界//instantiate the food at (x,y)Instantiate(Prefab,new Vector2(x,y),Quaternion.identity);//default rotation//实例化//对象,位置,旋转角度}
}

//Poison.cs
//毒药
using UnityEngine;
using System.Collections;public class Poison : MonoBehaviour {//Borderspublic Transform Top;public Transform Bottom;public Transform Left;public Transform Right;//food prefabpublic GameObject Prefab;//初始化各种对象// Use this for initializationvoid Start () {InvokeRepeating ("Form", 4, 4);}//不断重复调用方法//方法名,最初几秒钟以后,每隔多少秒//spawn one piece of foodvoid Form(){//y position between top &bottom borderint y = (int)Random.Range(Top.position.y,Bottom.position.y);//x position between left &right borderint x = (int)Random.Range(Left.position.x,Right.position.x);//随机生成数方法//下边界,上边界//instantiate the food at (x,y)Instantiate(Prefab,new Vector2(x,y),Quaternion.identity);//default rotation//实例化//对象,位置,旋转角度}
}

蛇界面(游戏主场景)

//BigSnake.cs
//大蛇
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Linq;public class BigSnake : MonoBehaviour {Vector2 dir = Vector2.right;
//当前移动方向//数据结构列表
//存储身体长度//keep track of tailList<Transform> tail = new List<Transform>();//是否遇到食物逻辑判断,布尔变量bool ate = false;//设置预制体对象public GameObject tailPrefab;// Use this for initializationvoid Start () {InvokeRepeating ("Move", 0.3f, 0.3f);}
//不断重复调用方法
//方法名,最初几秒钟以后,每隔多少秒
//300ms// Update is called once per framevoid Update () {
//更改方向
//通过输入赋值if (Input.GetKey (KeyCode.RightArrow))dir = Vector2.right;else if (Input.GetKey (KeyCode.DownArrow))dir = - Vector2.up;else if (Input.GetKey (KeyCode.LeftArrow))dir = - Vector2.right;else if (Input.GetKey (KeyCode.UpArrow))dir = Vector2.up;}//设置两条蛇的输入参数
//第一条蛇,正常输入
//第二条蛇,完全相反,而且位置对称分布void Move(){//保存蛇头位置vVector2 v = transform.position;//Do Movement transform.Translate (dir);//是否是食物if (ate) {GameObject g = (GameObject)Instantiate (tailPrefab, v, Quaternion.identity);
//实例化
//对象,位置,旋转角度tail.Insert (0, g.transform);
//维护数据结构,底部ate = false;
//恢复布尔变量逻辑判断}else if (tail.Count > 0) {tail.Last ().position = v;
//巧妙方法:将最末尾的蛇身移动到头位置,从而不用整体移动//维护数据结构顺序tail.Insert (0, tail.Last ());tail.RemoveAt (tail.Count - 1);
//末尾位置,减一是数据结构从0开始的特性}}void OnTriggerEnter2D(Collider2D coll){if(coll.name.StartsWith("FoodPrefab")) {ate = true;
//碰到食物,逻辑判断Destroy(coll.gameObject);
//销毁本体}//碰到其他,墙或身体
else{//lose}}}

//SmallSnake.cs
//小蛇
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine.UI;
using UnityEngine.SceneManagement;public class Snake1 : MonoBehaviour {public Text Score;Vector2 dir = Vector2.right;//当前移动方向//数据结构列表//存储身体长度//keep track of tailList<Transform> tail = new List<Transform>();//是否遇到食物逻辑判断,布尔变量bool ate = false;bool ate1 = false;//设置预制体对象public GameObject Prefab;// Use this for initializationvoid Start () {InvokeRepeating ("Move", 0.3f, 0.3f);}//不断重复调用方法//方法名,最初几秒钟以后,每隔多少秒//300ms// Update is called once per framevoid Update () {//更改方向//通过输入赋值if (Input.GetKey (KeyCode.RightArrow))dir = - Vector2.right;else if (Input.GetKey (KeyCode.DownArrow))dir =  Vector2.up;else if (Input.GetKey (KeyCode.LeftArrow))dir =  Vector2.right;else if (Input.GetKey (KeyCode.UpArrow))dir = - Vector2.up;Score.text = tail.Count.ToString();}void Move(){//保存蛇头位置vVector2 v = transform.position;//Do Movement transform.Translate (dir);//是否是食物if (ate) {GameObject g = (GameObject)Instantiate (Prefab, v, Quaternion.identity);//实例化//对象,位置,旋转角度tail.Insert (0, g.transform);//维护数据结构,底部ate = false;//恢复布尔变量逻辑判断}else if (ate1) {//实例化//对象,位置,旋转角度if (tail.Count > 1) {tail.RemoveAt (tail.Count - 1);}//维护数据结构,底部ate1 = false;//恢复布尔变量逻辑判断}else if (tail.Count > 0) {tail.Last ().position = v;//巧妙方法:将最末尾的蛇身移动到头位置,从而不用整体移动//维护数据结构顺序tail.Insert (0, tail.Last ());tail.RemoveAt (tail.Count - 1);//末尾位置,减一是数据结构从0开始的特性}}void OnTriggerEnter2D (Collider2D coll){if (coll.name.StartsWith ("Poison")) {ate = true;//碰到食物,逻辑判断Destroy (coll.gameObject);//销毁本体}//碰到其他,墙或身体else if (coll.name.StartsWith ("Food1")) {ate1 = true;//碰到食物,逻辑判断Destroy (coll.gameObject);//销毁本体} else {SceneManager.LoadScene("Restart");}}
}

重新开始界面

/Restart.cs
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.SceneManagement;public class Restart : MonoBehaviour {//设置对象//输入数据public void Submit(){//设置布尔变量bool isSucess = true;
//逻辑判断,转换场景if(isSucess){SceneManager.LoadScene("main");}}
} 

小结

通过switch选择语句执行

采用极简风格编写

通过二维数组存储账号密码

随机生成数方法来确定下边界,上边界
巧妙方法:将最末尾的蛇身移动到头位置,从而不用整体移动,维护数据结构顺序
设置布尔变量,逻辑判断,转换场景

相关文章:

Unity贪吃蛇改编【详细版】

Big and small greedy snakes 游戏概述 游戏亮点 通过对称的美感&#xff0c;设置两条贪吃蛇吧&#xff0c;其中一条加倍成长以及加倍减少&#xff0c;另一条正常成长以及减少&#xff0c;最终实现两条蛇对整个界面的霸占效果。 过程中不断记录两条蛇的得分情况&#xff0c…...

React中数据响应式原理

React作为当下最流行的前端框架之一&#xff0c;以其声明式编程和组件化架构而广受开发者喜爱。而React的数据响应式原理&#xff0c;是其高效更新DOM的核心机制。本文将深入探讨React中数据响应式原理&#xff0c;并结合代码示例进行论证。 响应式原理概述 在React中&#x…...

【FreeRTOS】ARM架构汇编实例

目录 ARM架构简明教程1. ARM架构电脑的组成1.2 RISC1.2 提出问题1.3 CPU内部寄存器1.4 汇编指令 2. C函数的反汇编 学习视频 【FreeRTOS入门与工程实践 --由浅入深带你学习FreeRTOS&#xff08;FreeRTOS教程 基于STM32&#xff0c;以实际项目为导向&#xff09;】 https://www.…...

【Linux】常见指令的使用

文章目录 which指令stat 指令wc指令echo指令tree 指令whoami指令clear指令alias指令ls指令pwd指令cd 指令touch指令mkdir指令&#xff08;重要&#xff09;rmdir指令 && rm 指令&#xff08;重要&#xff09;man指令&#xff08;重要&#xff09;cp指令&#xff08;重要…...

C#面:详细阐述什么是 DTO

DTO&#xff08;Data Transfer Object&#xff09;是一种设计模式&#xff0c;用于在不同层之间传输数据。它的主要目的是在应用程序的不同部分之间传递数据&#xff0c;而不是直接传递实体对象。DTO通常是一个简单的POCO&#xff08;Plain Old CLR Object&#xff09;&#xf…...

「TCP 重要机制」三次握手四次挥手

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;计网 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 三次握手&四次挥手 &#x1f349;连接管理&#x1f34c;三次握手&#x1f34c;意义&#x1f34c;四次挥手&#x1f34c;TCP 状态转换…...

Java数据库编程

引言 在现代应用开发中&#xff0c;与数据库交互是不可或缺的一部分。Java提供了JDBC&#xff08;Java Database Connectivity&#xff09; API&#xff0c;允许开发者方便地连接到数据库并执行SQL操作。本文将详细介绍Java数据库编程的基础知识&#xff0c;包括JDBC的基本概念…...

决策树算法介绍:原理与案例实现

一、引言 决策树是一种常用于分类和回归任务的机器学习算法&#xff0c;因其易于理解和解释的特点&#xff0c;在数据分析和挖掘领域有着广泛应用。本文将介绍决策树算法的基本原理&#xff0c;并通过一个具体案例展示如何实现和应用该算法。 二、决策树算法原理 1. 决策树结…...

业务代表模式

业务代表模式 引言 在软件工程中,设计模式是解决常见问题的经典解决方案。它们为开发人员提供了一种方法,以优雅和可重用的方式处理软件开发中的挑战。业务代表模式(Business Delegate Pattern)是一种行为设计模式,它主要关注于将业务逻辑与表示层(如用户界面)分离,以…...

LeetCode 算法:反转链表 c++

原题链接&#x1f517;&#xff1a;反转链表 难度&#xff1a;简单⭐️ 题目 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a;…...

【多线程】Thread类及其基本用法

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. Java中多线程编程1.1 操作系统线程与Java线程1.2 简单使用多线程1.2.1 初步创建新线程代码1.2.2 理解每个…...

Springboot 整合 Flowable(一):使用 flowable-UI 绘制流程图

目录 一、Flowable简介 二、Flowable 与 Activiti 的区别 三、流程图的绘制&#xff08;以员工请假流程图为例&#xff09; 1、下载 flowable 的压缩包&#xff1a; 2、启动包中的 tomcat 3、登录页面 4、绘制结束&#xff0c;导出 bpmn20.xml文件 一、Flowable简介 Fl…...

课设--学生成绩管理系统(一)

欢迎来到 Papicatch的博客 文章目录 &#x1f349;技术核心 &#x1f349;引言 &#x1f348;标识 &#x1f348;背景 &#x1f348;项目概述 &#x1f348; 文档概述 &#x1f349;可行性分析的前提 &#x1f348;项目的要求 &#x1f348;项目的目标 &#x1f348;…...

thinkphp5模型的高级应用

ThinkPHP5 是一个基于 PHP 的轻量级框架&#xff0c;它提供了许多便利的功能来简化 Web 开发。在 ThinkPHP5 中&#xff0c;模型&#xff08;Model&#xff09;是 MVC&#xff08;Model-View-Controller&#xff09;架构中的重要组成部分&#xff0c;负责处理数据逻辑。以下是一…...

XML XSLT:技术与应用解析

XML XSLT&#xff1a;技术与应用解析 XML&#xff08;可扩展标记语言&#xff09;和XSLT&#xff08;XML样式表转换语言&#xff09;是现代信息技术中不可或缺的工具。本文将深入探讨XML和XSLT的概念、技术细节以及它们在实际应用中的作用。 XML简介 XML是一种用于存储和传输…...

嵌入式单片机中项目在线仿真工具分享

前段时间,无意间发现了一个不错的在线仿真工具(Wokwi),支持多种平台,支持市面上主流的开发板,比如:STM32、ESP32、Arduino、树莓派等。 还支持常见的传感器、显示器件(LCD、LED屏幕)等,还可以播放音乐、联网、逻辑分析仪等,关键还提供了很多实际项目的案例。 这款工…...

Unity动态添加聊天文本

1.创建一个滚动视图 2.调整滚动视图的位置并删掉这个 3.创建一个输入框和一个按钮 这里插一句一定要给content添加这个组件并设置单元格大小 4创建一个脚本并编写下面代码 using System.Collections; using System.Collections.Generic; using TMPro; using Unity.VisualScrip…...

力扣-2269. 找到一个数字的 K 美丽值

文章目录 力扣题目代码工程C实现python实现 力扣题目 一个整数 num 的 k 美丽值定义为 num 中符合以下条件的 子字符串 数目&#xff1a; 子字符串长度为 k 。 子字符串能整除 num 。 给你整数 num 和 k &#xff0c;请你返回 num 的 k 美丽值。 注意&#xff1a; 允许有 前…...

一个在C#中集成Python的例子

一个在C#中集成Python的例子。在C#中可以执行Python脚本&#xff0c;在Python中也可以调用C#宿主中的功能&#xff08;clr.AddReference(Business)&#xff09;。 文件说明 Debug为执行目录 Mgr.exe为执行文件 Py\init.py为python初始化脚本 Py\Lib.zip为python需要的模块&…...

基于RandLA-Net深度学习模型的激光点云语义分割

一、场景要素语义分割部分的文献阅读笔记 RandLA-Net是一种高效、轻量级的神经网络&#xff0c;其可直接逐点推理大规模点云的语义标签。RandLA-Net基于随机点采样获得了显著的计算和内存效率&#xff0c;并采用新的局部特征聚合模块有效地保留了几何细节&#xff0c;弥补了随机…...

C语言的结构体与联合体

引言 C语言提供了结构体和联合体两种聚合数据类型&#xff0c;使得程序员可以创建包括多个数据类型的复杂数据结构。结构体用于将不同类型的数据组合成一个单元&#xff0c;而联合体用于在同一存储空间中存储不同类型的数据。本篇文章将详细介绍C语言中的结构体和联合体&#x…...

React Hooks小记(三)_forwardRef

forwardRef 【写在前面】 ​ 1、ref 的作用是获取实例&#xff0c;但由于函数组件不存在实例&#xff0c;因此无法通过 ref 获取函数组件的实例引用&#xff0c;而 React.forwardRef 就是用来解决这个问题的。 ​ 2、React.forwardRef 会创建一个 React 组件&#xff0c;这个组…...

面试复习记录

六级终于结束了&#xff0c;之前背的八股几乎也忘得差不多了&#xff0c;今天开始继续准备秋招&#xff0c;以下是每天的安排&#xff0c;会按时更新&#xff0c;就当是一种对自己的督促&#xff0c;也欢迎小伙伴们一起来互相监督。 2024.6.16 力扣&#xff1a;sql基础题库50…...

块级元素与行内元素详解

在网页设计与开发中&#xff0c;元素根据其在页面布局中的表现可分为两大类&#xff1a;块级元素&#xff08;Block-level Elements&#xff09;和行内元素&#xff08;Inline Elements&#xff09;。理解它们的特性和使用规则对于构建结构清晰、布局合理的网页至关重要。 块级…...

Kotlin编程实践-【Java如何调用Kotlin中带默认值参数的函数】

问题 如果你有一个带有默认参数值的 Kotlin 函数&#xff0c;如何从 Java 调用它而无须为每个参数显式指定值&#xff1f; 方案 为函数添加注解JvmOverloads。 也就是为Java添加重载方法&#xff0c;这样Java调用Kotlin的方法时就不用传递全部的参数了。 示例 在 Kotlin …...

中国城市统计年鉴(1985-2023年)

数据年限&#xff1a;1985-2023 数据格式&#xff1a;pdf、excel 数据内容&#xff1a;共分四个部分 第一部分是全国城市行政区划&#xff0c;列有不同区域、不同级别的城市分布情况&#xff1b; 第二、三部分分别是地级以上城市统计资料和县级城市统计资料&#xff0c;具体包括…...

RestTemplate远程请求的艺术

1 简说 编程是一门艺术,追求优雅的代码就像追求优美的音乐。 很多有多年工作经验的开发者,在使用RestTemplate之前常常使用HttpClient,然而接触了RestTemplate之后,却愿意放弃多年相处的“老朋友”,转向RestTemplate。那么一定是RestTemplate有它的魅力,有它的艺术风范。…...

Spring 整合 MyBatis 底层源码解析

大家好&#xff0c;我是柳岸花开。今天我们要讲的是 Spring 整合 MyBatis 的底层源码解析。希望大家能更深入理解 Spring 和 MyBatis 的整合原理&#xff0c;并应用到实际项目中。 由很多框架都需要和Spring进行整合&#xff0c;而整合的核心思想就是把其他框架所产生的对象放到…...

LeetCode 189.轮转数组

1.这个题我用的方法比较巧妙&#xff0c;大家如果觉得好的话&#xff0c;就给个免费的赞吧^ _ ^,谢谢了。 void reverse(int* nums,int left,int right) {while(left < right){int a nums[left];nums[left] nums[right];nums[right] a;left;right--;} } void rotate(int…...

JDK17 你的下一个白月光

JDK版本升级的非常快&#xff0c;现在已经到JDK20了。JDK版本虽多&#xff0c;但应用最广泛的还得是JDK8&#xff0c;正所谓“他发任他发&#xff0c;我用Java8”。 但实际情况却不是这样&#xff0c;越来越多的java工程师拥抱 JDK17&#xff0c;于是了解了一下 JDK17新语法&a…...