jdk解压版_命令行版的斗地主你玩过没?

94ded25c48a4dd18fb6d068e87d87646.png

相信大家都玩过斗地主游戏,或在现实中斗地主或在电脑和手机上斗地主,但你想过用命令行界面进行斗地主吗?

先来张图体验一下:
eb96563da55e962be379e85144f00e60.gif
是不是觉得挺有意思,下面就带大家一起玩一下吧~535c5b5ab4ebd0184be2d3c594704026.png部署命令行版斗地主

1 环境准备

该项目是基于java开发的,因此需要部署java运行环境及 maven。

1.1 本次实验以 CentOS 7.5 机器为例

[root@qll252 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
1.2 部署jdk
1、用yum安装JDK(也可通过源码包安装,但本文重点不是部署JVM环境)
[root@qll252 ~]# yum install java-1.8.0-openjdk* -y
2、验证已安装jdk
[root@qll252 ~]# java -version
openjdk version "1.8.0_262"
...
1.3 安装maven
1、将 maven 源码包下载至本地
[root@qll252 ~]# wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
2、解压
[root@qll252 ~]# tar -zxvf apache-maven-3.6.3-bin.tar.gz
3、将源码包移动至 /usr/local/mvn
[root@qll252 ~]# mv apache-maven-3.6.3 /usr/local/mvn
4、配置 maven 环境变量
vim /etc/profile #(追加如下两行内容)export MAVEN_HOME=/usr/local/mvnexport PATH=$MAVEN_HOME/bin:$PATH
5、重新加载系统配置文件source /etc/profile
6、执行mvn -v 验证已安装
[root@qll252 ~]# mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/mvn
...

2 下载游戏源码

将Ratel项目Clone到本地
[root@qll252 ~]# git clone https://github.com/ainilili/ratel.git
注意:如果出现以上问题,说明未安装git工具,安装即可,如下:
[root@qll252 ~]# yum -y install git

3 构建Ratel项目

1、进入该文件夹
[root@qll252 ~]# cd ratel/
2、打包部署 
[root@qll252 ratel]# mvn install package
a526ccd6c7bed599cead5b1cf39d3002.png
经过十几分钟的等待,已构建完毕。下面看如何启动它~

4 启动客户端

游戏规则:同欢乐斗地主游戏规则,例如支持三带一、四带二、顺子、飞机、王炸等,只不过没有积分翻倍。你可以创建私人服务器与好友一起斗地主,或者加入公网服务器39.105.65.8 , 使用参数 -h 来指定对应的服务器。

# 启动客户端
[root@qll252 ratel]# java -jar landlords-client/target/landlords-client-1.2.2.jar -p 8888

70b40e4e5d8351042ecbf817440e5647.png

5 开始斗地主

客户端已启动,进入娱乐环节了。1)首先选择要连接的服务器,我们选择第一个即可。
2d452abed2cf3b9933fb604f3b6fa444.png
2)设置昵称连接服务器之后要做的第一件事就是设置昵称,这里以cnLinuxer为例。
b40ad6e71a170032cf14a8a4b05df791.png
3)设置昵称后,进入游戏菜单
  • 真人模式(PvP):需要三个人加入房间,才可以开始。

  • 人机模式(PvE):一个人加入,其他两个人是机器。

  • 设置(Setting):可以设置卡牌的显示样式。

这里我们以PVE模式为例
eaa56cd65c0a8f3a0ff3160a3d11554e.png
4)接下来选择游戏难度选择简单模式吧~
be63c332137eb81dda7990d0869d5a58.png
5)好了,游戏正式开始了。问你是否抢地主。yes or no ?
注意:“10”用0表示,‘大小王’用XS表示。
这个牌型必须抢地主啊。
bfe65448e9a53f74f02038f5e745a8f9.png
6)斗地主中...7)游戏结束
4f5ae9b6a20c507376e258180c1abe19.png
好了,试玩结束。附上项目地址:
https://github.com/ainilili/ratel
来源:开源Linux07de21f075d21b812dc3172634abf2d8.png推荐阅
  • 创业之星 | 行云创新在创新南山2020“创业之星”大赛中荣获银奖!

  • 这里是您的好友为您预定的七夕布谷鸟,请查收!

  • 互联网分层架构的本质

  • 行云CloudOS | 国内首个支持ARM处理器的开发云产品

  • 2020年您应该知道的13个优秀Python库

  • 现在的学生太厉害!曾冒着挂科的风险写的 Spring Cloud 总结

  • 云计算的未来:对企业,员工和社会的影响

行云创新(CloudToGo)是国内一站式开发云的首创者,为开发者提供一站式的全云端开发环境,涵盖应用从架构设计、开发、交付、运维和运营全生命周期。

对开发、测试、运维提供统一支持;零门槛,用户不需要懂容器、K8S也能熟练使用;可定义灵活的应用交付策略,一键式交付到多云环境;以应用为中心、感知应用全方位状态,变被动响应为主动运维,实现应用状态的快速反馈。

目前为金融、保险、制造、教育、物流、电商等多个行业提供各种整体解决方案。

7d61695b2ee6968d7533e09dec6076e6.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言——什么时候使用getchar()读取换行符

做题的时候有时会用到getchar()接收换行符,然而让人困惑的是一般使用scanf("%s", str)这样的形式读取字符串的时候似乎并没有考虑这个问题。网上通常会给你讲大道理缓冲区啥的,然后听懂后自己得不得的出结论全看天赋(摊手&#xff…

[项目更新] 集成RabbitMQ队列与EventBus总线

(Blog.Core框架开发情况,着色部分为本次新增)终于项目继续迭代更新了,在开源这两年多,也是感谢每一个支持Blog.Core项目的同学,同时也感谢每一个在生产环境中使用,并提出意见和建议的小伙伴&…

cv2.imread读取图像结果none_python cv2.imread 读取中文路径的图片返回为None的问题

此篇文章首发于我的csdn博客,见原文链接。使用cv2读取图片是常见的事情,但如果,输出图片形状大小时出现报错“ NoneType object has no attribute shape”,后来排查发现读取图片的返回值image为None, 这就说明图片根本…

关于大学计算机相关专业学习路线的见解与分析

推荐阅读: 开学了,计算机的大学生们,送你们一篇经书,希望你们的四年不负年华! 入计算机专业的师弟师妹,别再迷茫了,我整理一份CS的学习路线大全!帮你超越大部分的同学! …

利用模板化应对ERP业务模型的快速变化

源宝导读:ERP这类复杂系统中,业务模型是系统功能的核心抽象,但业务模型对于不同的客户会有差异,也会随着业务发展而变化。虽然可以对业务组件进行复用,但客户定制的成本依然较高,本文将讨论如何利用模板化应…

mockmvc get请求 tm的 一直404_大家快来看看404的兄弟姐妹

码个蛋(codeegg)第 624 次推文作者:xiaoxiunique博客:https://juejin.im/post/5cd2ea425188254459335583做开发的我们肯定少不了跟网络数据打交道,我们都知道,我们进行网络请求,无论成功还是失败,后台都会给…

网传不要升级.NET5的诸多原因,你赞同几个?

.NET5正式发布有十多天,博客园、知乎、技术群都讨论的非常热烈。关于项目是否迁移.NET5的话题讨论的尤为热烈,作为.NET十年老司机要告诉你,.NET5的迁移势在必行,当下就是最好的时机!犹豫项目是否升级到.NET5的&#xf…

sort()函数

sort()函数 标准库里的排序函数的使用方法 I)Sort函数包含在头文件为#include的c标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可! II)Sort函数有三个参数:…

WPF开发的实用小工具 - 快捷悬浮菜单

WPF开发的实用小工具 - 快捷悬浮菜单❝本文由网友投稿,Dotnet9站长整理。站长觉得这小工具很实用,站长家里、公司也在尝试使用了。行文目录:这工具有什么用?正文源码获取及应用下载体验站长的建议1. 这工具有什么用?问…

accdb原有的数据怎么清除_VBA中利用数组对数据批量处理的方法

大家好,今日继续和大家分享VBA编程中常用的常用"积木"过程代码。这些内容大多是我的经验和记录,来源于我多年的经验。今日分享的是NO.225-NO.226,内容是:NO. 225:数组的赋值和回填工作表NO. 226:…

问题 A: 约瑟夫问题(普及第一关模拟)

题目描述 求解约瑟夫(Joseph)问题。有n个小孩围成一圈,给他们从1开始依次编号,从编号为1的小孩开始报数,数到第m个小孩出列,然后从出列的下一个小孩重新开始报数,数到第m个小孩又出列&#xff…

云南河道 kml文件_处理能力提升 4 倍 ,大疆智图 4 天完成 5 公里河道建模

马陵河是江苏省宿迁市老城区一条重要排涝河道,1974 年人工开挖而成,全长 5.2 km,汇水面积 11.6 km,居住人口 13.85 万人。河道水质长期处于黑臭状态,严重影响周边居民日常生活,被称为宿迁的“龙须沟”。宿迁…

linq 查询的结果会开辟新的内存吗?

一:背景 1. 讲故事昨天群里有位朋友问:linq 查询的结果会开辟新的内存吗?如果开了,那是对原序列集里面元素的深拷贝还是仅仅拷贝其引用?其实这个问题我觉得问的挺好,很多初学 C# 的朋友或多或少都有这样的疑…

问题 B: 十进制到二进制的转换

这个问题我们来用栈来实现 首先,我们先定义一个栈的结构体(栈的结构体与链表的结构体不可同,栈的结构体第二项是用int定义栈的顶端; 而链表的第二项,是用struct定义一个指针) struct stack{int data[10005];int top;…

javascript内存泄漏调试工具mac_node.js 内存泄漏的秘密

一直以来,跟踪 Node.js 的内存泄漏是一个反复出现的话题,人们始终希望对其复杂性和原因了解更多。并非所有的内存泄漏都显而易见。但是,一旦我们确定了其模式,就必须在内存使用率,内存中保存的对象和响应时间之间寻找关…

c++STL中的find()函数 有两种使用方法

cSTL中的find()函数 有两种使用方法 方法一: 开头引头文件:中的函数 其调用形式为 find(start,end,value) start搜寻的起点,end搜寻的终点,要寻找的value值; 如果没有找到,则返回end。函数的返…

关于C# Span的一些实践

Span这个东西出来很久了,居然因为5.0又火起来了。特别感谢RC兄弟提出这个话题。相关知识在大多数情况下,C#开发时,我们只使用托管内存。而实际上,C#为我们提供了三种类型的内存:堆栈内存 - 最快速的内存,能…

问题 C: 【例2-3】围圈报数

题目描述 有&#xff4e;(n<100)个人依次围成一圈&#xff0c;从第&#xff11;个人开始报数&#xff0c;数到第&#xff4d;个人出列&#xff0c;然后从出列的下一个人开始报数&#xff0c;数到第&#xff4d;个人又出列&#xff0c;…&#xff0c;如此反复到所有的人全部…

怎样用python批量处理文件夹_python批量处理文件或文件夹

本文实例为大家分享了python批量处理文件或文件夹的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 # -*- coding: utf-8 -*- import os,shutil import sys import numpy as np ##########批量删除不同文件夹下的同名文件夹############# def arrange_file(dir_path0…

leetcode-349-两个数组的交集

给定两个数组&#xff0c;编写一个函数来计算它们的交集。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出&#xff1a;[2] 示例 2&#xff1a; 输入&#xff1a;nums1 [4,9,5], nums2 [9,4,9,8,4] 输出&#xff1a;[9,4] 说明&#xff1a; 输…