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 ボックス モデルの使用経験の概要

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

推薦する

WeChat アプレット計算機の例

この記事では、参考までに、計算機を実装するためのWeChatアプレットの具体的なコードを紹介します。...

タイムライン効果を実現するCSS3

最近、コンピューターの電源を入れたところ、Geek Academy が新規ユーザーに 1 か月の無料...

シェルスクリプトはNginxのaccess.logのPVを定期的にカウントし、APIに送信してデータベースに保存します。

1. PVとIPの統計一日のPV(ページビュー)をカウントする cat access.log | ...

MySql カンマ連結文字列クエリの 2 つの方法

次の2つの関数は、 FIND_IN_SETと同じように使用されます。使用する場合、 FIND_IN_...

ネイティブ JS 音楽プレーヤー

この記事の例では、音楽プレーヤーを実装するためのJSの具体的なコードを参考までに共有しています。具体...

フォント宝庫 50 種類の素晴らしい無料英語フォントリソース パート 2

デザイナーは独自のフォント ライブラリを持っているため、プロジェクトの設計時にすぐに使用できます。今...

Docker で MySQL をインストールし、リモート接続を実装するチュートリアル

画像をプルする docker プル mysql完成した画像を見る Docker イメージイメージを介...

Nexusプライベートサーバー構築原理とチュートリアル分析

1つ。 Nexus プライベート サーバーを構築する理由は何ですか?社内の開発メンバーは全員外部ネッ...

MYSQLについては、データ型と操作テーブルを知る必要があります

データ型と操作データテーブル1.1 MySQL 型: 整数 1.2 MySQL データ型: 浮動小数...

MySQLの日付と時刻関数の使用の概要

この記事はMySQL 8.0に基づいていますこの記事では、日付と時刻の操作のための MySQL 関数...

DockerコンテナでArthasを使用するための詳細な手順

Arthas はあなたのために何ができるでしょうか? Arthas 、開発者に深く愛されている Al...

RPM パッケージを使用して MySQL 5.7.18 をインストールするチュートリアル

システム:セントOS7 RPM パッケージ: mysql-コミュニティクライアント-5.7.18-1...

ウェブページでよく使用される共有コードの完全なリスト(フロントエンドに必須)

コードをコピーコードは次のとおりです。 1. 新浪微博<a href="http:/...

Tomcat マルチレイヤーコンテナの設計に関する簡単な説明

目次コンテナ階層サーブレットの検索を要求するプロセス仕組みTomcat のコンテナは Servlet...

HTML メタビューポート属性の説明

ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置し...