一款双人手机游戏《坦克大战》的android项目,可做课程设计作业
这是一个安卓的游戏项目,坦克大战,它是一个双人对战pk的坦克游戏,可以坦克移动,发射子弹,然后有击杀和死亡统计并且可以设置声音的打开和关闭,也有登陆注册和修改一些基本功能。这个项目是前后端分离的,前端是Android 后端是spring boot+Mybatis-Plus,后端发布在服务器上,可以免费使用,也就是说你只需要运行安卓项目就可以进行双人游玩,并且提供后端代码,可供学习或用做期末课程设计作业并且能在此基础上进行扩展功能。该项目纯手工编写。
这是效果app链接:https://pan.baidu.com/s/1yYRo0cqpPcdRJLm29jZ75A 提取码:1111
安卓项目《坦克大战》由两部分组成,一个是效果的展示,一个是数据的支持
- 安卓项目(游玩效果,包含部分运行逻辑)
- 后端idea项目(数据支持,不可缺失)
想要运行项目,直接使用Android studio打开安卓项目即可,后端已经在本人服务器发布,可以进行访问。如果想要把后端放在自己的服务器上,则需要(提示:android不可使用localhost进行本地服务访问,所以想要使用android的url请求好像是必须要发布到服务器进行访问)
- 一台服务器
- 服务器需要有Java,mysql
拥有以上条件,即可把idea项目中的application.properties文件中的spring.datasource.url中的kuaomusic.icu(解释:这是我的ip地址)修改成你自己服务器的ip地址即可,并且在这个配置文件中的mysql账号密码也要和你自己服务器的账号密码一直,然后使用
nohup java -jar _______(该位置是你打包项目后的jar名字) &
在服务器运行以上指令即可让后端在服务器一直运行。
效果图和部分代码这是系统的首页可以进行登录或注册,代码如下:
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);
}
});
}
}
登录后主界面
个人中心
游戏设置
模式选择
创建房间
开始游戏
另一位玩家的操作
有问题可联系qq:2592619330



