java小游戏得分排行榜怎么做?实例开发

Java在生活中的应用很广泛,学会java之后,我们可以利用java做一些小软件,开发小程序或者做一些小游戏等,那java小游戏得分排行榜怎么做?下面来我们就来给大家讲解一下。

一.搭建java环境

本步骤将在ECS服务器上搭建一个Java开发环境,包括OpenJDK 1.8和Maven 3.6.3,并配置阿里云镜像仓库。

操作步骤:

1.安装OpenJDK 1.8。

yum -y install java-1.8.0-openjdk-devel.x86_64

2.下载Maven安装包。

wget 
https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

3.将下载的安装包解压到/usr/local/目录,并将安装目录重命名。

tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /usr/local/ &&mv 
/usr/local/apache-maven-3.6.3/ /usr/local/maven

4.将Maven的可执行文件目录加入到系统环境变量中,并使用source命令使/etc/profile文件中的内容立即生效。

echo "export PATH=$PATH:/usr/local/maven/bin" >> /etc/profilesource 
/etc/profile

5.执行以下命令打开镜像仓库配置文件,添加阿里云镜像仓库配置。

a. 使用vim打开镜像仓库配置文件。

vim /usr/local/maven/conf/settings.xml

b. 进入vim编辑器页面后输入 :/mirrors ,搜索并跳转到标签的位置。

c. 按下 n 键跳转到第二个没有被注释的标签位置。

d. 按下 o 键,另起一行进行编辑,粘贴以下内容。

<mirror >
    <id>nexus-aliyun</id> <
    mirrorOf > central < /mirrorOf> <
    name > Nexus aliyun < /name> <
    url > http: //maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>

e. 按下 ECS 退出编辑模式,输入 :wq 保存并退出vim编辑器。添加阿里云镜像仓库配置。

二:开发游戏玩家积分排行榜功能

操作步骤:

1.执行以下命令创建并进入工作空间。

mkdir -p demo/src/main/java/test/ && cd demo

2.参考以下步骤编辑代码文件。

a. 使用vim打开GameRankSample.java文件。

vim src/main/java/test/GameRankSample.java

b. 输入:set paste 回车后按下i键进入vim的粘贴插入模式,新增以下内容。

package test;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;
public class GameRankSample
{
    static int TOTAL_SIZE = 20;
    public static void main(String[] args)
    {
        //Redis数据库连接地址
        String host = "xxxxxxxxxx.m.cnhz1.kvstore.aliyuncs.com";
        //连接密码
        String password = "password";
        int port = 6379;
        Jedis jedis = new Jedis(host, port);
        try
        {
            String authString = jedis.auth(password);
            if (!authString.equals("OK"))
            {
                System.err.println("AUTH Failed: " + authString);
                return;
            }
            //Key(键)
            String key = "游戏名:奔跑吧,阿里!";
            //清除可能的已有数据
            jedis.del(key);
            //模拟生成若干个游戏玩家
            List < String > playerList = new ArrayList < String > ();
            for (int i = 0; i < TOTAL_SIZE; ++i)
            {
                //随机生成每个玩家的ID
                playerList.add(UUID.randomUUID()
                    .toString());
            }
            System.out.println("输入所有玩家 ");
            //记录每个玩家的得分
            for (int i = 0; i < playerList.size(); i++)
            {
                //随机生成数字,模拟玩家的游戏得分
                int score = (int)(Math.random() * 5000);
                String member = playerList.get(i);
                System.out.println("玩家ID:" + member + ", 玩家得分: " + score);
                //将玩家的ID和得分,都加到对应key的SortedSet中去
                jedis.zadd(key, score, member);
            }
            //输出打印全部玩家排行榜
            System.out.println();
            System.out.println("       " + key);
            System.out.println("       全部玩家排行榜                    ");
            //从对应key的SortedSet中获取已经排好序的玩家列表
            Set < Tuple > scoreList = jedis.zrevrangeWithScores(key, 0, -1);
            for (Tuple item: scoreList)
            {
                System.out.println("玩家ID:" + item.getElement() + ", 玩家得分:" + Double.valueOf(item.getScore())
                    .intValue());
            }
            //输出打印Top5玩家排行榜
            System.out.println();
            System.out.println("       " + key);
            System.out.println("       Top 玩家");
            scoreList = jedis.zrevrangeWithScores(key, 0, 4);
            for (Tuple item: scoreList)
            {
                System.out.println("玩家ID:" + item.getElement() + ", 玩家得分:" + Double.valueOf(item.getScore())
                    .intValue());
            }
            //输出打印特定玩家列表
            System.out.println();
            System.out.println("         " + key);
            System.out.println("          积分在1000至2000的玩家");
            //从对应key的SortedSet中获取已经积分在1000至2000的玩家列表
            scoreList = jedis.zrangeByScoreWithScores(key, 1000, 2000);
            for (Tuple item: scoreList)
            {
                System.out.println("玩家ID:" + item.getElement() + ", 玩家得分:" + Double.valueOf(item.getScore())
                    .intValue());
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            jedis.quit();
            jedis.close();
        }
    }
}

c. 按下 ESC 键退出粘贴插入模式,然后输入:set nopaste 回车后按下i键进入vim的普通插入模式,将代码中的 host 和 password的变量的值替换为左侧资源栏体验平台提供给您的 Redis内网地址 和 Redis密码 。

d. 按下 ESC 键退出编辑模式,进入命令模式输入命令 :wq,保存并退出vim。

3.参考以下步骤创建pom.xml配置文件。

a. 使用vim打开pom.xml文件。

vim pom.xml

b. 按下 i 键进入vim的编辑模式,新增以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>test</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>Demo project</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <!--jar入口类,格式Package.ClassName -->
                            <mainClass>test.GameRankSample</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>assembly</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

c. 按下 ESC 键退出编辑模式,进入命令模式输入命令 :wq,保存并退出vim。

4.使用maven打包项目。

mvn assembly:assembly

出现如下日志时表示打包成功:

java小游戏得分排行榜怎么做?实例开发.jpg

5.运行jar文件。

java -jar target/demo-0.0.1-SNAPSHOT.jar

运行结果如下所示:

1.jpg

这样我们就可以完成java小游戏得分排行榜了,看着有这么多的步骤,其实只要大家在开发的时候,思路清晰,明确开发方向就一点也不难哦!最后大家如果想要了解更多java实战知识,敬请关注奇Q工具网。

推荐阅读:

java语言能不能没有子对象?java如何创建子对象?

java零基础到精通要多久?三种情况分析

java安装程序打不开怎么办?Java安装要注意哪些?