自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wunianisme的博客

一个学习Java的程序猿,微信公众号:人玉林风,简书:勿念及时雨,欢迎各位大佬指教!

  • 博客(272)
  • 资源 (9)
  • 收藏
  • 关注

原创 Mybatis如何传递多个不同类型的参数

方法三和方法四资源消耗远大于方法一和方法二,一般推荐使用方法一和方法二。

2023-03-19 21:22:29 546 1

原创 MySql根据不同条件查询同一个字段进行连接查询并显示为两个字段

以user_goods表为主表,根据不同条件,对com_dictionary表进行左连接查询,因为这里涉及到同一个表同一个字段dictionary_code,但是要根据不同条件查询出对应的记录并且拆分为两个字段显示,所以要左连接两次,将其看作两个单独的表进行关联查询即可。使用连接查询,JOIN…ON语法后面可以跟多个条件。

2023-03-19 21:22:02 1031

原创 git reset命令的三种模式

有时,我们用git commit代码时,发现commit的内容有误或者有些文件不小心被commit了,这个时候就需要撤销这一次的commit操作,通常可以使用git reset命令来实现。用一句话概括该命令:git reset - Reset current HEAD to the specified state简单概括就是让HEAD这个指针指向其他的commit节点。git reset命令的语法格式如下:git reset [--soft | --mixed | --hard] [HEAD]

2021-05-22 10:02:11 1166

原创 如何在IDEA中快速找到指定类的Maven依赖

问题我们平时使用IDEA开发Java项目时,有时可能想使用其他项目中的某个类,这个时候通常需要在pom.xml中添加该类对应的Maven依赖,但是如果忘记了依赖怎么写怎么办呢?IDEA为我们提供了对应的查找类依赖的功能。解决方案这里以查找org.apache.commons.lang.StringUtils类的依赖为例进行演示。1、在项目External Libraries下找到StringUtils类对应jar包的artifactId,用于后续搜索之用。2、在Maven视图中,点击指定类对应的

2021-05-22 09:44:02 6387 2

原创 POI实际应用之POI简介

POI是什么?Apache POI是Apache软件基金会的开放源码函式库,它提供了一系列API给JAVA程序实现对Microsoft Office格式文档的读写功能。官网地址:http://poi.apache.org对于不同格式的文档,POI提供了不同的结构来实现读写功能:HSSF,提供对Microsoft Excel格式文档的读写功能(03版Excel,文件扩展名为.xls,最多只能存65536行数据)。XSSF,提供对Microsoft Excel OOXML格式文档的读写功能(07版E

2020-12-11 15:24:58 1146

原创 对象存储OSS之头像上传实现

学习完了OSS,我们来实现一个头像上传功能。基本思路就是在前端上传一个本地文件,点击上传按钮将其上传到阿里云服务器上,后台文件上传功能需要使用到OSS的API来实现。头像上传1、在前端项目中新增文件上传页面form.vue,使用image-cropper组件来显示头像,添加更换头像按钮,绑定点击事件,并向后台上传接口发送请求(在image-cropper组件中配置:url属性)。<template> <div class="app-container"> <e

2020-12-11 15:21:41 665 1

原创 对象存储OSS之测试OSS的基本API

经过之前的学习,我们已经开通了阿里云OSS服务并配置了测试账号权限,接下来就可以开始学习OSS的基本API了。如何快速的掌握使用一门技术?快速掌握使用一门技术,是每个程序员都要掌握的基本能力。一般只需要做到以下两点:1、查看官方文档2、练习基本的API阿里云OSS帮助文档阿里云OSS的API都在帮助文档里,我们首先要做的就是找到帮助文档。步骤如下:1、进入概览页面,点击右上角“开始使用阿里云OSS”。2、打开帮助文档,往下拉可以找到OSS针对不同编程语言提供的API和SDK包。我们这里点击

2020-12-11 15:11:19 2586

原创 对象存储OSS之获取测试账号权限

之前我们学习了如何开通阿里云OSS服务和创建Bucket,并且上传了一张图片,接下来就来学习一下如何获取测试账号权限。获取测试账号权限1.在Bucket列表页,点击右上方账号头像,点击“AccessKey管理”。2、在弹出的“安全提示”框中点击“开始使用子用户AccessKey”。AccessKey是访问阿里云API的密钥,具有该账户完全的权限。注意这里为了安全必须选择使用子权限。3、点击“用户组”,然后点击“创建用户组”,在弹出的表单中填写用户组名称、显示名称和备注,然后点击“确定”,然后出现

2020-12-11 15:07:05 558

原创 对象存储OSS之阿里云OSS介绍及开通

数据、文件存储方式一般,数据、文件的存储主要有以下几种方式:MySQL数据(MySQL)+文件(本地IO流)数据(MySQL)+缓存(Redis)+文件(服务器集群、fastDFS(集群)、hdfs(大数据))数据(MySQL)+缓存(Redis)+文件(OSS)对象存储OSS什么是OSS?对象存储OSS是为了解决海量数据存储和弹性扩容问题,我们这里采用的是阿里云OSS存储。阿里云官网对对象存储OSS的介绍如下:海量、安全、低成本、高可靠的云存储服务,提供99.9999999999

2020-12-11 15:02:53 4310

原创 前后端联调实例-讲师管理

之前学习了一下前后端联调的一般步骤和Nginx的简单配置,现在以讲师管理功能为例来实战一下。项目环境后端:SpringBoot + MyBatisPlus +MySQL+Nginx前端:vue-cli + axios后端1、编写讲师管理Controller,包含根据id删除讲师、分页查询讲师列表、新增讲师等请求接口。@Api(description = "讲师管理")@RestController@RequestMapping("/admin/edu/teacher")@CrossOrig

2020-11-01 18:14:20 490

原创 前后端联调的一般步骤和Nginx简单配置

前后端联调的一般步骤1、创建前端工程(这里创建的是vue-cli项目)2、编写后端登录业务3、替换页面元素为自己需要的,比如图标,标题之类的4、编写前端页面Vue组件5、编写跳转到组件的路由(router/index.js)6、如果需要从后端获取数据,使用Axios异步通信,默认框架中使用了request封装请求BASE_API:'"http://localhost:8120'7、编写处理后端接口的js函数import request from '@/utils/request'ex

2020-10-31 01:40:45 9995

原创 WunianEdu系统开发-底层微服务搭建

数据库搭建创建数据库wunian_edu,创建多张数据库表并插入一些数据。建表SQL如下:CREATE TABLE `edu_chapter` ( `id` char(19) NOT NULL COMMENT '章节ID', `course_id` char(19) NOT NULL COMMENT '课程ID', `title` varchar(50) NOT NULL COMMENT '章节名称', `sort` int(10) unsigned NOT NULL DEFAULT.

2020-10-31 01:37:18 228

原创 WunianEdu系统简介

功能简介WunianEdu系统是以提高IT人员技能为核心,采用个性化、随到随学的学习模式, 为学员提供高效学习路线,打造最适合在线学习的优质教学产品和服务。WunianEdu是一个B2C模式的职业技能在线教育系统,分为前台用户系统和后台运营平台。前台用户系统包括课程、问答、文章三大部分。后台运营平台包括会员管理、讲师管理、课程管理、文章资讯、统计分析等系统功能。系统使用了前后端分离架构。后端的主要技术架构为:SpringBoot + SpringCloud + MyBatis-Plus + My

2020-06-13 23:05:36 406

原创 浅谈在线教育

什么是在线教育?在线教育,是以网络为媒介的教学方式,通过网络,学员与教师即使相隔万里也可以开展教学活动;此外,借助网络课件,学员还可以随时随地进行学习,真正打破了时间和空间的限制,对于工作繁忙,学习时间不固定的职场人而言网络远程教育是最方便不过的学习方式。起源在线教育起源于一位名为萨尔曼·可汗的孟加拉裔美国人,他在美国创办了可汗学院。他仅仅靠自己一个人就制作了有关数学、物理、化学、生物、天文学等科目2300多部教学视频,利用视频技术改革传统教学手段,向全世界提供免费的高品质教育。全球有5600万中小学

2020-06-11 00:10:38 3104

原创 MyBatis-Plus快速入门

简介什么是MyBatis-Plus?MyBatis-Plus(以下简称MP),为简化开发而生。MP是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变。MP的特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持

2020-06-09 00:10:17 423

原创 Element-ui和vue-element-admin学习

Element-ui什么是Element-ui?根据官网的说法,Element-ui,是一套为开发者、设计师和产品经理准备的基于Vue 2.0的由饿了么公司出品的桌面端组件库。官网:https://element.eleme.cn/#/zh-CN如何使用?1、创建文件夹element-ui。2、下载组件。npm install vue #安装Vuenpm i element-ui -S #安装Element-ui3、为了代码更加清爽,可以将主要依赖vue.min.js和elem

2020-05-27 00:23:05 9969

原创 标准前端化工程 Vue-cli

知识回顾在学习Vue-cli之前,我们已经学习了前端体系、前后端分离的演变、Vue入门、Vue的基本语法、Vue组件、Vue路由、Axios等内容。接下来我们就来学习标砖前端化工程Vue-cli。Vue-cli什么是Vue-cli?Vue-cli是官方提供的一个脚手架工具,我们可以利用它快速生成前端化的工程模板,十分方便好用。其功能主要有:统一的目录快速调试单元测试在线运行…环境安装使用npm进行全局安装,如果是首次安装可能速度会有点慢。npm install vu.

2020-05-24 23:17:38 282

原创 Vue快速入门

MVVM模式什么是MVVM模式?MVVM(Model-View-ViewModel)是一种软件架构设计模式,由微软 WPF(用于替代 WinForm,以前就是用这个技术开发桌面应用程序的)和 Silverlight(类似于 Java Applet,简单点说就是在浏览器上运行的 WPF) 的架构师 Ken Cooper 和 Ted Peters 开发,是一种简化用户界面的事件驱动编程方式。 ...

2020-05-04 10:39:02 413

原创 学习Vue之前-快速了解前端体系和前后端分离的演变史

前端体系想要成为真正的互联网Java全栈工程师,前端是绕不开的一门必修课。接下来我们就来认识前端、了解前端、掌握前端,为成为互联网Java全栈工程师而前进。前端三要素前端三要素为:HTML(结构):超文本标记语言(Hyper Text Markup Language),决定网页的结构和内容。CSS(表现):层叠样式表(Cascading Style Sheets),设定网页的表现样式...

2020-04-27 22:11:17 784

原创 大前端进阶

我们知道,前端的基础无非就是:HTML+CSS+JS(jquery)+UI框架+…从现在开始,我们要学习进阶的前端技术,内容包括VSCode的使用、Node.js、ES6语法、NPM、Babel、模块化和Webpack。VSCode的使用VSCode是一个前端的代码编辑器,非常受前端开发者的青睐。我们先来学习一下它的安装和使用方法。1、从官网上下载VSCode,下载地址: https://...

2020-04-26 23:58:22 1838

原创 富文本编辑器Editormd的配置使用

我们经常可以看到各个博客网站中用于编辑文章的富文本编辑器,在富文本编辑器中,我们可以对我们的编辑内容样式进行设置。富文本编辑器一般是通过插件来实现的,我们只需要在页面中配置一下插件提供的一些API即可。本例中使用Editormd来演示如何配置使用富文本编辑器。Editormd简介Editormd是国内开源的一款在线Markdown编辑器,可嵌入的 Markdown 在线编辑器(组件),基于...

2020-04-18 00:09:12 7334 1

原创 SpringSecurity权限控制

初识SpringSecurity学习思路了解SpringSecurity是什么。查看官网简介。简单快速阅读官方文档。经过一段时间的学习,我们知道构建一个SpringBoot项目只需要三步:导入maven依赖。配置相关文件。编写测试代码。安全框架在Web开发中,安全一直是一个十分重要的环节。它是一种非功能性的需求,但是对于一个系统十分重要,我们一般都会使用一些组件...

2020-04-13 11:20:11 1817 1

原创 SpringBoot开发单体应用(三)

单体开发进阶SpringBoot的Web开发之路众所周知,CRUD是每个程序员的必经之路。作为一个初级程序员,只要能够独立开发出一个简单的CRUD系统即可,例如OA系统、CRM管理系统、基于表单的CRUD系统等。简单来说,分布式开发是后端提供接口,前端接收信息进行渲染;单体开发是后端提供数据,前端获取数据进行渲染。从开发流程来说,单体开发和分布式开发本质上并没有区别,只是用到的技术和思...

2020-04-07 13:49:32 914

原创 SpringBoot开发单体应用(二)

页面国际化国际化,英文名叫internationalization,因为中间有18个字母,又叫i18n。我们平时工作或者开发一些网站时,尤其是国际网站,国际化是必须要做的事情。准备工作首先需要保证配置文件的编码格式是UTF-8,否则可能出现页面乱码的情况。选择File->Settings,搜索File Encodings进行设置。测试使用1、建立不同语言的配置文件。在r...

2020-04-06 00:12:41 302

原创 SpringBoot开发单体应用

Web开发探究SpringBoot的最大特点:自动装配。使用SpringBoot的步骤:1、创建一个SpringBoot应用,选择模块、然后等待项目构建完成即可。2、编写一些需要的配置文件。3、专注于编写业务代码。其余东西不需要手动配置。配置相关的类:xxxAutoConfiguration:向容器中自动配置组件。xxxProperties:自动配置类,封装配置文件的内容。静...

2020-04-03 12:18:53 1036

原创 SpringBoot操作数据库

SpringData简介对于数据访问层,无论是SQL还是NoSQL,在SpringBoot 底层都是采用SpringData来进行封装的。官网地址:https://spring.io/projects/spring-data使用IDEA构建项目时,我们可以勾选SpringData相关依赖。如上图界面所示,Spring提供了很多工具供我们使用,它封装了大量的模板,在Template En...

2020-03-31 00:20:52 1729

原创 SpringBoot入门及原理

SpringBoot的诞生什么是Spring?现代化的java开发主要就是面向Spring开发。Spring是一个开源框架,它由Rod Johnson在2003年创建。它是为了简化企业级开发而创建的。Spring是十分优雅的,这是因为它的创始人是一位音乐学博士,某种意义上说,它是一个含有艺术基因的框架。Spring是如何简化开发的?1、JavaBean代表着一个个要new的对象...

2020-03-24 12:45:39 221

原创 深入理解JVM(二)

GC详解GC的作用域GC的作用域如下图所示。关于垃圾回收,只需要记住分代回收算法,即不同的区域使用不同的算法。不同区域的GC频率也不一样:年轻代:GC频繁区域。老年代:GC次数较少。永久代:不会产生GC。一个对象的历程一个对象的历程的如下图所示。JVM在进行GC时,并非每次都是对三个区域进行扫描的,大部分的时候都是对新生代进行GC。GC有两种类型:普通GC...

2020-03-18 23:29:28 246

原创 如何修改Typora中的markdown样式

Typora是一款优秀的markdown文本编辑器,可以用markdown语法来编辑文本的样式,它默认含有GitHub、Newsprint、Night、Pixyll、whitey五种主题。如果对这些主题的默认样式不满意也可以去自定义markdown样式。1.启动Typora编辑器,选择文件-偏好设置。2.在通用-高级设置中勾选开启调试模式。3.在外观-主题中点击打开主题文件夹按钮。4...

2020-03-18 23:22:20 3219

原创 深入理解JVM

JVM的位置JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM的位置如下图所示。JVM运行在操作系统之上,对于不同的操作系统需要运行不同的JVM。因此:Java程序是跨平台的,但JVM不跨平台。JVM的体系架构图JVM的体系架构如下图所示。重点关注...

2020-03-18 00:18:21 214

原创 JUC并发编程(三)

常用辅助类CountDownLatchCountDownLatch,是一种减法计数器。CountDownLatch主要有两个方法:await()会阻塞线程,等待计时器归零。countDown()会令计数器减1。例如,创建6个线程,需要等待这6个线程执行完再在主线程中输出“main End”。代码如下:package com.wunian.juc.help;import jav...

2020-03-18 00:09:48 215

原创 JUC并发编程(二)

读写锁写锁:也叫独占锁,一次只能被一个线程占有。读锁:也叫共享锁,该锁可以被多个线程占有。ReadWriteLock,即读写锁,正如它的名字一样,它包含了读锁和写锁,一个用于只读操作,一个用于写入操作,我们先来看看JDK文档中对它的说明。创建一个读写锁对象:ReadWriteLock readWriteLock = new ReentrantReadWriteLock();加读锁和...

2020-03-07 15:32:17 631

原创 JUC并发编程

JUC是什么?JUC,即java.util.concurrent包的缩写,是java原生的并发包和一些常用的工具类。线程基础知识线程和进程进程:计算机中运行中的程序,如QQ.exe等。线程:进程中执行的具体的任务,如打字、自动保存等。一个进程可以包含多个线程,一个进程至少有一个线程。Java程序至少有两个线程:GC线程和Main线程。并发和并行并发:多个线程操作同一个资源并且交替...

2020-03-04 23:39:14 265

原创 把0到9的数字转换成电话按钮上的字母

问题给定一个包含[0,9]中数字的整数数组,任务是打印所有可能的字母数字可以表示的组合,数字到字母的映射(就像在电话按钮上)正在被跟踪,注意0和1不映射到任何字母。所有映射如下图所示:写一个程序把0到9的数字转换成字母,且程序需要支持将0到99的数字转换成字母。例如:Input:arr[] ={3,4}Output: DG DH DI EG EH EI FG FH FIInput:...

2020-02-26 18:51:41 1597

原创 Spring Cloud服务注册与发现

Spring Cloud服务注册与发现,需要使用到Eureka组件。1.创建maven主工程创建maven主工程springcloud-demo,在pom文件中引入相关依赖,Spring Boot版本为2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE,此pom文件作为整个项目的父pom文件,具有依赖版本控制的作用,其他module工程继承此pom。po...

2019-12-29 23:01:15 122

原创 curl的安装与配置

curl简介curl是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。curl还包含了用于程序开发的libcurl。curl的下载安装1.进入官网,找到页面上的curl-7.64.1.cab,点击进行下载 。下载地址:https://skanthak.homepage.t-online.de/...

2019-12-27 19:00:35 1377

原创 查看Java字节码的几种方式

我们都知道,Java字节码文件是不能直接打开的,但是如果我们想查看Java字节码文件怎么办呢?现在就来给大家介绍几种查看Java字节码的方式。Intellij IDEA中查看Java字节码IntelliJ IDEA为我们提供了查看字节码的工具,选中字节码文件,点击View->Show Bytecode即可直接进行查看,非常方便。Eclipse中查看Java字节码在Eclipse中查看...

2019-12-26 09:41:45 544

原创 Spring Cloud常用配置

Spring Cloud的配置一般配置在application.properties或者application.yml文件中,在进行分布式配置时,也会使用到bootstrap.properties或bootstrap.yml配置文件。下面我们就来看看在Spring Cloud中一些经常使用到的配置吧。Eureka配置设置当前实例的主机名称。eureka.instance.hostname...

2019-12-25 11:15:02 390

原创 Netty实现客户端与服务端通信

实现一个客户端与服务端通信的程序,可以使用socket网络编程来实现,而Netty作为一个封装了JDK的NIO通讯的异步事件驱动的网络应用框架,也同样可以实现。1.创建Maven项目,在pom文件中引入Netty依赖。<dependency> <groupId>io.netty</groupId> <artifactId>netty-al...

2019-12-18 18:52:58 773

原创 Netty reactor线程步骤和启动服务流程

reactor线程步骤reactor线程执行主要分为三个步骤,并且这三个步骤是不断的循环执行的。1.轮询注册到reactor线程对应的selector上的所有channel的IO事件。select(wakenUp.getAndSet(false));if (wakenUp.get()) { selector.wakeup();}2.处理产生网络IO事件的channel。pr...

2019-12-18 17:16:59 209

用 Android 实现的多功能媒体娱乐APP(媒体秀)

媒体秀APP是一款基于android平台,可以实现多种媒体娱乐功能的多功能媒体娱乐APP。 主要功能如下: 1. 手机本地音乐播放。支持四种播放模式,支持后台播放,新增“我喜爱的”列表用于管理用户喜爱的歌曲。 2. 手机本地视频播放。支持上下文视频切换。 3. 手机本地图片浏览。根据PNG、JPG、GIF三种不同类型图片进行分类。支持手势滑动切换上一张和下一张。 4. 相机。支持聚焦和拍照,像素清晰。 5. 浏览器。支持网页浏览和错误页面提示,支持JavaScript脚本,支持前进和后退。 6 .计算器。支持多个操作数的加减乘除四则运算。支持不合法输入提示。支持屏幕色彩切换。 7. 日历。使用精美图片实现日历效果,电子时钟效果,每时每刻让你对时间了如指掌。 8. 计时器。使用自定义的计时器实现精确到毫秒的时间格式。支持开始、停止和归零。 9. 画板。界面简约纯净,支持笔触色彩切换,宽度切换,橡皮擦和保存。 10. 换肤。精美的壁纸任你切换。 本项目适合刚开始学习Android开发的小伙伴,项目的需求文档、说明文档、使用文档以及apk文件我都已经打包上去了,希望能够对你有所帮助!

2023-03-19

用 js+html 实现 坦克大战 游戏

相比于网上一般的坦克大战,我用js实现的坦克大战增加了很多新功能。 主要功能如下: 1、选关、跳关功能,还设置了Boss关,Boss关的难度有“A级”、“B级”、“S级”可供玩家选择,每十关设置一个Boss关 2、生命值,默认有5条命,按下快捷键 空格键 可以进行补血 3、敌人数量会随着关数逐渐增加,刚开始是5个敌人,升一关敌人增加一位,游戏难度逐渐增大 4、消灭一个坦克得一百分,分数会显示在右侧的信息栏中,关卡、生命值、敌人数量也会显示 5、敌方坦克速度设置,有6种级别可选:慢,一般,快,很快,特快,最快 6、玩家速度设置,有6种级别可选(同上) 7、玩家子弹射速设置,有6种级别可选(同上) 8、玩家颜色设置 9、开启补血设置,可选择“是” 或 “否” ,补血快捷键只在是的时候有效 10、背景音乐设置,有多首音乐可选 以上功能小伙伴可以在查阅代码之后根据个人需要修改参数配置,实现代码在gameSet.js里面 希望这个项目对你有所启发,感谢支持!

2022-07-04

用 js+html 实现游戏:看你有多色

使用js + html 实现的看你有多色游戏。 游戏规则: 在一群色块中找出颜色不同的那个,点击即成功通关进入下一关,每一关的色块都会比前一关多一倍,越往后难道越大,核心js代码500行左右。 主要功能: 1.增加开始,暂停,返回菜单,退出游戏,上一关,下一关控制按钮,便于控制游戏状态 2.CSS代码与html代码进行分离 3.可以支持两种游戏模式,一种没有时间限制,一种有时间限制 4.时间模式有原来的一分钟改为每一关10秒反应时间 5.对关卡数进行了限制,避免无限制的游戏 6.颜色更加相近,由随机生成颜色变成定义一组颜色,每两个颜色相似度增加,增强了游戏的难度 7.最多格子数有原来的16*16变为32*32

2022-07-04

用 js+ html 实现一个纸牌游戏

用javascript和html实现的一个纸牌游戏,游戏名叫跑的快,使用dom实现洗牌,出牌操作,html实现牌桌UI,玩家头像等,出牌时可以进行暂停或者托管(电脑帮你出牌), 游戏开头通过CSS实现了一个3D动画效果,使用createjs框架实现鼠标移动波纹荡漾的效果,最后结束时会计算玩家的累积经验值,除此之外,还有多种主题皮肤、重玩、退出游戏以及选择背景音乐进行播放功能,让你在玩的过程中不再无聊,这个项目中实现了很多动画效果,都是用js算法实现的,非常适合刚学习编程的小伙伴参考学习。 游戏规则:玩家和电脑进行对战,程序自动进行洗牌,双方各有27张牌,电脑先出,当一方出牌之后,对方可以选择出牌或者不要,只能出比对方牌面值>1的牌,比如电脑出3,玩家只能出4,出其他牌是不允许的,一直到其中一方无法接牌之后则一轮结束,无法接牌的一方为失败方,然后由对面开始出牌,最后看谁先出完牌,先出完牌的为胜利的一方,经验值为对面胜于的牌数*100。

2022-07-04

用 js+html 实现一个打飞机小游戏

使用 js + html 实现的打飞机小游戏,玩家飞机和敌方飞机使用dom进行绘制,采用背景图填充div的方式生成飞机和子弹,在点击开始按钮后,页面上方会源源不断的出现飞机,并且攻击玩家飞机,玩家需要一边躲避敌机的子弹并且尽可能的消灭更多的敌机,按下方向键控制飞机进行上下左右移动,按下空格键发射子弹,当我方或敌机被子弹命中,会有爆炸动画效果,并且在屏幕左上角会显示玩家得分和生命,每打中一架飞机得100分,当生命值为0后游戏结束,游戏还添加了暂停、重玩功能,实现代码简单,总代码量只有400行,几乎用纯js实现,代码逻辑非常精炼,很适合刚学习编程的小伙伴进行参考。

2022-07-04

用 js+html 实现一个简易版的计算器

使用js + html 实现的简易版的网页计时器,虽然简洁,但是小巧,它能进行加、减、乘、除运算,并且可以对小数、负数、带括号的三个数以上的式子进行运算,当然回退和归零功能也是必备的,还可以设置主题皮肤,代码非常精炼,总代码量不足200行,核心js代码不足100行,实现非常简单,适合初学者参考。

2022-07-02

用 js + html 实现一个网页版日历

使用js + html 实现的简单的网页版日历,顶部默认会显示当前日期和时间,时间会精确到秒,并且时间会实时刷新,日历UI符合主流日历的样式,可以选择年,月,日查看每个月份的每一天对应星期几,默认显示当前日期所在月份,当日会用黄色背景标识,用大家常用的js函数实现主要功能,核心代码量不足100行,代码运行正常,无明显bug,实现起来非常简单。

2022-07-02

用 js + html 实现贪吃蛇小游戏

使用 js + html 实现的贪吃蛇小游戏,使用canvas绘制图形,在一般的贪吃蛇游戏的规则基础上增加了障碍物,游戏可以选择简单、一般、困难三种模式,随着分数的增加可以提升等级,增加了游戏的趣味性,并且提供了游戏暂停、背景音乐切换等功能,核心代码不足500行,简洁明了。

2022-05-31

用 js+html 实现一个网页计算器

使用js + html 实现的简单的网页计算器,可以实现加、减、乘、除复杂运算,二进制、八进制、十六进制转换、sin、cos、tan三角函数运算、acos、atan、asin反三角函数运算、开平方、log、随机数生成、指数运算、四舍五入,AscII码转换,时间显示等功能,同时还可以切换多种主题皮肤风格,兼具功能和美观,总代码量不足500行,实现非常简单。

2022-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除