Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2009-04-24

科目別にノルマを設定するよ!

| 19:22

せんせい】

 ではでは、まずは、右側の表示に関して解決していきましょう。

 これらは、基本的には変数の値を参照すればいいだけのことなので、表示に反映すること自体はそう難しくありません。

【でし】

 それにしても、初期の描画は座標をいろいろ変数にしていたのに、こりゃまた見事に数字で決め打ちですね(汗)

【せんせい】

 すいません;

 同じサイズのを縦に並べているだけなので、いくらでもきちんとできると思うんですが、ついついこーなってしまいます;;

 それはさておき、表示自体はそう難しくないので、2次元配列についてもう一度おさらいしてみたいと思います。

#------------------------------------------------------------
ノルマとは整数。
時限とは整数。時限=0。
科目とは配列。  #0科目、1ノルマ
科目=「古典文学,2
日本史,3」
科目数とは整数。科目数=科目の要素数。

#-----得点描画-----------------------------------------------
*得点描画
  塗り色は$FFFFEE。線色は$FFFFEE。線太さは0。
  表画面の435,240から615,280へ四角。
  表画面の435,320から615,360へ四角。
  表画面の435,400から615,440へ四角。

  #ノルマ
  もし、ノルマ≦0ならば
    文字書体は「MS Pゴシック」。文字サイズは20。文字色は$FF0000。
    表画面の435+((615-435)-(「クリア!」の文字幅取得))/2,275-(「クリア!」の文字高さ取得)へ「クリア!」を文字描画。
    表画面の435,240,180,40を母艦の435,240へ画像部分コピー。
  違えば
    文字書体は「MS Pゴシック」。文字サイズは20。文字色は$555500。
    表画面の435+((615-435)-(「残り {ノルマ} 問」の文字幅取得))/2,275-(「残り {ノルマ} 問」の文字高さ取得)へ「残り {ノルマ} 問」を文字描画。
    表画面の435,240,180,40を母艦の435,240へ画像部分コピー。

  #科目得点
  文字書体は「MS Pゴシック」。文字サイズは24。文字色は$555500。
  表画面の610-(得点の文字幅取得),358-(得点の文字高さ取得)へ得点を文字描画。
  表画面の435,320,180,40を母艦の435,320へ画像部分コピー。

  #総合得点
  表画面の610-(総合得点の文字幅取得),438-(総合得点の文字高さ取得)へ総合得点を文字描画。
  表画面の435,400,180,40を母艦の435,400へ画像部分コピー。
  描画処理反映。
#------------------------------------------------------------

#-----情報描画-----------------------------------------------
*情報描画
  塗り色は$FFFFEE。線色は$000000。線太さは2。
  表画面の435,20から615,120へ四角。
  文字書体は「MS Pゴシック」。文字サイズは20。文字色は$555500。
  表画面の450,30へ「{時限+1}時目」を文字描画。
  文字書体は「MS Pゴシック」。文字サイズは24。文字色は$555500。
  表画面の450,70へ(科目¥時限,0)を文字描画。

  #ノルマ設定
  塗り色は$FFFFAA。線色は$FFFFAA。線太さは0。
  表画面の430,210から630,240へ四角。
  文字書体は「MS Pゴシック」。文字サイズは18。文字色は$AA0000。
  表画面の430,210へ「ノルマは {科目¥時限,1} 問です」を文字描画。

    #得点表示
  塗り色は$FFFFAA。線色は$FFFFAA。線太さは0。
  表画面の430,290から630,320へ四角文字書体は「MS Pゴシック」。文字サイズは18。文字色は$AA0000。
    表画面の430,290へ「{科目¥時限,0}の得点」を文字描画。
    表画面の430,370へ「総合得点」を文字描画。

#------------------------------------------------------------

#-----クイズデータセット-------------------------------------
*データセット
  「{科目¥時限,0}.csv」を開く。
  データはそれ。
  
  データを配列シャッフル。
  問題数はデータの要素数。
  ノルマ=科目¥時限,1
#------------------------------------------------------------

【せんせい】

 前は、ノルマを3で決め打ちしましたが、普通面が進むごとにハードルが高くなっていくのが普通ですよね?

 もちろん、1面クリアするごとにプラスしていくという方法でもいいのですが、科目ごとのノルマをあらかじめ個別に設定しておけるようにしてみます。

【でし】

 ますますテストみたくなったかも?(>_<)

【せんせい】

 まで、科目配列は一次配列でしたが、これを二次配列にしちゃいます。

 科目名の後ろに「,」をつけて、任意のノルマ数を入れるだけです。

 これに伴い、まで「科目¥時限」で表示していた科目名は「科目¥時限,0」となります。

【でし】

 して、の科目のノルマが「科目¥時限,1」となる。

 分かってみたら、実に簡単です!

【せんせい】

 までも、さりげなく問題で二次配列をずっと使っていたわけですが、やっぱり自分で一からやってみると、理解した!って気になりますですね☆

ゲスト



トラックバック - http://nadesiko.g.hatena.ne.jp/snowdrops89/20090424