カレンダー

09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -

FC2ブログランキング

気に入ったら押してくださいな~

FC2ブログランキング

1日1回のクリック有効です。

HSPについて

おにたま氏作成の無料で使える プログラム言語です。

こちらからダウンロード出来ます。

最近の記事

最近のこめんと~

最近のトラックバック

月別あ~かいぶ

かてごり~

ぷろふぃ~る

BYTE

Author:BYTE
QMAプレイヤー。
もはや1ヶ月に10プレイ程度の
今も昔も鍍金賢者。

カード名は明かせないな(w

りんく~

ブロとも申請フォーム

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

四択プログラムの説明~

今回は一気に詰め込みすぎました。
古いプログラムは参考程度に0からプログラムは書き直しています…。
プログラム中のコメントではわかりづらい部分もあると思うので、
少し説明します。

#define S_FONT_SIZE 22 ;選択肢のフォントサイズ
#define S_FONT_SIZE_HOSEI 8 ;選択肢に表示されるフォントのY座標補正値


S_FONT_SIZE を適当にいじって実行してみてください。
大きいほどフォントは綺麗に表示されますが、ボタンから文字がはみ出しますよ。
S_FONT_SIZE_HOSEI フォントのサイズを変えたらこちらも変更して下さい。
フォントを大きくしたら、補正値は減らしてください。
小さくしたら補正値は大きくしてください。


#define YONTAKU_X_SIZE 400 ;四択ボタンのXサイズ
#define YONTAKU_Y_SIZE 55 ;四択ボタンのYサイズ
#define YONTAKU_Y_POS 240 ;四択ボタンのY座標

四択ボタンのサイズや位置です。



*main
title "クイズマジックアカデミー " + next_count + "問目"
wait 0

redraw 0
gosub *問題読み込み
gosub *問題文を仮想画面に描く
gosub *背景描画
gosub *黒板描画

if keisiki = "○×" : gosub *○×
if keisiki = "四択" : gosub *四択連想

*四択連想 とありますが、
連想ははっきり言って四択のプログラムをそのまま流用出来るので
連想は四択と同じサブルーチン内に書きます。
連想は1行ごとにwaitがかかる、選択肢の画像が青っぽいぐらいですからね。


sdim sentakusi , 4 , 40 ;選択肢は4つ。全角で20文字まで。
sdim sentakusi_buf , 4 , 40
sentakusi_tmp = ""
uso_sentakusi_kazu = 0 ;嘘の選択肢のカウント用(初期値 0)

sdim sentakusi , 4 , 40
4は4つまでの選択肢を表します。選択肢16個対応するなら 16 に変更して下さい。
例をあげると、
sentakusi.0 = "平安時代" ←これが答えになるようにする
sentakusi.1 = "鎌倉時代"
sentakusi.2 = "室町時代"
sentakusi.3 = "奈良時代"
sentakusi.4 = "江戸時代"
sentakusi.5 = "弥生時代"
sentakusi.6 = "縄文時代"


のように代入していきます。
40は変えないで下さい。sentakusi1つにつき40byteのメモリを確保します。

sdim sentakusi_buf , 4 , 40
シャッフル用の配列を確保します。上記の値と同じにしないと駄目です。

sentakusi_tmp = ""
シャッフル用です。

uso_sentakusi_kazu = 0
嘘選択肢がいくつあるかをカウントしていきます。
その数字内でランダムで選びます。


repeat
getstr sentakusi.cnt , mondai_tmp , a , '\t'
sentakusi_buf.cnt = sentakusi.cnt
if strsize = 0 : break
a = a + strsize
uso_sentakusi_kazu = uso_sentakusi_kazu + 1 ;嘘の選択肢のカウントを1つ増やす
loop

今回の最重要ポイントです。
mondai_tmp から 選択肢をすべて sentakusi.cnt と sentakusi_buf(シャッフル用)に追加していきます。

if strsize = 0 : break
選択肢が無くなったらrepeat ~ loopを強制脱出します。


buffer ID_BUTTON , YONTAKU_X_SIZE , YONTAKU_Y_SIZE*8
picload "./image/4taku_button.bmp"

四択ボタンの読み込みです。(ここでは表示されません)
連想の時はここで if 分岐させて連想用の画像を準備します。

長くなるので、今回はここまでで~す。


参考になった!と少しでも思ったら押してくださいね~

スポンサーサイト

テーマ : クイズマジックアカデミー - ジャンル : ゲーム

タグ : フォント 補正値


コメント

コメントの投稿


管理者にだけ表示を許可する

 BLOG TOP 


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。