用爬虫做游戏任务(我写了一个摸鱼插件)
用爬虫做游戏任务(我写了一个摸鱼插件)
2024-07-01 03:12:57  作者:狂笑与哭泣  网址:https://m.xinb2b.cn/life/hkr167923.html

用爬虫做游戏任务(我写了一个摸鱼插件)(1)

项目开源地址:github.com/anlingyi/xe…

前言

这个项目起始于2020年5月,当时是因为工作不忙,有了很多自己的学习时间,从那段时间开始,我学习上了 Netty 这一网络框架。我一般都喜欢以项目驱动的方式去学习,既然是网络框架的学习,那项目必然是和通讯相关的,脑海中第一个想到的就是写一个聊天程序了。

写一个聊天网站吗?

不了吧。其实我之前已经写过一个网页版的聊天室了,不想再写网页端的聊天项目了。

那写个客户端聊天程序?

单纯的写一个C端的聊天程序,觉得好像也没太大意思,还是算了吧。

是有“大病”?

用爬虫做游戏任务(我写了一个摸鱼插件)(2)

额...你可真是个小机灵鬼。

当时我就想,要是能在 IDEA 里和别的小伙伴一起聊天,那岂不是会很有意思?

所以,我决定要写个 IDEA 聊天插件了。

创作历程我要学Netty

2020年5月末,基本学会了怎么使用 Netty 实现一个简单的聊天程序,此时的插件基本已经成型。

找个“冤大头”来测试下?

脑海中马上浮现出一位“网友”的名字,就决定是你啦!—— 扶师傅。

用爬虫做游戏任务(我写了一个摸鱼插件)(3)

扶师傅这家伙可以说是摸鱼行家了,就这么说吧,他是属于“泡在鱼塘里打代码”的那种人物,非常适合我这个插件,马上打包插件发给他。

用爬虫做游戏任务(我写了一个摸鱼插件)(4)

扶师傅也是“二话不说”,就发了个 “?” ,我告诉他,这是新型的摸鱼插件,他很兴奋啊,立刻关闭了xxx网页,马上就把 IDEA 打开了,插件安装一气呵成。

系统消息:扶师傅进入了鱼塘!

扶师傅很是惊讶,IDEA 里也能聊天?怎么做到的?

我告诉他,我在学 Netty ,拿这个先练练手。

扶师傅直呼内行啊!摸鱼就摸鱼嘛,还扯什么学习 Netty ?

用爬虫做游戏任务(我写了一个摸鱼插件)(5)

误入歧途

Netty 没怎么学会,掉 Swing 坑里了。

第一版的聊天功能实现后,为了降低聊天被发现的概率,我加了个模式切换,可以切换成“浑水摸鱼” 模式,这个模式会将聊天内容的字体颜色设置为 IDEA 的背景色,同时又在聊天内容的左侧加了个新消息红点提醒,如果要查看具体的消息内容,可以点击消息内容然后拖动,这样就能显示具体的内容了。

把新版本打包发给了扶师傅,扶师傅使用后,觉得这玩意没啥用,他说他从来都是光明正大的摸鱼,不需要有这玩意!

我:“???是个高手!”

用爬虫做游戏任务(我写了一个摸鱼插件)(6)

后面又突发奇想:要是能在 IDEA 里联机下棋,那该多有意思?

冲!

第一个游戏:五子棋

说实话,Java 里的 Swing 真是太难用了,第一次写五子棋花了挺长时间的,但效果还真可以,马上打包插件发给扶师傅。

用爬虫做游戏任务(我写了一个摸鱼插件)(7)

扶师傅:“大周末摸鱼你是有‘大病’吗?”

我:“那我工作日再来!”

这家伙,周末是不会来鱼塘里摸鱼的,还挺有“原则”。

总算是等到周一了,还不用我去提醒,扶师傅早就已经在鱼塘里恭候我多时了。

扶师傅:“摸鱼也迟到?”

我:“来盘精彩又刺激的五子棋吗?”

扶师傅:“冲!”

游戏结束:安凌毅这个菜鸡赢了!

扶师傅这家伙下棋就没下赢过,很生气。

扶师傅:“写的什么垃圾游戏?能好好工作吗?”

我:“...”

用爬虫做游戏任务(我写了一个摸鱼插件)(8)

自从扶师傅下棋下输我以后,他就很少再和我联机下棋了,但这要是没人和我联机下棋,那这五子棋就是个摆设了,因为我只实现了联机下棋,并没有实现单机也能下。。。

2020年7月开始一直到2021年,这段时间工作确实很忙,插件也就没怎么更新了。

重构

2021年8月份开始,这个项目我启动了重构,提高了一些功能的扩展性,并且对通信做了加密,重构完开始考虑实现五子棋单机游戏了(期间还写了个 “IDEA 防沉迷”功能)。

写单机的话,就要去写 AI ,AI 可不是我这个“CRUD Boy”想写就能写的,没办法了,只能冒着“秃头”的风险去学了。翻阅了很多资料,熬了好几个通宵,总算是把一个入门级的五子棋 AI 给写出来了。这 AI 写的可太拉了,用户体验可“太行”了!马上打包插件发给扶师傅。

用爬虫做游戏任务(我写了一个摸鱼插件)(9)

扶师傅又体验了一番:“你这AI有点厉害啊!”

我:“有没有一种可能,是你五子棋下的太拉了?”

这么拉的五子棋 AI,扶师傅硬是没下过。不过,后来我又翻阅了很多资料,对五子棋 AI 做了很多的优化,至此以后,我确实也下不过它了。

第二个游戏:斗地主

斗地主一开始我并不想写,原因是我不会打斗地主,我连规则都不清楚,我是想写三国杀的,毕竟三国杀可比斗地主有意思多了。

但又仔细想了下,三国杀实现难度可太大了,Swing 我用的也不是很熟,要不先写个规则简单点的卡牌游戏?深思熟虑过后,就决定写斗地主了。

今年的端午节3天假期,我在出租屋内呆了3天,把斗地主第一版给写出来了。端午节当天,我奶奶和我视频通话了,当时我还沉浸在打代码的“痛苦”中呢!接通后...

奶奶:“这过节呢?你怎么看上去不开心呢?”

我:“没有啊,我很开心!”

用爬虫做游戏任务(我写了一个摸鱼插件)(10)

事实上,我当时确实不开心,当时写斗地主的时候,我已经被 Swing 折腾的“生不如死”了。

再一次发版,之前有在掘金发过一篇文章 “在IDEA里下个棋不过分吧?”,当时也有不少小伙伴安装了这个插件,进入到了鱼塘里,在此之前鱼塘里就我和扶师傅两个人。

第一版的斗地主卡牌设计的有点过于明显了,要是上班摸鱼打牌,岂不是要被包工头抓个现行?

扶师傅:“我没事,不用管我!”

也就扶师傅“异于常人”,资本家见了都落泪。

又是一个突发奇想,把牌值用“16进制”显示,花色啥的在斗地主领域并不重要,直接将花色显示为 int,卡牌颜色设置为暗色系,这样就不晃眼了,我可真是个小机灵鬼儿~

话又说回来,又不是所有人都有空来鱼塘里摸鱼斗地主,代码还是要打的嘛!也就扶师傅比较有空,天天邀我来斗地主,但基本都是“3缺一”的状态(因为当时的斗地主只能3人联机游戏)。

让斗地主也支持单机游戏吧!

又得写 AI 了,虽说有点写 AI 的“基础”了吧,但是斗地主规则可比五子棋要复杂多了,我写不来!

那就搞简单一点吧,扶师傅说。

扶师傅:“你就写个Pony马那样的斗地主出牌机器人就行了!能出就出,能管就管,这不就行了吗?”

用爬虫做游戏任务(我写了一个摸鱼插件)(11)

有道理,之后我就花了一下午的时间写出来了个“傻瓜蛋出牌机器人”。

扶师傅马上就安装体验了一番。

扶师傅:“写的什么玩意?太拉了!”

我:“...”

不得不说,确实狠拉!但至少现在可以2人联机了。

用爬虫做游戏任务(我写了一个摸鱼插件)(12)

开源

到现在,这个项目可以说是已经正式开源了吧!开源之后,鱼塘里越来越热闹了,这个项目也收获了不少小伙伴的star和fork,同时也迎来了 @MINIPuffer 和 @猎隼丶止戈 这两位大佬的PR,非常感谢各位!除不可抗力因素之外,这个项目大概会一直维护下去吧,我还有好几个游戏想写呢,哈哈哈!鱼塘里也有位鱼友提出了他的想法:麻将什么时候上线?

难度有点大,麻将我是真不会打,我只能说,会考虑的。但我现在还是想写三国杀卡牌游戏,可能我写的游戏不叫这名,叫“诸子杀”?嘿嘿~

扶师傅你的扫雷啥时候上线?生产队的鸽子都没这么鸽的

插件介绍安装

添加插件库 Plugins > 设置按钮 > Manage Plugin Repositories...

http://plugins.xeblog.cn

用爬虫做游戏任务(我写了一个摸鱼插件)(13)

搜索 “xechat” 安装

用爬虫做游戏任务(我写了一个摸鱼插件)(14)

插件主界面

用爬虫做游戏任务(我写了一个摸鱼插件)(15)

查看鱼塘列表

#showServer

用爬虫做游戏任务(我写了一个摸鱼插件)(16)

登录

使用登录命令登录系统。

直接登录

#login {你的昵称}

指定鱼塘登录

#login {你的昵称} -s {鱼塘编号}

指定服务器IP端口登录

#login {你的昵称} -h {服务器IP} -p {端口}

登录系统成功

用爬虫做游戏任务(我写了一个摸鱼插件)(17)

聊天发送文本

可直接通过文本框输入内容回车。

用爬虫做游戏任务(我写了一个摸鱼插件)(18)

发送图片

通过复制图片文件或截图,然后粘贴到文本框即可发送。

用爬虫做游戏任务(我写了一个摸鱼插件)(19)

图片发送成功后,可点击“查看图片”

用爬虫做游戏任务(我写了一个摸鱼插件)(20)

状态设置查看状态

#showStatus

用爬虫做游戏任务(我写了一个摸鱼插件)(21)

设置状态

设置工作中状态

#setStatus 0

用爬虫做游戏任务(我写了一个摸鱼插件)(22)

工作中状态是不能被邀请游戏的哦~

模式设置查看模式

#showMode

用爬虫做游戏任务(我写了一个摸鱼插件)(23)

设置模式

设置“浑水摸鱼”模式

#mode 1

用爬虫做游戏任务(我写了一个摸鱼插件)(24)

当处于“浑水摸鱼”模式时,聊天内容将会被隐藏。

点击消息内容,然后拖动,即可查看。

用爬虫做游戏任务(我写了一个摸鱼插件)(25)

查看天气

#weather {地名,如:北京市} [-d {0:当前,默认 | 3:未来3天 | 7:未来7天}]

用爬虫做游戏任务(我写了一个摸鱼插件)(26)

游戏功能查看游戏列表

#showGame

用爬虫做游戏任务(我写了一个摸鱼插件)(27)

五子棋

#play 0

用爬虫做游戏任务(我写了一个摸鱼插件)(28)

支持人机、2人联机对战,内置五子棋AI

用爬虫做游戏任务(我写了一个摸鱼插件)(29)

用爬虫做游戏任务(我写了一个摸鱼插件)(30)

用爬虫做游戏任务(我写了一个摸鱼插件)(31)

斗地主

#play 1

用爬虫做游戏任务(我写了一个摸鱼插件)(32)

支持人机、2~3人联机对战,内置“傻瓜蛋机器人”

用爬虫做游戏任务(我写了一个摸鱼插件)(33)

支持摸鱼模式

用爬虫做游戏任务(我写了一个摸鱼插件)(34)

用爬虫做游戏任务(我写了一个摸鱼插件)(35)

详细介绍请看:在IDEA里斗个地主不过分吧!

阅读

#play 2

用爬虫做游戏任务(我写了一个摸鱼插件)(36)

打开文本文件

用爬虫做游戏任务(我写了一个摸鱼插件)(37)

用爬虫做游戏任务(我写了一个摸鱼插件)(38)

用爬虫做游戏任务(我写了一个摸鱼插件)(39)

详细介绍请看:在IDEA里看个书很过分嘛!

IDEA防沉迷

开启或关闭

#alive 1|0

用爬虫做游戏任务(我写了一个摸鱼插件)(40)

用爬虫做游戏任务(我写了一个摸鱼插件)(41)

详细介绍请看:XEChat-Idea:IDEA防沉迷?

退出登录

#exit

用爬虫做游戏任务(我写了一个摸鱼插件)(42)

清屏

#clean

用爬虫做游戏任务(我写了一个摸鱼插件)(43)

最后

项目开源地址:github.com/anlingyi/xe…

用爬虫做游戏任务(我写了一个摸鱼插件)(44)

  • tpe是什么材质对人体有害吗(tpe材料对人体有害吗)
  • 2024-07-01tpe材料对人体有害吗简单的说TPE材料就是一种塑料,在生活中,用TPE材料制成的常见用品包括工具手柄、潜水用品、运动器材、脚轮、冰格盒、公仔玩具、箱包配件、电线电缆、成人用品、汽车配件、文具用品、环保薄膜、弹性管材、密封。
  • 倒戈的意思是什么(倒戈是什么意思)
  • 2024-07-01倒戈是什么意思倒戈,是汉语词语,拼音是dǎogē,释义:放下武器指投降敌方掉转武器向己方攻击倒拖武器指军队败逃把戈倒着安放,表示不再用兵倒持武器唐鱼玄机《浣纱庙》诗:“一双笑靥纔回面,十万精兵尽倒戈”明罗贯中《三国。
  • dnf男街霸堆哪个技能(DNF男街霸二觉冥王技能详细解析)
  • 2024-07-01DNF男街霸二觉冥王技能详细解析冥王技能分析抛沙:向前方抛出沙子攻击敌人,有一定几率使敌人进入失明异常状态,使其减少命中率和视野范围,对人形护甲敌人只能造成70%的伤害百分比固伤的技能,百分比居多,在没有高强或者高面板的支持下,这个。
  • 玛莎拉蒂可乐鸡翅(尝了玛莎拉咖喱鸡)
  • 2024-07-01尝了玛莎拉咖喱鸡先介绍下玛莎拉是什么意思印度的玛莎拉指的是咖喱,也就是各种香料混合起来的调味粉,也可以泛指各种咖喱酱料,印度人都不用“咖喱”这个词,都是用玛莎拉来形容莎拉是以姜黄为主料,另加多种香辛料配制而成的复合调。
  • 上海将建480米浦西第一高楼(高370米浦西第一高楼)
  • 2024-07-01高370米浦西第一高楼徐汇区新闻办介绍,近日,位于徐家汇商圈核心地带的大型综合体项目徐家汇中心T2塔楼核心筒顺利实现封顶目标T2塔楼高370米,是上海浦西在建最高楼,预计2024年竣工交付后将刷新浦西天际线,取代320米高。
  • 费列罗巧克力的寓意是什么(费列罗巧克力的寓意简单介绍)
  • 2024-07-01费列罗巧克力的寓意简单介绍费列罗巧克力的寓意是对爱情的忠贞,献给最爱的人费列罗是意大利费列罗集团旗下的产品,集团是全球第四大巧克力制造商,并拥有一系列优质创新的产品,费列罗巧克力更是享誉全球的著名品牌其中,费列罗榛果威化巧克力。
  • 发到辅导群的(学用系列QQ群)
  • 2024-07-01学用系列QQ群其实一直以来,我们都习惯将QQ作为一款即时通讯聊天软件,但qq很早就已经提供了在线辅导的功能,而且一直免费使用至今,而且随着版本迭代,已经能够提供一整套完整的在线学习辅导系统,今天大家就和胖胖老师一起。
  • 北海道都有什么美食 去北海道旅行必吃的食物排行榜
  • 2024-07-01北海道都有什么美食 去北海道旅行必吃的食物排行榜【去北海道旅行必吃的食物排行榜】根据去过北海道旅行的人的投票选出的究极北海道旅行食物TOP10看这边!1.成吉思汗(ジンギスカン)被海包围的北海道,超越了海鲜料理荣登第一位的是成吉思汗北海道的成吉思汗。
  • 如何做芋头奶茶(芋头奶茶的做法)
  • 2024-07-01芋头奶茶的做法食材:荔浦芋头1/2个,红茶7g,水300ml,牛奶200ml,炼乳适量,砂糖10g将芋头洗净去皮,切成块水中加入砂糖煮开,放入芋头块煮软,水滚后约煮15-20分钟柔软的芋头块捞出,取煮芋头的水300。
  • android没法关闭后台应用吗(Android13上线)
  • 2024-07-01Android13上线IT之家3月21日消息,谷歌上周晚些时候发布了第二个Android13开发者预览版,包含许多新的改进,比如新的媒体控件、新的剪贴板弹出窗口、针对PC版Android的UI更改根据Esper的最新发现,。