WeChat ミニプログラム 宝くじ番号ジェネレーター

WeChat ミニプログラム 宝くじ番号ジェネレーター

この記事では、WeChatアプレットの宝くじ番号ジェネレータの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

1. 事例の説明

7 つの宝くじ番号 (1 ~ 31) のメモを生成し、円形のアイコンに表示する小さなプログラムを設計します。また、クリックするたびに再生成され、さまざまな色の円形アイコンも生成されるボタンも設計します。

2. ケースコード

1) index.wxml ファイル

<!--index.wxml-->
 
<image src="/image/caipiao.png" style="width: 750rpx; height: 256rpx; display: inline-block; box-sizing: border-box; left: NaNrpx; top: NaNrpx"></image>
 
<ビュークラス="ボックス">
  <view class="title">宝くじジェネレーター</view>
  <view>生成された抽選シーケンス:</view>
  <view wx:for="{{rand}}">{{item}}</view>
</ビュー>
 
<ビュークラス="コンテキスト">
  <view class="item" style="background-color: {{color1}};">{{a}}</view>
  <view class="item" style="background-color: {{color2}};">{{b}}</view>
  <view class="item" style="background-color: {{color3}};">{{c}}</view>
  <view class="item" style="background-color: {{color4}};">{{d}}</view>
  <view class="item" style="background-color: {{color5}};">{{e}}</view>
  <view class="item" style="background-color: {{color6}};">{{f}}</view>
  <view class="item" style="background-color: {{color7}};">{{g}}</view>
</ビュー>
==================================
<button type="primary" bindtap="newRand">新しい宝くじ番号を生成する</button>

2) index.wxss ファイル

/**index.wxss**/
 
。箱{
  マージン: 20rpx;
  パディング: 20rpx;
  境界線: 3px 破線 rgb(248, 72, 2);
  背景色: rgba(110, 144, 216, 0);
}
 
。タイトル{
  フォントサイズ: 30px;
  テキスト配置: 中央;
  下部マージン: 15px;
  色: rgb(59, 15, 252);
}
 
。コンテクスト{
  ディスプレイ: フレックス;
  テキスト配置: 中央;
  行の高さ: 100rpx;
  フォントの太さ: 太字;
  色: rgb(28, 3, 56);
}
 
。アイテム{
  フレックス成長: 1;
  
  境界線の半径: 50px; 
}

3) index.js ファイル

// インデックス.js
 
var ランド;
 
関数createRand(){
  ランド=[];
  
  (var i=0;i<7;i++){
    var r = 0;
 
    while(r==0){
      r = parseInt (Math.random() * 32);              
    } // ゼロ以外の数値を生成する r=(r/Math.pow(10,2)).toFixed(2).substr(2) // 生成される数値が2桁になるように制御し、1桁の数値の前に「0」を追加する
    ランド[i]=r;
 
    (var j=0;j<i;j++){
      (rand[j]==r){i=i-1;}の場合
    } // 以前に生成された数値が重複していないことを確認します console.log(rand[i]);
  }
};
 
ページ({
  色の作成:関数(){
    var color = [];
    var 文字 = "0123456789ABCDEF";
    (var i=0;i<7;i++){
      var c="#";
      (var j=0;j<6;j++){
        c+=文字[Math.floor(Math.random()*16)]
      }
      color.push(c); // ランダムに色を生成する}
    コンソールログ(色);
    this.setData({
      色1:色[0],
      色2:色[1],
      色3:色[2],
      色4:色[3],
      色5:色[4],
      色6:色[5],
      色7:色[6]   
    })
  }, //カラー読み込み onLoad:function(){
    ランダムオブジェクトを作成します。
    this.CreateColor();
    this.setData({
      ランド:ランド、
      a:rand[0],
      b:ランド[1],
      c:rand[2],
      d:ランド[3],
      e:rand[4],
      f:rand[5],
      g:ランド[6],
    })
  },
  新しいRand:関数(){
    ランダムオブジェクトを作成します。
    this.CreateColor();
    this.setData({
      ランド:ランド、
      a:rand[0],
      b:ランド[1],
      c:rand[2],
      d:ランド[3],
      e:rand[4],
      f:rand[5],
      g:ランド[6],
    })
  },
 
})

注意: この場合、生成される抽選番号は前の番号と重複できず、生成される番号は 1 ~ 31 であるため、番号「0」は出現できません。

3. ケースのスクリーンショット

4. 分析とまとめ

index.wxml ファイル コードでは、7 つの「カラフルなボール」のインターフェイス デザインが、1 つのビュー内に 7 つのビュー コンポーネントをネストすることによって実装されています。下にボタン コンポーネントを追加します。このコンポーネントはクリック イベントをバインドして新しい宝くじ番号を生成します。

index.js ファイルでは、乱数シーケンスを生成するために createRand() 関数が定義されています。この関数は最初に for ループを使用して 7 つの乱数を生成し、これらのデータを配列に追加します。 Math.random() 関数は、0 から 1 までの乱数を生成するために使用されます。Math.random()*32 は、0 から 32 までの乱数を生成できます。(r/Math.pow(10,2)).toFixed(2).substr(2) は、ランダムに生成された r を 2 桁の数字になるように制御し、1 桁の数字の前に「0」を追加できます。 定義された onLoad 関数と newRand 関数は、this.sarData() メソッドを通じて結果をビュー レイヤーにレンダリングします。

この場合も、JavaScript でランダムな色を作成します。色を作成する設計アイデアは、Math.random() および Math.floor() 関数を使用して、色を構成する 16 個の 16 進文字 (0 ~ F) から 6 文字をランダムに見つけて色を形成することです。6 文字を 7 回続けて見つけると、7 つのランダムな色を生成できます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 福祉宝くじラッキーナンバー自動生成器

<<:  Nginxドメイン名転送のhttpsアクセスの実装

>>:  Vue+Router+Element でシンプルなナビゲーションバーを実装する

推薦する

MySQLの挿入文字化け問題を解決する方法

問題の説明: MySQL に中国語の文字を挿入する場合、または MySQL では中国語の文字が正常に...

MySQL は制限を使用してページング例メソッドを実装します

1. 制限の基本的な実装一般的に、クライアントは、pageNo (ページ番号) と pageSize...

CSS3 のフィルタプロパティの使用に関する詳細な説明

最近、イントラネットポータルを修正していたときに、フィルターを使用する必要がある箇所に遭遇しました。...

Linux/Mac MySQL パスワードを忘れた場合の対処方法

Linux/Mac の MySQL パスワードを忘れた場合はどうすればいいですか?心配しないでくださ...

MySQL メタデータで Hive テーブル作成ステートメントのコメント スクリプトを生成する方法

序文この記事は主にMySQLメタデータ生成Hiveテーブル作成ステートメントコメントスクリプトに関す...

Nginx サービス クイック スタート チュートリアル

目次1. Nginx の紹介1. Nginx とは何ですか? 2. Nginx を使用する理由3. ...

HTML チュートリアル: 画像のサイズ、配置、間隔、境界線の属性を変更する方法

画像タグ: <img> ページに画像を挿入するには、「src」属性を持つ「img」タグを...

Nginx+FastDFSでイメージサーバーを構築

設置環境セントス環境依存性: yum -y gccをインストールします yum インストール -y ...

SSM VUE Axios の詳細な説明

目次SQL ログを表示するにはどうすればいいですか? ? SpringMVC でのパラメータ渡しの説...

MySQL 8.0 のインストール中に発生した 3 つの小さなエラーの概要

序文これまで当社ではMySQLの5.7シリーズを使用していましたが、バージョン8.0のリリースに合わ...

Web 上の要素を非表示にする方法とその利点と欠点

ソースコードの例: https://codepen.io/shadeed/pen/03caf6b36...

DockerにRedisをインストールし、設定ファイルとして起動する詳細な説明

更新: 最近、サーバーがマイニング ウイルスによってハッキングされたことが判明しました。これは、おそ...

Linux環境で環境変数を設定する方法

JDKダウンロードアドレス: http://www.oracle.com/technetwork/j...

Ubuntu 19 以下に Android Studio をインストールするチュートリアル

過去の経験から言うと、タスクを完了した後にメモを取るのは良い習慣です。インストール環境はUbuntu...

HTMLでは、div内のコンテンツが次のサイズを超えたときに自動的にスクロールバーが表示されるように設定します。

HTML ページでは、div 内のコンテンツが制限を超えた後に自動的にスクロール バーを表示する必要...