期末安卓项目课程设计,Android+spring boot + mybatis-plus的坦克大战双人手机游戏

一款双人手机游戏《坦克大战》的android项目,可做课程设计作业

简介

这是一个安卓的游戏项目,坦克大战,它是一个双人对战pk的坦克游戏,可以坦克移动,发射子弹,然后有击杀和死亡统计并且可以设置声音的打开和关闭,也有登陆注册和修改一些基本功能。这个项目是前后端分离的,前端是Android 后端是spring boot+Mybatis-Plus,后端发布在服务器上,可以免费使用,也就是说你只需要运行安卓项目就可以进行双人游玩,并且提供后端代码,可供学习或用做期末课程设计作业并且能在此基础上进行扩展功能。该项目纯手工编写,可+v小偿KuAoaoaoao。

这是效果app链接:https://pan.baidu.com/s/1yYRo0cqpPcdRJLm29jZ75A 提取码:1111

源码下载地址https://download.csdn.net/download/daitu_/85523495,下载后请联系我更新最新的安卓代码资源,idea端的代码不需要更新。我wx:KuAoaoaoao

项目部署讲解

安卓项目《坦克大战》由两部分组成,一个是效果的展示,一个是数据的支持

  • 安卓项目(游玩效果,包含部分运行逻辑)
  • 后端idea项目(数据支持,不可缺失)

想要运行项目,直接使用Android studio打开安卓项目即可,后端已经在本人服务器发布,可以进行访问。如果想要把后端放在自己的服务器上,则需要(提示:android不可使用localhost进行本地服务访问,所以想要使用android的url请求好像是必须要发布到服务器进行访问)

  • 一台服务器
  • 服务器需要有Java,mysql

拥有以上条件,即可把idea项目中的application.properties文件中的spring.datasource.url中的kuaomusic.icu(解释:这是我的ip地址)修改成你自己服务器的ip地址即可,并且在这个配置文件中的mysql账号密码也要和你自己服务器的账号密码一直,然后使用

nohup java -jar _______(该位置是你打包项目后的jar名字) &

在服务器运行以上指令即可让后端在服务器一直运行。

效果图和部分代码

这是系统的首页可以进行登录或注册,代码如下:
期末安卓项目课程设计,Android+spring boot + mybatis-plus的坦克大战双人手机游戏_第1张图片

package com.example.myapplication;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class MainActivity extends AppCompatActivity {
    private Button login;
    private Button register;
    private EditText username,password;
    private TextView textView;
    private SharedPreferences preferences;
    private SharedPreferences.Editor editor;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_login);
        preferences = getSharedPreferences("tanks", Context.MODE_PRIVATE);
        editor = preferences.edit();

        editor.putBoolean("musicstate",true);
        editor.commit();
        textView = findViewById(R.id.registertankid);
        username = findViewById(R.id.username);
        password = findViewById(R.id.password);
        login = findViewById(R.id.login);
        register = findViewById(R.id.register);


        if (!preferences.getString("registertankid","null").equals("null")){
            textView.setText("你的账号:" + preferences.getString("registertankid","null"));
        }

        login.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        String tankid = username.getText().toString().trim();
                        String tankpassword = password.getText().toString().trim();

                        try {
                            URL url = new URL("http://kuaomusic.icu:8082/tank/login?tankid=" + tankid + "&tankpassword=" + tankpassword);
                            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                            connection.setRequestMethod("GET");
                            connection.setConnectTimeout(1000);
                            connection.setReadTimeout(1000);
                            connection.connect();
                            int responseCode = connection.getResponseCode();
                            if (responseCode == 200) {
                                InputStream inputStream = connection.getInputStream();
                                BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
                                StringBuilder sb = new StringBuilder();//动态拼接
                                String line = null;
                                while ((line = reader.readLine()) != null) {
                                    sb.append(line);//使用StringBuilder的字符串可以实现动态的叠加
                                }
                                JSONObject jsonData = new JSONObject(sb.toString());
                                JSONObject jsonObject = jsonData.optJSONObject("data");
                                String tankname = jsonObject.optString("tank_name");
//                                Toast.makeText(MainActivity.this,"欢迎:" + tankname + "进入坦克游戏,祝你生活愉快~",Toast.LENGTH_LONG).show();
//                                System.out.println("欢迎:" + tankname + "进入坦克游戏,祝你生活愉快~");

                                editor.putInt("tankid",Integer.parseInt(tankid));
                                editor.putString("tankname",tankname);
                                editor.commit();

                                Intent intent = new Intent(MainActivity.this,PersonActivity.class);
                                startActivity(intent);
                            }else {
//                                Toast.makeText(MainActivity.this,"账号或密码错误,请重试",Toast.LENGTH_LONG).show();
//                                System.out.println("服务器错误,登录失败!");
                            }
                        }catch (Exception e){
//                            System.out.println("网络错误!");
                        }
                    }
                }).start();
            }
        });
        register.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(MainActivity.this,RegisterActivity.class);
                startActivity(intent);
            }
        });

    }


}

登录后主界面

期末安卓项目课程设计,Android+spring boot + mybatis-plus的坦克大战双人手机游戏_第2张图片

个人中心

期末安卓项目课程设计,Android+spring boot + mybatis-plus的坦克大战双人手机游戏_第3张图片

游戏设置

期末安卓项目课程设计,Android+spring boot + mybatis-plus的坦克大战双人手机游戏_第4张图片

模式选择

期末安卓项目课程设计,Android+spring boot + mybatis-plus的坦克大战双人手机游戏_第5张图片

创建房间

期末安卓项目课程设计,Android+spring boot + mybatis-plus的坦克大战双人手机游戏_第6张图片

开始游戏

期末安卓项目课程设计,Android+spring boot + mybatis-plus的坦克大战双人手机游戏_第7张图片
另一位玩家的操作
期末安卓项目课程设计,Android+spring boot + mybatis-plus的坦克大战双人手机游戏_第8张图片

排行榜

期末安卓项目课程设计,Android+spring boot + mybatis-plus的坦克大战双人手机游戏_第9张图片

你可能感兴趣的:(Android,java,linux,android,spring,boot,后端)