カレンダー

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ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

lesson ○× 1-6 ○×ボタンをつけるのだ!

○×ボタンをつける

それでは一生懸命描いた○×ボタンを描画してみましょう~。
*main ルーチンを作ってプログラムをすっきりさせている辺にも注目してください。

#define M_FONT_SIZE 25 ;問題文のフォントサイズ
#define BACK_GROUND 10 ;背景用

#define ID_BUTTON 2 ;○×やタイピングボタンの描画用
#define MARUBATU_SIZE 180 ;○×ボタンのサイズ XもYも180
#define MARU_X_POS 130 ;○ボタンのX座標
#define BATU_X_POS 330 ;×ボタンのX座標
#define MARUBATU_Y_POS 255 ;○×ボタンのY座標

*初期設定
screen 0 ,640 ,480 ,0
title "クイズマジックアカデミー"
cls

notesel mondai_file
noteload "問題.txt"
sdim mondai , notemax
repeat notemax
noteget mondai.cnt , cnt
loop

randomize

buffer BACK_GROUND , 640 , 480
picload "./image/classroom.jpg"


*main
redraw 0
gosub *背景描画
if keisiki = "○×" {
  gosub *○×
 }
   else {
                if keisiki != "○×" : goto *main
}

gosub *問題文表示
wait 0
redraw 1
goto *main

stop


*問題文表示

a = 0
mondai_tmp = mondai.rnd(notemax)
getstr keisiki , mondai_tmp , a , '\t' : a=a+strsize
getstr jyanru , mondai_tmp , a , '\t' : a=a+strsize
getstr hint , mondai_tmp , a , '\t' : a=a+strsize
getstr kotae , mondai_tmp , a , '\t'

b = 0
hyouji_max_length = 0
gyousuu = 0
repeat
getstr hyouji.cnt , hint , b , '/'
b=b+strsize
hyouji_length.cnt = strlen(hyouji.cnt)
if hyouji_max_length<hyouji_length.cnt{
hyouji_max_length=hyouji_length.cnt
}
gyousuu = cnt
if strsize = 0 : break
loop

color 255 , 255 , 255
font "MS ゴシック" , 10 , 16
pos 0 , 2
mes "問題数:"+ notemax+ "問 "
pos 120 , 2
mes "" + keisiki + " " + jyanru

color 128 , 128 , 128
boxf (ginfo_winx-410)/2 , 15 ,(640-410)/2+410 , 225
repeat 200
color 100-cnt/2,50-cnt/4,50-cnt/4
line (ginfo_winx-400)/2,200-cnt+20,(ginfo_winx-400)/2+400,200-cnt+20
loop
color 255 , 255 , 255
font "MS ゴシック" , M_FONT_SIZE , 16
repeat gyousuu
pos (ginfo_winx-(hyouji_max_length*M_FONT_SIZE/2))/2-4,cnt*24 + 30
mes "" + hyouji.cnt
loop

repeat 3
title "クイズマジックアカデミー 次の問題表示まで残り"+(3-cnt)+"秒"
wait 100
loop

return

*背景描画
gsel 0
gmode 4,,,255
pos 0,0
gcopy BACK_GROUND , 0 , 0 , 640 , 480

return


*○×
buffer ID_BUTTON , 360 , 360
picload "./image/marubatu2.bmp"; ボタン画像をロード(この時点ではまだボタンは見えない)

gsel 0
gmode 4 , , , 255
color 0 , 255 , 0 ;黄緑色で色抜き
pos MARU_X_POS , MARUBATU_Y_POS
gcopy ID_BUTTON , 0 , 0 , MARUBATU_SIZE , MARUBATU_SIZE ; ○ボタン表示

pos BATU_X_POS , MARUBATU_Y_POS
gcopy ID_BUTTON , MARUBATU_SIZE , 0 , MARUBATU_SIZE , MARUBATU_SIZE ;×ボタン表示

return


↓今回のコピペの仕方
#define M_FONT_SIZE 25
↑この#の辺りを素早く3回左クリック(トリプルクリック)すると
プログラムのところが反転すると思うので、
反転したらブラウザの 編集→コピー
でコピーして、HSPに貼り付けて
lesson ○× 1-6.hsp と保存して実行してください。



まだボタンを押しても反応しませんよ



FC2ブログランキング
参考になったら押してくださいな~

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

スポンサーサイト

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

タグ : QMA ○×


コメント

コメントの投稿


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

 BLOG TOP 


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