クラウドDB,チュートリアル,中級

二人で対戦する三目並べアプリを作ります

このチュートリアルでは、オンラインで2人対戦ができる三目並べ(Tic-Tac-Toe)アプリを作成します。対戦を実現するために、リアルタイムで動作するクラウドDBを利用します。ただし、日本語化プロジェクトのApp InventorサーバーではクラウドDBが使えないため、MIT本家のApp Inventorサーバー(https://ai2.appinventor.mit.edu/)を使用します。MITのサーバーでも日本語表示は可能ですが、翻訳の品質に難があるため、このチュートリアルは英語環境で作成しています。

同じブロックで2台のスマホ上での動作を制御するので少し複雑です。

ページの最後にあるダウンロードセクションからソースコードをダウンロードできます。

MIT本家のApp Inventorサーバー(https://ai2.appinventor.mit.edu/)にアクセスしてGoogleカウントでログインします。言語はEnglishです。

[Projects]メニューから[Start new project]を選択し、"TicTacOnline"と名前を付けます。

デザイン編集

Screen1のタイトルを"対戦型三目並べ"にします。

Layout パレットから HorizontalArrangement を3個 Viewer に追加し、AlignHorizontalはすべて"Center"に、Widthはすべて"Fill parent"に設定します。名前はHorizontalArrangement1からHorizontalArrangement3になります。それぞれのHorizontalArrangementUser Interface パレットからButtonを3個ずつ追加します。すべてのボタンのFontSizeは24、HeightとWidth は80 pixels、テキストは空白にします。Buttonの名前は次のようになっているはずです。

HorizontalArrangement1

  • Button1
  • Button2
  • Button3

HorizontalArrangement2

  • Button4
  • Button5
  • Button6

HorizontalArrangement3

  • Button7
  • Button8
  • Button9

HorizontalArrangement3 の下にUser Interface パレットからLabel(lblStatus)、Button(btnReset)、TextBox(txtRoom) 、Button(btnCreate)、Button(btnJoin)、Label(lblRoom)をViewer に追加しプロパティーを次のように設定します。()内はコンポーネントの名前です。

  • lblStatus: FontSize=20、Text=空白
  • btnReset: Text=リセット
  • txtRoom: Width=Fill parent、Hint=Room番号を入力して参加をクリック
  • btnCreate: Text=Room作成
  • btnJoin: Text=参加
  • lblRoom: Text=空白

最後に Storage パレットから CloudDB(CloudDB1) を Viewer に追加します。CloudDB はnon-visible components です。

ブロック編集機能を使用したプログラミング

グローバル変数

残りのコンテンツを表示するにはログインする必要がありますどうぞ . 会員ではないですか ? 入会のご案内

JavaScript,チュートリアル,ユーティリティ,中級

四則演算のできる電卓アプリを作ります

このチュートリアルでは、四則演算のできる電卓アプリを作ります。ネットを調べてみると二項演算しかできないApp Inventor 2 電卓アプリばかりだったので、Google Gemini 2.0 Flash Thinking Experimentalに相談してJavaScriptで多項演算できるように作りました。もちろん多項式内の掛け算、割り算は優先して計算します。

平方根、三角関数、対数関数、累乗、階乗のできる高機能な関数電卓アプリはこちらです。

ページの最後にあるダウンロードセクションからソースコードをダウンロードできます。

[プロジェクト]メニューから[新規プロジェクトを始める]を選択し、"BasicCalculator"と名前を付けます。

このチュートリアルで学べること

  • ウェブビューでJavaScriptを実行する方法
  • ウェブビューとの値の受け渡し方法
  • プロシージャの書き方
  • すべてのコンポーネント“ブロックを使ったループ処理の仕方

使用コンポーネント

テキストボックス、ラベル、ウェブビュー、水平配置、ボタン

使用ブロック

グローバル変数、リスト、ロジック、テキスト、プロシージャ、もしならば、もしならばでなくてもしならば、それぞれの項目リスト内の実行、すべてのコンポーネントブロック

デザイン編集

Screen1のタイトルを"四則演算電卓"にします。

ページの最後にあるダウンロードセクションからダウンロードしたcalculator.htmlをファイルをアップロードボタンをクリックしてアップロードします。

ユーザーインターフェース パレットからテキストボックスラベルウェブビューを追加します。名前はそれぞれ計算式結果ウェブビュー1にします。

  • 計算式: 横幅="親要素に合わせる"、マルチラインプロパティー=チェック
  • 結果: テキスト=結果、横幅="親要素に合わせる"
  • ウェブビュー1: 目に見える=チェックを外す

レイアウト パレットから 水平配置コンポーネント を5個ビューアーに追加し、横幅はすべて"親要素に合わせる"に設定します。名前は水平配置1から水平配置5になります。それぞれの水平配置ユーザーインターフェース パレットからボタンを4個ずつ追加します。すべてのボタンのフォントサイズは20、横幅は25%にします。名前とテキストは次のようにします。

  • 水平配置1

    • 名前=AC、テキスト=AC
    • 名前=符号、テキスト=±
    • 名前=パーセント、テキスト=%
    • 名前=除、テキスト=÷

  • 水平配置2

    • 名前=n7、テキスト=7
    • 名前=n8、テキスト=8
    • 名前=n9、テキスト=9
    • 名前=乗、テキスト=乗

  • 水平配置3

    • 名前=n4、テキスト=4
    • 名前=n5、テキスト=5
    • 名前=n6、テキスト=6
    • 名前=減、テキスト=−

  • 水平配置4

    • 名前=n1、テキスト=1
    • 名前=n2、テキスト=2
    • 名前=n3、テキスト=3
    • 名前=加、テキスト=+

  • 水平配置5

    • 名前=n0、テキスト=0
    • 名前=小数点、テキスト=.
    • 名前=削除、テキスト=◀︎
    • 名前=イコール、テキスト==

下図のようになります。携帯電話サイズだとすべてのボタンが見えないのでタブレットサイズで表示しています。

ブロック編集機能を使用したプログラミング

残りのコンテンツを表示するにはログインする必要がありますどうぞ . 会員ではないですか ? 入会のご案内