Android实现模拟装备购买
1、首先构思装备购买流程,创建两个Activity以实现两个Activity之间的交互!
2、创建英雄属性xml文件实现英雄属性的选择,点击购买后跳转到装备购买界面,点击所需要的装备并购买!
如图:
其中两个xml文件代码如下:
1
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.renxiaohen.gz_zbxz.MainActivity"><ImageView android:id="@+id/yasuo" android:layout_width="200dp" android:layout_height="wrap_content" app:srcCompat="@drawable/yasuo" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="-65dp" android:layout_marginBottom="304dp" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" /><TextView android:id="@+id/autoCompleteTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="英雄属性!" android:textSize="20dp" android:textColor="@color/colorAccent" android:layout_marginTop="214dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"></TextView><LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:orientation="vertical" android:layout_below="@id/autoCompleteTextView"><TableRow android:layout_width="fill_parent" android:layout_height="wrap_content"><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="生命值" android:textSize="20dp" android:textColorHint="@color/colorPrimary" android:id="@+id/shengming" ></TextView><ProgressBar android:id="@+id/progressBar2" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="2" android:background="@color/colorPrimaryDark" /><TextView android:id="@+id/shengmingshu" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="20dp" android:layout_height="wrap_content" android:text="0" android:layout_gravity="center" android:textColor="@color/colorAccent" ></TextView></TableRow><TableRow android:layout_width="fill_parent" android:layout_height="wrap_content"><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:hint="攻击力" android:textSize="20dp" android:textColorHint="@color/colorPrimary" android:id="@+id/gongjili" ></TextView><ProgressBar android:id="@+id/progressBar3" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="2" android:background="@color/colorPrimaryDark" /><TextView android:id="@+id/gongjishu" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="20dp" android:layout_height="wrap_content" android:text="0" android:layout_gravity="center" android:textColor="@color/colorAccent" ></TextView></TableRow><TableRow android:layout_width="fill_parent" android:layout_height="wrap_content"><TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:hint="敏捷度" android:textSize="20dp" android:textColorHint="@color/colorPrimary" android:id="@+id/minjie" ></TextView><ProgressBar android:id="@+id/progressBar" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_weight="2" android:background="@color/colorPrimaryDark" /><TextView android:id="@+id/minjieshu" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="20dp" android:layout_height="wrap_content" android:text="0" android:layout_gravity="center" android:textColor="@color/colorAccent" ></TextView></TableRow></LinearLayout><Button android:id="@+id/buy" android:onClick="buy" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="31dp" android:background="@color/colorAccent" android:text="点击购买装备" /> </RelativeLayout>
2
<TextView android:id="@+id/shopTV" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="20dp" android:text="欢迎进入商店" android:textSize="35sp" android:textColor="#FFCC00" /> <LinearLayout android:id="@+id/zhunbei" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_marginTop="20dp" android:layout_below="@id/shopTV"><RadioButton android:id="@+id/huanyin" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/huanyingzhiwu" android:text="敏捷+60,攻击+30,防御+10" android:textSize="20dp"/><RadioButton android:id="@+id/wujin" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:textSize="20dp" android:drawableLeft="@drawable/wujinzhiren" android:hint="敏捷+10,攻击+50,防御+10" /><RadioButton android:id="@+id/yinxue" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:textSize="20dp" android:drawableLeft="@drawable/yinxuejian" android:hint="敏捷+10,攻击+30,防御+20"/> </LinearLayout><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="购买" android:textSize="20dp" android:background="@color/colorAccent" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="33dp" /></RelativeLayout>
新建一个package,里面新建一个ItemInfo的类,用来存储装备信息 ItermInfo.java
- package cn.itcast.domain;
- import java.io.Serializable;
- public class ItemInfo implements Serializable {
- private String name;
- private int health;
- private int power;
- private int sen;
- public ItemInfo(String name,int health,int power,int sen){
- this.name=name;
- this.health=health;
- this.power=power;
- this.sen=sen;
- }
- public String getName(){
- return name;
- }
- public void setName(String name){
- this.name=name;
- }
- public int getHealth(){
- return health;
- }
- public void setHealth(int health){
- this.health=health;
- }
- public int getPower(){
- return power;
- }
- public void setPower(int power){
- this.power=power;
- }
- public int getSen(){
- return sen;
- }
- public void setSen(int sen){
- this.sen=sen;
- }
- public String toString(){
- return "[name="+name+"power="+power+"sen="+sen+"]";
- }
- }
MainActivity.java
- package com.eee.eeeee;
- import android.app.Activity;
- import android.content.Intent;
- import android.inputmethodservice.Keyboard;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.KeyEvent;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.RadioButton;
- import android.widget.Toast;
- import java.util.Timer;
- import java.util.TimerTask;
- import static android.R.attr.data;
- import static android.R.attr.logo;
- import static com.eee.eeeee.R.styleable.View;
- public class MainActivity extends AppCompatActivity{
- public EditText et1,et2;
- public RadioButton rb1,rb2;
- public static final int RC=1;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Button b1 =(Button)findViewById(R.id.BB1);
- Button b2 =(Button)findViewById(R.id.BB2);
- et1 =(EditText)findViewById(R.id.et_UN);
- et2 =(EditText)findViewById(R.id.et_PW);
- rb1 =(RadioButton)findViewById(R.id.man);
- rb2 =(RadioButton)findViewById(R.id.woman);
- b1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent =new Intent(MainActivity.this,SecACT.class);
- intent.putExtra("un",et1.getText().toString().trim());
- startActivity(intent);
- }
- });
- b1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- passData();
- Toast.makeText(MainActivity.this,"Regist Successful!",Toast.LENGTH_SHORT).show();
- }
- });
- }
- public void passData() {
- Intent intent = new Intent(MainActivity.this, SecACT.class);
- intent.putExtra("un", et1.getText().toString().trim());
- intent.putExtra("pd", et2.getText().toString().trim());
- String sex = "";
- if (rb1.isChecked()) {
- sex = "Man";
- } else if (rb2.isChecked()) {
- sex = "Woman";
- }
- intent.putExtra("sex", sex);
- startActivity(intent);
- }
- private long firstTime=0;
- @Override
- public boolean onKeyUp(int keyCode, KeyEvent event) {
- switch (keyCode){
- case KeyEvent.KEYCODE_BACK:
- long secondTime=System.currentTimeMillis();
- if(secondTime-firstTime>2000){
- Toast.makeText(MainActivity.this,"Press Again to Exit!",Toast.LENGTH_SHORT).show();
- firstTime=secondTime;
- return true;
- }else{
- finish();
- }
- break;
- }
- return super.onKeyUp(keyCode, event);
- }
- }
SecAct.java
- package com.eee.eeeee;
- import android.os.Bundle;
- import android.content.Intent;
- import android.inputmethodservice.Keyboard;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.KeyEvent;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TextView;
- import android.widget.Toast;
- import static com.eee.eeeee.R.styleable.View;
- public class SecACT extends AppCompatActivity {
- public TextView tv1,tv2,tv3;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_secact);
- Button b1=(Button)findViewById(R.id.back1);
- tv1=(TextView)findViewById(R.id.name);
- tv2=(TextView)findViewById(R.id.pass);
- tv3=(TextView)findViewById(R.id.sex);
- Intent i =getIntent();
- String name =i.getStringExtra("un");
- String pass = i.getStringExtra("pd");
- String sex =i.getStringExtra("sex");
- tv1.setText("Your UserName: "+name);
- tv2.setText("Your PassWord: "+pass+" (Please Do not tell Others)");
- tv3.setText("Your Sex: "+sex);
- b1.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent=new Intent(SecACT.this,CharAct.class);
- intent.putExtra("name",tv1.getText().toString().trim());
- if(getData().equals("Woman")){
- intent.putExtra("code","2");
- }else if(getData().equals("Man")){
- intent.putExtra("code","1");
- }
- Log.i("---->",getData());
- startActivity(intent);
- }
- });
- }
- public String getData(){
- Intent in =getIntent();
- String x=in.getStringExtra("sex");
- return x;
- }
- }
CharAct.java
- package com.eee.eeeee;
- import android.content.Intent;
- import android.graphics.Color;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- import cn.itcast.domain.ItemInfo;
- import static com.eee.eeeee.R.drawable.soldier76;
- public class CharAct extends AppCompatActivity {
- private ProgressBar hp,pp,sp;
- private TextView sh,stvp,ss;
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_char);
- sh=(TextView)findViewById(R.id.status_hea);
- stvp=(TextView)findViewById(R.id.status_pow);
- ss=(TextView)findViewById(R.id.status_sen);
- Button b=(Button)findViewById(R.id.button);
- TextView tv=(TextView)findViewById(R.id.name);
- ImageView iv =(ImageView)findViewById(R.id.iv);
- TextView tv2=(TextView)findViewById(R.id.CN);
- b.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent=new Intent(CharAct.this,ShopAct.class);
- startActivityForResult(intent,1);
- }
- });
- Intent i =getIntent();
- String name=i.getStringExtra("name");
- String code=i.getStringExtra("code");
- Log.i("--->",code);
- if(code.equals("1")) {
- tv.setText(name + "`s Character is Soldier76");
- iv.setBackground(getDrawable(R.drawable.soldier76));
- tv2.setText("Soldier76");
- }else if(code.equals("2")){
- tv.setText(name + "`s Character is Mercy");
- iv.setBackground(getDrawable(R.drawable.angel));
- tv2.setText("Mercy");
- }
- initProgress();
- }
- private void initProgress(){
- int x=0;
- hp=(ProgressBar)findViewById(R.id.pro_health);
- pp=(ProgressBar)findViewById(R.id.pro_power);
- sp=(ProgressBar)findViewById(R.id.pro_sen);
- sh=(TextView)findViewById(R.id.status_hea);
- stvp=(TextView)findViewById(R.id.status_pow);
- ss=(TextView)findViewById(R.id.status_sen);
- Button b=(Button)findViewById(R.id.button);
- hp.setMax(100);
- pp.setMax(100);
- sp.setMax(100);
- hp.setProgress(30);
- pp.setProgress(20);
- sp.setProgress(80);
- sh.setText(hp.getProgress()+"");
- stvp.setText(pp.getProgress()+"");
- ss.setText(sp.getProgress()+"");
- x=hp.getProgress();
- judegeStatus(x);
- }
- @Override
- protected void onActivityResult(int requestCode,int resultCode,Intent data){
- if(data!=null){
- if(resultCode==1){
- if(requestCode==1){
- ItemInfo info =(ItemInfo)data.getSerializableExtra("equip");
- updateProgress(info);
- }
- }
- }
- }
- private void updateProgress(ItemInfo info){
- int x=0;
- int p1=hp.getProgress();
- int p2=pp.getProgress();
- int p3=sp.getProgress();
- hp.setProgress(p1+info.getHealth());
- pp.setProgress(p2+info.getPower());
- sp.setProgress(p3+info.getSen());
- sh.setText(hp.getProgress()+"");
- stvp.setText(pp.getProgress()+"");
- ss.setText(sp.getProgress()+"");
- x=hp.getProgress();
- judegeStatus(x);
- }
- public void judegeStatus(int x){
- TextView tx=(TextView)findViewById(R.id.status);
- if(x>=50){
- tx.setTextColor(Color.rgb(255, 255, 0));
- tx.setText("Good");
- }else if(x>=90&&x<=100){
- tx.setTextColor(Color.rgb(0, 255, 0));
- tx.setText("Wonderful");
- }else if(x<25&&x>=0){
- tx.setTextColor(Color.rgb(255, 0, 0));
- tx.setText("Weak");
- }
- }
- }
ShopAct.java
- package com.eee.eeeee;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.v7.app.AppCompatActivity;
- import android.view.View;
- import android.widget.TextView;
- import cn.itcast.domain.ItemInfo;
- public class ShopAct extends AppCompatActivity implements View.OnClickListener{
- private ItemInfo itemInfo;
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_shop);
- itemInfo =new ItemInfo("Tactical eyepiece",80,100,60);
- findViewById(R.id.rr).setOnClickListener(this);
- TextView h=(TextView)findViewById(R.id.health);
- TextView p=(TextView)findViewById(R.id.power);
- TextView s=(TextView)findViewById(R.id.sen);
- TextView n=(TextView)findViewById(R.id.item);
- n.setText(itemInfo.getName()+"");
- h.setText("Health++"+itemInfo.getHealth());
- p.setText("Power++"+itemInfo.getPower());
- s.setText("Sen++"+itemInfo.getSen());
- }
- @Override
- public void onClick(View v){
- switch (v.getId()){
- case R.id.rr:
- Intent intent =new Intent();
- intent.putExtra("equip",itemInfo);
- setResult(1,intent);
- finish();
- break;
- }
- }
- }
Android实现模拟装备购买相关推荐
- 【BZOJ4004】装备购买(线性基)
[BZOJ4004]装备购买(线性基) 题面 BZOJ 洛谷 Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am ...
- 【Android】模拟返回键、菜单键、Home键
Android 如何模拟返回键.菜单键.主页键? 如果有一个悬浮窗,运行所有程序的时候都能够看到,我希望点击悬浮窗就模拟返回键的功能,不管我现在运行的是什么程序,这个如何实现? 方法一: Runtim ...
- Android 关于模拟点击和Hook框架的杂谈
1. 背景 就跟我们以前玩页游挂机一样,Android端也有游戏,而且样式繁多,如果重复的操作每次都要自己重复一遍操作,那不得烦死,所以就有了这篇文章,本文仅探讨方案,大家可以尝试.而且现在的模拟器( ...
- Android 手机模拟游戏手柄(USB,C#,winio)
Android 手机模拟游戏手柄(USB,C#,winio) 使用的知识点:Android服务器通过USB连接PC端,winio发送键盘消息,Socket编程,线程,Android多点触控 先说下思路 ...
- android 辅助功能 模拟点击,Android模拟点击的四种方式
导论 在Android中模拟一个点击事件有三种方式是通过模拟MotionEvent来实现:一种是通过ADB来实现:一种是通过Instrumentation测试框架来实现 第一种:模拟MotionEve ...
- JAVA简单模拟商品购买,记录购买日志
JAVA模拟商品购买,生成购买记录. 1.Product类 public class Product {int proId;//商品IDint proPrice;//积分int proNum;//数量 ...
- Android之——模拟实现检测心率变化的应用实例
Android之--模拟实现检测心率变化的应用实例 当今,市面上有了一些可以通过Android应用来检测病人心率,血压,体温,等等,一系列方便人们日常生活的Android手机应用.那么,这些实用的手机 ...
- 用Android平板模拟蓝牙耳机,与手机连接,实现接听与拨打电话-预研
用Android平板模拟蓝牙耳机,与手机连接,实现接听与拨打电话 结论: 没找到可以用的方案.据说要蓝牙协议支持.普通手机.平板做不了. 正常蓝牙打电话时,手机是实现了蓝牙协议的AG端,耳机是HF端, ...
- BZOJ4004: [JLOI2015]装备购买
Description 脸哥最近在玩一款神奇的游戏,这个游戏里有 n 件装备,每件装备有 m 个属性,用向量zi(aj ,.....,am) 表示 (1 <= i <= n; 1 < ...
- android怎么模拟返回,Android中障蔽返回键,HOME键以及模拟HOME键返回效果的方法...
Android中屏蔽返回键,HOME键以及模拟HOME键返回效果的方法 在Android开发中,有时需要屏蔽一些实体的按键,如HOME键,返回键等实体的按键,实现的方法如下. 1. 屏蔽实体按键 屏蔽 ...
最新文章
- 数据结构|-常见数据结构整理
- FFmpeg中libavutil库简介及测试代码
- 清华天才王垠受邀面试阿里P9,被阿里P10赵海平面跪,整个事件回顾...
- SQLSERVER 2014 SP1 的服务器 日志文件无法收缩的处理
- Python系列之Collections内置模块(2)
- property的修饰符
- opencv轻松入门面向python下载_OpenCV轻松入门:面向Python
- Python实现多行数据读入
- 文件从一台服务器拷贝到另一台服务器
- java未知变量的类型_Java语言中类、变量及方法的声明 | 学步园
- 画像像素软件_怎样学好像素画?
- java拼写json
- 如何在VS上用C#玩坏“Hello World”。
- SDN+DPI文献阅读
- Asp.net实用技巧
- XXXX大学课程设计说明书格式规范
- 学习C++程序设计需要什么基础
- 【JVM】灵性一问——为什么用元空间替换永久代?
- 投影仪分辨率以及对应的投影幕布比例
- 转专业申请麦吉尔大学计算机,加拿大大学转专业申请秘籍
热门文章
- 技术干货 | 如何用MindSpore优化器加速收敛高度逼近最优值?
- epub格式的电子书
- 使用 字蛛 对ttf字体文件进行压缩
- unity 制作行李箱密码
- 2022年2月国产数据库排行榜:冠军宝座面临挑战,OceanBase 重返 TOP3
- android获取全部ram和rom,手机中的RAM和ROM,你懂得多少?
- 论文笔记 Question Answering over Freebase via Attentive RNN with Similarity Matrix based CNN
- 经典前端框架,一个时代的落幕:如何看待layui 官网将于 2021年10月13日 进行下线?
- uni-app开发经验分享十三:实现手机扫描二维码并跳转全过程
- 强化学习(一):简介——什么是强化学习?