《微信小程序设计》通识课:本学期逻辑层设计思路


《微信小程序设计》通识课:本学期逻辑层设计思路

在这里插入图片描述

这学期上了通识课《微信小程序设计》,最近打算整理一下这学期的一些小作业。

一、案例描述

设计一个微信小程序,后台生成0到100的随机整数,用户猜整数,在输入框输入用户猜的数字,点击提交按钮,小程序将用户输入的整数与后台生成的随机整数进行比较,输出结果。同时输出用户提交的数量。如果用户猜不出来,点击按钮查看答案。

二、设计思路 1、页面设计思路

由于用户输入的数字需要在后台与随机整数进行比较,我们可以通过输入框的输入组件获取用户输入。接下来通过视图组件显示提示信息和输入时间。最后,还有一个提交按钮,按钮组件。我们也可以设计一个查看答案的按钮地图场景,先通过隐藏命令隐藏答案,如果用户点击按钮查看答案则显示答案。

2.逻辑层设计思路

由于后台需要生成一个0到100的随机整数,所以我们可以在js文件中定义一个随机函数来生成一个随机整数。同时,我们还需要一个函数来判断用户输入的大小和系统的随机整数,并输出相应的结果。在判断函数中猜数字游戏设计UI界面,我们可以定义一个变量i,用于计数。

三、程序设计 1、页面设计

首先定义一个输入框,通过输入组件获取用户输入。代码如下:


接下来通过view组件获取并显示后台提示信息和输入时间

提示信息:{{tips}}
输入次数:{{i}}

最后提交和查看回答按钮可以通过按钮组件实现



我们可以通过视图组件显示答案


2.逻辑层设计

首先通过onLoad函数生成一个0到100的随机整数,代码如下:

onLoad:function(){

天天爱猜图 猜四字游戏_神柏沙头猜一数字_猜数字游戏设计

r=parseInt(Math.random()*101); },

接下来通过input组件绑定的num函数获取用户输入的数字。代码如下:

num:function(e){
  this.setData({
    random:parseInt(e.detail.value)
  })
},

得到随机数和用户输入的数字后,我们就可以进行判断并输出提示信息,可以实现如下:

judge: function(){
 i++
 if(this.data.random == r){
   this.setData({
     tips:"恭喜你,猜对了!"
   })
 }else if(this.data.random > r){
   this.setData({
     tips:"你输入过大!"
   })
 }else{
   this.setData({
     tips:"你输入过小!"
   })
 }
 this.setData({

神柏沙头猜一数字_猜数字游戏设计_天天爱猜图 猜四字游戏

i:i }) },

我们还需要一个函数来控制答案的显示,代码如下:

answer:function(){
  this.setData({
    rand:r,
    flag:false
  })
},

至此猜数字游戏设计,我们的基本功能已经实现。

4.页面美化

基本功能实现后,我们就可以通过修改wxss文件来美化我们的程序了。

我们可以给页面一个背景色,然后让input有一个边框,然后修改button按钮的样式。

代码如下:

page{
  background: #f1f0f6
} 
input{
  background: #fff;
  height: 120rpx;
  margin: 10px;
  padding-left: 8px;
  border: solid 1px silver
} 

神柏沙头猜一数字_猜数字游戏设计_天天爱猜图 猜四字游戏

button{ margin: 50rpx 0rpx; background-color: red; color: white; }

五、源码 1.js文件代码

var rand,i=0,r,random,tips;
Page({
  data: {
    flag:true,
    random:'',
    tips:'',
    times:''
  },
  onLoad:function(){
    r=parseInt(Math.random()*101);
    console.log(r)
  },
  num:function(e){
   this.setData({
    random:parseInt(e.detail.value)
   })
  },
judge: function(){
 i++
 if(this.data.random == r){

猜数字游戏设计_天天爱猜图 猜四字游戏_神柏沙头猜一数字

this.setData({ tips:"恭喜你,猜对了!" }) }else if(this.data.random > r){ this.setData({ tips:"你输入过大!" }) }else{ this.setData({ tips:"你输入过小!" }) } this.setData({ i:i }) }, answer:function(){ this.setData({ rand:r, flag:false }) }, })

2.wxml文件代码

猜数字小游戏

神柏沙头猜一数字_猜数字游戏设计_天天爱猜图 猜四字游戏

提示信息:{{tips}} 输入次数:{{i}}

3.wxss文件代码

page{
  background: #f1f0f6
} 
input{
  background: #fff;
  height: 120rpx;
  margin: 10px;
  padding-left: 8px;
  border: solid 1px silver
} 
button{
  margin: 50rpx 0rpx;
  background-color: red;
  color: white;
} 

在这里插入图片描述