WeChatアプレットで数字当てゲームを実装する実際のプロセス

WeChatアプレットで数字当てゲームを実装する実際のプロセス

機能紹介

ユーザーは 1 ~ 100 の数字を入力し、その結果に基づいてサイズを推測するよう求められます。ユーザーが正しく推測した場合は、最初からやり直すことができます (推測回数も設定できます)

レンダリング

クリックしてゲームインターフェースを開始

ゲームルールインターフェース

その他のインターフェースについて

私のホームページ(エフェクト画像)はindex03を使用し、ゲームの開始はindex01を使用し、ゲームルールはindex02を使用し、その他はすべてindex02を使用します。

(app.json にファイルを作成します。これは私の app.json によって作成されたファイルです)

(ホームページのレンダリングではindex03を使用しているため、前面に配置する必要があります)

1. ホームページレンダリング用のコード(index03)

WXML コード

<!--pages/index03/index03.wxml-->
<ビュークラス="box2">
//url はジャンプ先のページです <navigator url="../index/index">
        <button type="primary">ゲームを開始</button>
    </ナビゲーター>
</ビュー>
<ビュークラス="box2">
    <ナビゲーター url="../index01/index01">
        <button type="warn">ゲームルール</button>
    </ナビゲーター>
</ビュー>
<ビュークラス="box3">
    <ナビゲーター url="../index02/index02">
        <button type="default">その他について</button>
    </ナビゲーター>
</ビュー>

WXSS コード

/* ページ/index03/index03.wxss */
.box2{
  上マージン: 200rpx;
  幅: 100%;
  高さ: 100rpx;
}
.box3{
  上マージン: 240rpx;
  幅: 100%;
  高さ: 100rpx;
}

2. ゲーム開始ページ(インデックス)コード

WXML コード

<!-- index.wxml -->
<view class="demo-box">
    <フォーム>
        <block wx:if="{{isGameStart}}">
            <input type="number" placeholder="1~100 の数字を入力してください" bindinput="getNumber"></input>
            <button type='primary' form-type="reset" bindtap='guess' class="btn">送信</button>
        </ブロック>
        <ブロック wx:else>
            <button type="primary" bindtap='restartGame'>再起動</button>
        </ブロック>
    </フォーム>
    <text id="tip">{{tip}}</text>
</ビュー>

WXSS コード

/**index.wxss**/
入力{
  境界線: 2rpx 緑;
  マージン: 30rpx 0;
  高さ: 90rpx;
  /* 丸い境界線 */
  境界線の半径: 20rpx; 
}
#ヒント{
  /* 高さを固定 */
  高さ: 800rpx;
}
.デモボックス{
  高さ: 400rpx;
}
ナビゲーター{
  テキスト配置: 中央;
}

index.js コード

// インデックス.js
 
ページ({
  データ: {
  
  },
  初期:関数(){
    this.setData({
      // Math.round to integer //Math.random() は 0 から 1 の間の小数点以下の乱数を受け取ります。ここでは 100 を掛けて 0 から 100 の間の乱数を取得します。答え:Math.round(Math.random()*100)、
      // ラウンド数: 0,
      // ヒントステートメント tip:''、
      // ユーザーが推測した数値 x: -1,
      // ゲームが開始されました isGameStart:true
    });
    //コンソールはシステムの乱数の答えを出力します console.log("答えは "+this.data.answer);
  },
  // ユーザーが入力した番号を取得する getNumber:function(e){
    this.setData({
      x : e.詳細値
    });
  },
  // このラウンドで数字を推測し始めます guess:function(){
    // このラウンドでユーザーが入力した数字を取得します。let x = this.data.x;
    // x を新しい数値を取得しない状態にリセットします。this.setData({x:-1});
    x<0の場合{
      // プロンプト wx.showToast({
        タイトル: '0 未満にすることはできません'、
      });
    }そうでない場合(x>100){
      wx.showToast({
        タイトル:'100 を超えることはできません'、
      });
    }それ以外{
      // ラウンド数が増加します let count = this.data.count + 1;
      // 現在のヒント情報を取得します。let tip = this.data.tip;
      // 正しい答えを取得します。let answer = this.data.answer;
 
      if(x == 答え){
        tip += '\n' + count + 'round:' + x + '、正解です!';
        // ゲーム終了 this.setData({isGameStart:false});
      }そうでなければ(x > 答え){
        tip += '\n' + count + 'round:' + x + ', big!';
      }それ以外{
        tip += '\n' + count + 'round:' + x + '、小さすぎます!';
      }
        //ラウンド数をカウントします。ここでは、ユーザーが5回だけ推測するように設定しています。if (count == 5) {
        tip += '\nゲームオーバー';
        this.setData({isGameStart:false});
      }
      // プロンプト文と丸め数を更新します this.setData({
        ヒント:ヒント、
        カウント:カウント
      });
    }
  },
  // ゲームを再開する restartGame:function(){
    これを初期値として設定します。
  },
  //オプション(オブジェクト)
  onLoad: 関数(オプション) {
    これを初期値として設定します。
  }

3. ゲームルールページ(index01)コード

WXML コード

<!--pages/index01/index01.wxml-->
<view class="demo-box">
<テキスト>
 1. システムは 1 ~ 100 の数字をランダムに生成し、プレイヤーはそれを推測します 2. プレイヤーには 5 回のチャンスがあります 3. プレイヤーは 5 回以内に推測に成功します 4. [ゲームの開始] をクリックしてインターフェイスに入ります 5. 推測が正しかったかどうかにかかわらず、プレイヤーは最初からやり直すことができます</text>
</ビュー>

WXSS コード

/* ページ/index01/index01.wxss */
.デモボックス{
  ディスプレイ: フレックス;
   //垂直レイアウト flex-direction: column;
  アイテムの位置を中央揃えにします。
  コンテンツの両端揃え: スペースを空ける;
  /* 幅: 400rpx; */
  高さ:100vh;
}
文章{
  マージン: 0 50rpx;
   //行の高さ line-height: 100rpx;
}

4. その他のページ(index02)コードについて

WXML コード

<!--pages/index02/index02.wxml-->
<view class="demo-box">
<テキスト>
 1. このゲームは娯楽目的のみです。 2. このゲームには多くの欠点があります。 3. プレイヤーは貴重な提案を提供することができます。 4. プレイヤーはヒントに従って推測することができ、非常に役立ちます。
</ビュー>

WXSS コード

/* ページ/index02/index02.wxss */
.デモボックス{
  ディスプレイ: フレックス;
  flex-direction: 列;
  アイテムの位置を中央揃えにします。
  コンテンツの両端揃え: スペースを空ける;
  /* 幅: 400rpx; */
  高さ:100vh;
}
文章{
  マージン: 0 50rpx;
  行の高さ: 100rpx;
}

(ゲームのルールは他の 2 ページのコードと同じです。これは参考用です。まだ多くの欠点があります。)

要約する

WeChatミニプログラムで数字当てゲームを実装する方法についての記事はこれで終わりです。WeChatミニプログラムで数字当てゲームに関する関連コンテンツについては、123WORDPRESS.COMで以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も123WORDPRESS.COMを応援してください。

以下もご興味があるかもしれません:
  • フリップカードゲームのWeChatミニプログラムバージョン
  • WeChatアプレットがパズルゲームを実装

<<:  div ボックス モデルの使用経験の概要

>>:  アニメーションとトランジションの違い

推薦する

JavaScriptオブジェクトをマージするさまざまな方法の詳細な説明

目次オブジェクトをマージするさまざまな方法(インターフェースを通じてデータを取得し、それをローカル ...

MySQL インデックスの設計と最適化の方法

目次インデックスとは何ですか?左端のプレフィックス一致の原則key_lenの計算方法インデックスの最...

Dockerでイメージをプルするための手順を完了する

1. Docker pullはイメージをプルします$ docker pull {IMAGE_NAME...

MySQLクエリが遅い理由

目次1. 遅いところはどこですか? 2. 不要なデータをクエリしましたか? 1. 不要なレコードをク...

JavaScript でプロパティハイジャックを実装する方法 defineProperty

目次序文記述子getとsetの詳細な説明オブジェクトの属性の乗っ取りオブジェクトのすべてのプロパティ...

LinuxのCPU負荷とCPU使用率の詳細な説明

CPU 負荷と CPU 使用率これらは両方とも、ある程度、マシンの忙しさを反映できます。 CPU 使...

MySQL ストアド プロシージャ関連の権限変更の問題

MySQL データベースを使用すると、他のユーザーが定義したストアド プロシージャを他のユーザーが変...

PrometheusはGrafanaディスプレイを使用してMySQLを監視します

目次Prometheusはエクスポーターを介してMySQLを監視し、Grafanaチャートで表示しま...

音楽プレーヤーアプリ(アプリケーションソフトウェア)の分析と再設計 美しい音楽プレーヤーインターフェースの設計方法

無線インタラクションにずっと興味があったので、今回は実践してみようと思います〜この分析と評価は iO...

ウェブデザインを改善するための 8 つの CSS ツールを共有する

ウェブサイトのデザインを編集または変更する必要がある場合、CSS が重要な役割を果たします。 CSS...

よく使われるnginxの書き換えルールの詳細な説明

この記事では、Web ページのリンクを美しくするためによく使用される書き換えルールをいくつか紹介しま...

VMware pro15 インストール macOS10.13 詳細インストール図(画像とテキスト)

編集者は最近、macOS システムを使い始めたかったので、VMware に macOS イメージ シ...

Linux で特定のプログラムを見つけるための whereis の例の詳細な説明

Linuxは特定のプログラムを見つけますwhereis コマンドは主にプログラム ファイルを検索し、...

MySQL最新バージョン8.0.17解凍版インストールチュートリアル

個人的にはインストール版よりも解凍版の方がインストールしやすいと思います。早速、解凍版のインストール...

Nginx がリクエストを処理する際のマッチングルールの詳細な分析

nginx はリクエストを受信すると、まず server_name でサーバーを照合し、次にサーバー...