Giter Club home page Giter Club logo

wzry's Introduction

王者荣耀图鉴

前言

2022年3月为了打算统一自己的代码风格开发此项目,初期使用的是Vue2

2022年6月毕业后失业期间,开始学习Vue3+TS,借此项目从Vue2Vue3+TS来积累项目经验

2023年3月后靠内推+此项目免技术面进入游戏公司,年底项目组解散再次失业

此项目拥有我最干净且保持最新的代码风格,每次风格一变,相关文件都会逐个统一风格

有最丰富的TS类型提示和较多的注释,没有任何冗余代码和文件,可放心浏览

可用于王者玩家获取一些比较感兴趣英雄、皮肤排名和筛选以及无水印的超清壁纸

此项目最大的缺点就是英雄的基础信息、技能信息和皮肤价格不能保证实时性,当游戏加强或削弱了某个英雄,本站不会更新

毕竟此项目更多的是面向开发者,而不是游戏玩家,数据只是为了好看,重点是代码

所以我更希望的是代码上的反馈与建议,我希望收到的BUG越多越好

初衷

很多人看我做这个项目,有什么用?

如前言所说,一开始是为了统一自己的代码风格,那时进一家小公司实习,回家也是打王者,闲着无聊就用Vue2做这个项目。毕业后继续干了两个月离职,还不会Vue3Typescript,决定下一份工作不用Vue2Vue2写起来太麻烦了,就是因为代码写的太屎了,难以维护就离职了。

Vue3学的差不多的时候,去学Typescript,发现看文档,根本看不明白,看视频都是做的一些小案例,过不了多久就忘了,我就打算直接去把我这个Vue2项目转成Vue3+TS,开始写类型声明,然后有什么类型报错解决不了的就去查,后面发现结合实际项目去学Typescript真的超级容易。这个时候写这个项目的作用是为了积累Vue3+TS的开发经验。

毕业后工作不好找,趁着失业的时间,给这个项目开发更多的功能,这个时候,这个项目的作用是为了面试。失业了半年,项目也差不多完成了一个版本,最后在以前同事的内推下,靠着项目免技术面进了游戏公司。

其实在高中那会儿就开始开始通过修改json代码来美化UI,在用手机版Photoshop用阴影搞3D贴图制作Minecraft手机版材质包,发布到多玩我的世界盒子,收获了不少粉丝,到了大学,自然就看上了网页设计这门课程,整天沉迷代码,当时就开始用王者荣耀的素材来设计网页了,参考:在校学习HTML5+CSS半学年的成果之一

进了公司之后,因为兴趣,继续维护这个项目,再加上自己也只玩王者荣耀这款游戏,并且王者荣耀的官网和体验站素材也很丰富,对它的数据很熟悉,能很好地管理。

但在去年年底,公司解散了,现在的精力又投入到了这个项目,这时的项目又是为了面试。但目前仅仅是一个图鉴网站,没有什么新颖的地方,所以就考虑开始开发游戏夺宝这个稍微比较有难度的玩法。因为夺宝会衍生出很多功能,会加入各种道具,有道具就能兑换英雄和皮肤,有道具就有背包和商城。由于数据都是本地的,就要考虑到防作弊机制,但如果你是个前端开发者,花点时间还是能破解的,我能做的只有提高作弊成本。有了这些用户的私有数据,就需要通过召唤师卡片文件来存储用户的数据,不能只存在浏览器本地存储。

一开始我是拒绝的,但为了能在未来找工作时靠这个项目给我加分,只能硬着头皮写了。毕竟比较讨厌背八股文的,理论不如实践,八股文背的好不如项目写得好。但靠包装、靠八股文就能进好公司,也是一种本事。

总的来说,写这个项目的目的:

一是为了熟悉前端的工程化、代码规范化、模块化、组件化,养成比较良好的开发习惯,并且对我这个强迫症也是一种福利。

二是为了能在未来的项目中,用上里面现成的技术,这个项目包含了一些我在公司用过的效果和功能,毕竟里面的效果和功能是测试迭代了很多次的,比较深刻。

三是为了面试,虽然不喜欢背八股文,但还是得略看一下,就当查漏补缺了,八股文为辅,这个项目为主。

四是因为兴趣,做过Minecraft材质包,自然就对设计网页感兴趣,玩过王者,自然要将这个项目贯彻到底。当然,做这个项目获得的成就感可比玩游戏多得多,兴趣是最好的老师,让我学前端时没那么枯燥,成就感也是最重要的东西,带给我写这个项目的动力。

最后,这个项目计划在未来通过学习three.js,制作一个类似灵宝的宠物出来,取名为乂(yì)宝,与我网名的同音。其实在大学学完JavaScript(还没有系统性地学ES6,甚至还没不知道CSS预处理器),那会儿就做过一个简易,参考小电视以及小电视制作历程,也算是将我的一些想法更好的展现出来。即使因为做起来有难度而放弃,我也会把之前的小电视搬过来,到时候这个项目就能多点道具和玩法了。

技术栈

Vue3TypescriptVite4Pinia2Vue-Router4AxiosLess

第三方依赖

事件总线mitt、时间库day.js、多语言vue-i18n、工具库lodash.js、加密库js-base64

素材来源

英雄头像、技能图标、图片素材——王者荣耀官网

英雄语音——王者世界观体验站

点击音效——游戏内录制视频、提取音频、截取音频

英雄封面——对100多个英雄的海报进行裁剪获取

技能信息——游戏内对每个英雄的详情页进行截图、识字、富文本编辑器对关键文字设置颜色

英雄基础信息——手敲

游戏装备——游戏内截图、抠图、利用深度卷积神经网络进行修复

数据介绍

此项目无数据库,无后端参与,没有向服务器发送任何增加、修改及删除的请求,一切数据存储于json文件中,第一次进入网页时下载json获取数据并写入localStorage,你所看到的注册登录、资料修改、设置选项,都是在本地操作

开发时间

此项目一直在更新优化,没有开发时间统计

wzry's People

Contributors

lengyibai avatar liaobinbin avatar maodi-hub avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.