簡単なミニゲーム2024年11月02日くいなちゃん「プログラミング言語Kuin」の基本機能を学ぶ、実行環境がexe用のチュートリアル2です。今回はサイコロを振るプログラムを作ってみます。1ウインドウの作成まずはウインドウを表示してみます。Kuinを起動(もしくは新規作成)し、図1-1の(1)から「mainと空のウインドウ」をクリックしてコードを挿入してください。スニペット図1-2のコードが挿入されたと思います。空のウインドウを表示するプログラムこれは、単にウインドウを表示するだけのプログラムになっていて、先ほどの(1)をクリックせずに1文字ずつ書いても同じ結果になります。先ほどの(1)は、よく書くプログラムをすぐに挿入できる機能で「スニペット」といいます。自分で好きなプログラムをスニペットに登録することもできますので便利に使ってください。このプログラムをウインドウモードで「コンパイル&実行」すると図1-3のようになります。ウインドウの表示それではプログラムの中身を説明します。func」で挟まれた行が上から順に実行されます(図1-4)。空のウインドウを表示するプログラム2つまり4~7行目が実行されて、このプログラムは終了します。4行目の「wnd@makeWnd(~)」は、ウインドウを作成する命令です。括弧の中はカンマ区切りでそれぞれ、「親ウインドウ」「サイズを変更したときの挙動」「幅」「高さ」「タイトルに表示するテキスト」が書かれています。親ウインドウが無い場合はこのように「null」と書きます。::」によって「@wndMain」という名前の変数に代入しています。「変数」とは箱のようなもので、値を入れたり、入っている値を読んだりすることができます。「::」は代入演算子といい、「::」の右側の値を左の変数に代入する操作を表します。変数は使う前にあらかじめ作成しておく必要があります。この「@wndMain」は1行目で作成しています。型名」と書くことで、その名前と型を持った変数が作成されます。「型」とは、その変数にどんな値が入るかを示すもので、例えば整数型には整数しか入らず、文字型には文字しか入りません。このプログラムの「wnd@Wnd型」はウインドウが入る型です。残るは6~7行目のプログラムです(図1-5)。空のウインドウを表示するプログラム36~7行目は、ウインドウを閉じるまでこのプログラムを終了しないようにする処理です。「wnd@act()」は、ウインドウを移動したり、サイズを変更したり、閉じたときなどの処理を行う命令です。この命令は真偽の値を返し、ウインドウが閉じられるまでは真、閉じたときには偽の値を返します。while」とに挟まれた部分の行を繰り返し実行する命令になります。この6~7行目は、ウインドウが閉じられて「wnd@act()」が偽の値を返すまで、待機し続けるような処理になっています。2ボタンの追加さて、プログラムの基本的な仕組みが分かったところで、ウインドウにボタンを追加してみましょう。図2-1のプログラムを書き加えます。ボタンの追加ボタンの作成は、基本的にはウインドウの作成と同じで、「wnd@makeBtn(~)」を使って行います。」「親ウインドウの幅を変更したときの挙動」「親ウインドウの高さを変更したときの挙動」「表示するテキスト」です。実行すると図2-2のようになります。ボタンの追加の実行画面ボタンを押してみても何も起こりませんが、それはプログラムを書いていないからです。図2-3のプログラムを追加しましょう。~」と書くと、@btnDiceのボタンが押されたときの動作を設定することができます。この「@btnDice.onPush」とは@btnDiceが持つ要素で、変数のように扱えます。「@btnDice.onPush」に代入した処理が、ボタンが押されるたびに呼び出される仕組みです。ここでは13行目で「@btnDiceOnPush」というものを作成していて、それを7行目で「@btnDice.onPush」に代入していますので、ボタンが押されるたびに13行目の処理が行われるようになります。13~15行目では、ボタンが押されたときの処理を書いています。14行目の「wnd@msgBox(~)」は画面にメッセージを表示する命令です。括弧内は順に「親ウインドウ」「表示するメッセージ」「タイトルに表示するテキスト」「表示するアイコン」「表示するボタン」です。6)」は1~6の数をランダムに返す命令です。「wnd@msgBox(~)」で表示するテキストは「文字列型」でなければならず、「lib@rnd(~)」は整数型で返ってくるため、「.toStr()」によって整数型から文字列型に変換しています。ボタンを押すと図2-4のように、1~6の数がランダムに表示されます。func」で囲んだ部分のことを「関数」といい、一連の処理をまとめることができます。~」のように変数に代入することができます。main()」も一種の関数です。Kuinのプログラムは「main」という名前の関数を実行して終わる流れだと言えます。3サイコロを10個振るさて、サイコロを10個振るようにしてみましょう。図3-1のプログラムを追加します。10個のサイコロを振る18行目の「msg」の部分も忘れずに書き換えてください。for」で囲むと、その間を数え上げながら一定回数繰り返します。数え終わる値)」です。10)」とあるため、「1、2、3、...、10」と数えながら、計10回繰り返します。14行目では、「msg」という名前の変数を作成しています。型は「[]char」ですが、これは文字列を入れる型です。「文字列」とは文字が連なったもので、つまり「ABCDE」や「こんにちは」などのことです。プログラム上にところどころ「"」の記号がありますが、Kuinでは文字列を表すときに「"」で囲んで、「"ABCDE"」「"こんにちは"」などと書きます。0文字の文字列は「空文字列」といい、「""」と書きます。""」によって空文字列を代入しています。16行目に出てくる「~」の記号は、文字列を連結する操作です。"DEF"」と書くと、「"ABCDEF"」になります。16行目の「\n」は、改行文字を表します。このようにプログラム上でそのまま書くことが難しい文字は、「\」の記号と1文字の組み合わせで表します。「\」の文字自体を表したい場合は「\\」と書きます。6).toStr()」の結果に改行文字を付けたものが追加されることになります。計10回繰り返されるため、このプログラムを実行すると図3-2のようになります。以上、チュートリアル「サイコロを振るプログラム」でした。次回は、簡単なミニゲームを作ってみます。簡単なミニゲーム前へ目次ホームへ次へ1730494712jaf。