使用约束布局ConstraintLayout,郭霖大神的ConstraintLayout解析

得到随机数字 【Java学习】几种常用类

一些简单控件的使用【安卓初步】常用控件

进入界面

如上图,关键是一个进入按钮,进入猜数字界面,无它

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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=".MainActivity"android:orientation="vertical"><TextViewandroid:id="@+id/m_tv_title"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:padding="45dp"android:text="猜数游戏"android:textColor="#000000"android:textSize="25sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.26999998" /><Buttonandroid:id="@+id/btn_start"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="开始游戏"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/m_tv_title"app:layout_constraintVertical_bias="0.45" /></androidx.constraintlayout.widget.ConstraintLayout>
package com.aaa_xcdq.gnumber;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;public class MainActivity extends AppCompatActivity {private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button=findViewById(R.id.btn_start);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {startActivity(new Intent(MainActivity.this,PalyActivity.class));}});}
}

游戏界面

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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=".PalyActivity"android:orientation="vertical"android:gravity="center"><EditTextandroid:id="@+id/editText"android:layout_width="100dp"android:layout_height="50dp"android:background="@drawable/et_number"android:gravity="center"android:inputType="number"app:layout_constraintBottom_toTopOf="@+id/button"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.52"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.507" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"app:layout_constraintBottom_toTopOf="@+id/button"app:layout_constraintTop_toBottomOf="@+id/editText"><TextViewandroid:id="@+id/tv_number"android:layout_width="46dp"android:layout_height="46dp"android:text="number"android:textSize="30sp"android:textColor="#000000"android:gravity="center"tools:layout_editor_absoluteX="59dp"tools:layout_editor_absoluteY="267dp" /><TextViewandroid:id="@+id/tv_things"android:layout_width="200dp"android:layout_height="46dp"android:textColor="#000"android:text="Things"android:gravity="center"tools:layout_editor_absoluteX="177dp"tools:layout_editor_absoluteY="278dp" /><ImageViewandroid:id="@+id/imageView"android:layout_width="40dp"android:layout_height="40dp"tools:layout_editor_absoluteX="302dp"tools:layout_editor_absoluteY="254dp" /></LinearLayout><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="确定"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.501"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.477" /></androidx.constraintlayout.widget.ConstraintLayout>

输入框背景

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dp"/><stroke android:color="@color/colorPrimary" android:width="2dp"/>
</shape>

游戏活动

package com.aaa_xcdq.gnumber;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.util.TimeUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;import java.util.Random;public class PalyActivity extends AppCompatActivity {private TextView tvNumber, tvThings;private Button btnYes;private EditText etNumber;private int number_in, number_time = 10, number_right;private ImageView imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_paly);initView();//正确数字随机生成number_right = new Random().nextInt(10);tvThings.setText("请输入一个0~9的数");tvNumber.setText(number_time + "");}private void initView() {tvNumber = findViewById(R.id.tv_number);tvThings = findViewById(R.id.tv_things);etNumber = findViewById(R.id.editText);btnYes = findViewById(R.id.button);imageView = findViewById(R.id.imageView);btnYes.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//如果EditText不为空if (!TextUtils.isEmpty(etNumber.getText().toString())) {number_in = Integer.parseInt(etNumber.getText().toString());//如果输入的数字在0~10之间if (number_in >= 0 && number_in < 10) {if (number_in == number_right) {//如果正确imageView.setBackgroundResource(R.drawable.ic_yes);tvThings.setText("You are right");} else {//如果不正确imageView.setBackgroundResource(R.drawable.ic_no);if (number_in > number_right) {tvThings.setText("大了");} else {tvThings.setText("小了");}}} else {//如果输入的数字不在0~10之间Toast.makeText(PalyActivity.this, "数字不符合要求", Toast.LENGTH_SHORT).show();}}//游戏次数减少number_time--;tvNumber.setText(number_time + "");}});}
}

下一步

  1. 增加提示框反馈内容
  2. 游戏次数到0时停止
  3. 新页面当游戏成功或失败时
  4. 输入框在确认后内容自动消失,并获得焦点
  5. 统计游戏次数
  6. 首页可以设置游戏难度

一个简单的猜数字APP(一)相关推荐

  1. python游戏最简单代码-如何利用Python开发一个简单的猜数字游戏

    前言 本文介绍如何使用Python制作一个简单的猜数字游戏. 游戏规则 玩家将猜测一个数字.如果猜测是正确的,玩家赢.如果不正确,程序会提示玩家所猜的数字与实际数字相比是"大(high)&q ...

  2. python编写一个简单的猜数字小游戏

    该脚本包含了python基础的部分内容,python初学者既可以学习借鉴,也可以向朋友去装13. 本次编写的内容需要导入一个第三方模块random,可获得规定范围的随机数. 首先打开pycharm中下 ...

  3. python猜数字游戏编程入门_如何利用Python开发一个简单的猜数字游戏

    导读热词 前言 本文介绍如何使用Python制作一个简单的猜数字游戏. 游戏规则 玩家将猜测一个数字.如果猜测是正确的,玩家赢.如果不正确,程序会提示玩家所猜的数字与实际数字相比是"大(hi ...

  4. 一个简单的猜数字游戏(附带关机惩罚)

    作为一个初学C语言的小白,一个简易的C语言小游戏无非是提高了我对这门计算机语言的兴趣.接下来我将从提高自己的角度讲解一下这个简单的猜数字游戏,希望大家多多包涵. ------------------- ...

  5. 利用JavaScript实现一个简单的猜数字游戏

    问题描述:程序随机生成一个1到10之间的数字,然后让用户随机输入一个数字,如果用户输入的 数字过大,则提示用户猜的数字过大,请往小的猜,如果用户输入的数字过小,则提示用户输入的数字过小,请往大的猜:当 ...

  6. 用while实现一个简单的猜数字小游戏

    中午闲着没事干,就写个小游戏吧,这个小游戏游戏规则就很简单,就是系统随机产出一个整数,然后用户输一个数字,如果输入的数字大于系统的整数就弹出输大了,如果小于,就弹出输小了,规则很简单就这样.下面见代码 ...

  7. 利用python做一个小游戏_如何使用python做一个简单的猜数字的小游戏

    1 首先小编先打开IDLE,如下图: 2 然后这里点击菜单栏的'File',然后点击菜单"New File",如下图: 3 然后我们就在idle中新建了一个python文件,如下图 ...

  8. c语言猜数字游戏新建,C语言编程 如何构建一个简单的猜数字小游戏

    #include//生成随机函数起点时用到time.h int main() { int number1 = 0, choice = 0, number2 = 0; printf("$$$$ ...

  9. c语言猜大小游戏的代码,C语言编程 如何构建一个简单的猜数字小游戏

    #include #include #include//生成随机函数起点时用到time.h int main() { int number1 = 0, choice = 0, number2 = 0; ...

最新文章

  1. struts.xml配置文件中result的语法
  2. 【转】SQL SERVER函数无法执行对数据库的修改语句
  3. 卸载 流程_「工具」Windows 卸载软件,这一个就够了
  4. 笔试算法题及解答(Python)
  5. 纬度和日照时长的关系
  6. SAP Fiori Launchpad Tile,UI5应用,和PFCG Role的对应关系
  7. [看书笔记]《深入java虚拟机》——java体系结构(二)
  8. xbox虚拟服务器,Xbox One平台真相:原生Win8/虚拟化运行
  9. 全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<指定任务委派人篇>
  10. 【CF-Round-458:D】Bash and a Tough Math Puzzle(判断是否可以通过修改区间内的一个数使区间gcd=x)
  11. WP7开发解惑(转载)
  12. 2022年中国研究生数学建模竞赛
  13. 打码兔官网 验证码识别 远程答题服务 代答平台 验证码识别软件下载
  14. 量表与问卷的区别比较
  15. Word表格中的文字垂直、纵向居中
  16. Socket聊天室(基于C语言)
  17. 重装系统怎样设置从U盘启动的详细教程
  18. 2016推免面试经历纪实——四川大学计算机学院
  19. 卡贴机变无锁教程_有锁机变无锁教程 教你轻松设置去掉卡贴有锁机变无锁完美4G...
  20. Jenkins自动化部署学习笔记(二、在Windows系统上使用Jenkins.war直接运行 )

热门文章

  1. linux如何设置串口参数,串口通信的参数如何设置
  2. nova7s鸿蒙系统,曝华为nova7 SE新版本要来了!处理器换成天玑800U
  3. CentOS7 aarch64 arm平台sysbench安装及CPU、内存、IO测试
  4. 你真的会用区块链赚钱吗?论区块链的商业思维
  5. LVGL官方文档-7.11.0-14-Overview-Displays
  6. APP地推前要准备些什么?
  7. 2020.8.28丨蛋白质组产品介绍、方案设计和案例解析
  8. 安卓上哔哩哔哩视频的导出
  9. C++反射(Reflection)
  10. 模拟QQ自动隐藏窗体