今天刚刚完成猜数字游戏的设计与制作,到最后的完善整个过程。

首先,说明一下游戏规则:首先规定猜一个4位数,输出结果会以 “X A X B”的形式表示出来。其中,”X A“代表有X个数字猜对了,并且在正确的位置上;”X B“代表有X个数字猜对了,但不在正确的位置上。由此,直至玩家猜出最终结果。

关于制作一个APP首先需要的就是UI设计,在此首先贴出最终游戏界面,如下所示:

在这个APP中,我采用简约的风格(个人偏好)。因此整个界面就是白底黑框和黑字。那么,由图可知,该UI布局包含了1个EditText,1个Button和2个TextView。EditText作为玩家的输入,Button确定玩家输入并进行一系列的数据处理操作,中间较大的TextView用于显示游戏结果,最下面的TextView用于游戏规则的说明。整个所使用到的View以及其功能由以上作简要叙述。

那么接下来就是对UI进行布局排放,在此使用的是线性布局,排放方式为垂直。那么在这之中需要嵌套一个线性布局用来排放第一行的EditText和Button,在嵌套的线性布局中,排放方式为水平。排放方式依据此方式,那么接下来就是对细节部分进行修饰,如EditText、Button和TextView的边框设计,在这,需要在drawable文件夹下新建一个xml文件,本文中命名为:bian.xml。在该xml中主要是对shape属性进行修改,在这之中添加stroke(边框属性)属性,并且为了避免View中内容太靠近边缘,同时添加padding属性,具体设置如下:

由UI可以看出EditText其实是圆角边框,因此需要在bian.xml属性文件的基础上添加corner属性,具体设置如下:

并且最后在最外层的线性布局将背景设置成白色。

通过UI发现,中间用于显示的TextView占了整个屏幕较大的位置,在此就是屏幕空间的分配问题。因此调用weight属性对内嵌LinearLayout和2个TextView进行设置。在此APP中我以1:10:1的比例进行空间分配。到此为止,UI的界面布局设计基本完成。

那么现在是游戏进行的逻辑设计了,首先得到EditText输入的内容,然后首先进行非法操作判断,如输入超过4位或低于4位,输入包含非数字等其他非法操作,当玩家操作了非法操作时进行提醒设置。然后对玩家正确输入的内容进行判断,首先判断有多少A,这个比较简单只需要遍历一遍输入字符串与答案进行比较就行了。其次,判断有多少B。在这里首先进行的是排除正确的数字,然后依据类似排序的方法在答案中剩余的数字依次比较玩家输入的内容中剩余的数字,当判断有数字正确时,则在玩家输入内容中将相应数字删除,依次判断下一个,直至找出总共有多少B。基本的游戏逻辑顺序由上述所述。

但是不能让玩家无止境的猜下去,当玩家猜了一定的数字时,若仍没有猜中,则判断玩家输,并弹出对话框询问玩家是否重玩。若玩家在限定次数内猜中了数字,则显示胜利对话框,并询问玩家是否继续游戏。当玩家选择重玩或者继续游戏时,则需要将玩家已使用的次数清零。

至此,整个猜数字的APP制作完成。由于该游戏逻辑比较简单,相关代码就不贴了。但是,在制作的过程中仍遇到了些许的问题。

1、在设置了显示TextView的边框后,当玩家猜对了数字时,该TextView内会黑屏,但是在猜对数字时将输入框内的内容清空时,该问题便不再存在。或者不设置边框,那么玩家猜中数字后也不会出现该问题。具体原因小编实在不知为何,若有朋友知道,请一定要告诉我。

2、在线性布局中,对于第一行我是根据权值来给EditText和Button设置宽度的,但会存在,EditText的右边界和Button的左边界重合的情况,由于线性布局中无法像相对布局中的设置,因此我在这2个View之间新增了一个空白的TextView据此来分开EditText和Button。

游戏大致内容如下。若有朋友有更好的针对猜数字游戏的制作,欢迎分享,让小编多多学习。

Android小游戏------猜数字相关推荐

  1. Qt小游戏-猜数字游戏(使用设计器完成界面设计)

    目录 1.需要的知识点: 2.工程创建好后,先在设计器中实现界面 3.代码实现部分 ​编辑 使用QtCreator 完成简单小游戏-猜数字游戏实现效果如下: 1.需要的知识点: QLabel显示图片, ...

  2. C++小游戏—猜数字

    今天我们用C++语言来制作一个小游戏-猜数字. #include<iostream> #include<ctime> using namespace std; int main ...

  3. c语言小游戏猜数字学习完函数后的小练习。

    今天为大家分享一个简单的C语言小游戏--猜数字:对于刚学习完函数的小伙伴这是一个简单的练手游戏:其中唯一超纲的内容就是随机数的生成:下面为大家简单介绍这个小游戏的实现思路.希望大家看完以后亲自实践一下 ...

  4. C语言经典小游戏---猜数字游戏 (包含C语言中如何实现随机数的生成)

    题目描述:输入1-100之间的数字,进行猜数字游戏,猜大猜小有提示,直至才对为止,游戏可以重复游玩. 算法思路: 1.用void函数分别写出菜单程序与游戏进程程序. 2.用switch-case-de ...

  5. python随机猜数字游戏_Python小游戏——猜数字教程(random库教程)

    今天来开发一个简单的数字逻辑游戏,猜数字(数字炸弹) 首先开发游戏第一件事,了解需求. 猜数字游戏规则: 计算机随机生成一个指定范围的数字,由玩家来猜测, 之后计算机会根据玩家提供数字来与自己生成的数 ...

  6. 有趣的小游戏——猜数字

    目录 游戏规则 准备工作 代码实现 游戏规则 设置一个随机数,让玩家猜这个数字,当玩家进行猜数字时希望可以告诉玩家猜的数字是猜大了还是猜小了,如果猜对了可以提示一下玩家猜对了然后结束游戏,或者再来一局 ...

  7. C++小游戏——猜数字

    文章目录 内容简介 一.猜数规则 二.具体代码实现 1.调试环境 2.代码实现 3.运行演示 小结 内容简介 本文介绍了一个作者原创的猜数推理小游戏qwq 以下是本篇文章正文内容 一.猜数规则 每一组 ...

  8. 用C语言写一个简单的小游戏——猜数字

    我们该如何设计这个程序? 1.首先应该打印一个菜单,让玩家选择玩游戏或者退出游戏 2.当玩家选择玩游戏,我们让电脑生成一个1~100的随机数,让玩家去猜 3.如果玩家猜的数比电脑生成的数大,我们提示猜 ...

  9. Python小游戏 猜数字——非常有趣的小游戏

    猜字游戏 游戏规则:程序产生一个[1, 100]之间的随机整数,用户输入整数进行猜测 如果猜对了,就会循环你是否要继续玩游戏 如果猜错了,程序会提示你是猜高了还是猜低了,然后让你继续输入整数进行猜测. ...

  10. 基础小游戏——猜数字(猜不对有惩罚哟)

    这里写目录标题 初步代码的实现 局部代码细讲 惩罚措施 初步代码的实现 // #include<stdio.h> #include<time.h> #include<st ...

最新文章

  1. centos 7安装mysql_Linux Centos7 下安装Mysql - 8.0.15
  2. Glusterfs入门
  3. 基于Keras的LSTM多变量时间序列预测
  4. web文件管理系统_财务影像管理系统
  5. 2017.5.8-morning
  6. HIVE 1.1.0 启动时报错: Unsupported major.minor version 51.0
  7. javascript数据结构之队列
  8. 7种常用的数据标注工具
  9. Nifi操作Redis
  10. (二)什么是IT售前?为什么需要IT售前?
  11. 浏览器主页被修改的解决方案
  12. 【转】十大顶级奢侈品服装品牌
  13. wstmall wstmart wstshop区别
  14. 「我们只投这两种AI公司」, 三位局内人首次公开AI投资的技术与产业标准
  15. 5G时代的网盘,直接送1000G空间!
  16. 菜鸟也能学cocos2dx3.0 浅析刀塔传奇(下)
  17. 【重要】 性能测试设计能力解决方案
  18. 如何编写 Runkeeper 一样的 app(2)
  19. Flink系列之Flink 流式编程模式总结
  20. 组图:1912年斯德哥尔摩奥运会

热门文章

  1. Selenium自动化测试——计算器加法测试
  2. 人工智能时代的风口项目,电话机器人源码和系统部署
  3. 一套完整的直播系统开发、直播平台搭建的原理
  4. 如何下载java JDK文档
  5. ccs船用计算机检验标准,CCS智能船舶规范体系全面解读
  6. fastboot刷机操作
  7. RN开发系列<8>--Redux(1)入门篇
  8. 数据分析最具价值的49个案例(建议收藏)
  9. linux系统下安装flash player插件下载安装,Linux16.0.4下安装Adobe Flash Player插件(Firefox)...
  10. VOW Desktop(CAD看图软件)v1.0.1中文版