Hatena::Groupnadesiko

雪乃☆雫のなでしこ日和

2009-04-06

なでしこでサイコロを描くよ!

| 20:56

【せんせい】

 は、画像ファイルを使わずにサイコロの画像を表示させてみたいと思います。

【でし】

 えぇっ、んなことが・・・?!

【せんせい】

 サイコロの構成要素は四角と丸だけですから、何とかなるはず!

 本当は、こういうの苦手ですし、グラフィック色々使ってゲームらしい画面を作りたい希望もあるんですが・・・

【でし】

 でも、絵を描く方も、苦手だったんですね。

【せんせい】

 それはいいから!

 ていうか、ソースをコピペしたらさくっと動くほうが、ありがたい気がするのと、私的にもずいぶん勉強になるからです。

 では、早速やってみましょう。

#-----宣言----------------------------------------------------
ダイスサイズとは整数。ダイスサイズ=100
半径とは整数。半径=10
裏画面とはイメージの可視はオン。
裏画面のWはダイスサイズ*6。裏画面のHはダイスサイズ。
#-------------------------------------------------------------

#-----サイコロ画像の準備--------------------------------------
数を0から5まで繰り返す。
  もし、数=0ならば                #1のサイコロ
    線色は$000000。塗り色は$FFFFFF        #地の色は白
    外枠。                    #ダイスの外枠
    線色は$FF0000。塗り色は$FF0000        #目の色は赤
    半径=15。                 #大き目
    中点。

  もし、数=1ならば                #2のサイコロ
    線色は$000000。塗り色は$FFFFFF
    外枠。
    線色は$000000。塗り色は$000000
    半径=10。
    左上点。右下点。

  もし、数=2ならば                #3のサイコロ
    線色は$000000。塗り色は$FFFFFF
    外枠。
    線色は$000000。塗り色は$000000
    半径=10。
    中点。左上点。右下点。

  もし、数=3ならば                #4のサイコロ
    線色は$000000。塗り色は$FFFFFF
    外枠。
    線色は$000000。塗り色は$000000
    半径=10。
    左上点。左下点。右上点。右下点。

  もし、数=4ならば                #5のサイコロ
    線色は$000000。塗り色は$FFFFFF
    外枠。
    線色は$000000。塗り色は$000000
    半径=10。
    中点。左上点。左下点。右上点。右下点。

  もし、数=5ならば                #6のサイコロ
    線色は$000000。塗り色は$FFFFFF
    外枠。
    線色は$000000。塗り色は$000000
    半径=9。
    左上点。左下点。右上点。右下点。左中点。右中点。

*外枠
  x=数*ダイスサイズ。y=0。
  x2=x+ダイスサイズ。y2=ダイスサイズ。
  裏画面のx,yからx2,y2へ30,30で角丸四角。

*中点
  xx=(x+ダイスサイズ/2)-半径。yy=ダイスサイズ/2-半径
  xx2=(x+ダイスサイズ/2)+半径。yy2=ダイスサイズ/2+半径。
  裏画面のxx,yyからxx2,yy2へ。

*左上点
  xx=(x+ダイスサイズ/4)-半径。yy=ダイスサイズ/4-半径
  xx2=(x+ダイスサイズ/4)+半径。yy2=ダイスサイズ/4+半径。
  裏画面のxx,yyからxx2,yy2へ。

*左下点
  xx=(x+ダイスサイズ/4)-半径。yy=(ダイスサイズ/4)*3-半径
  xx2=(x+ダイスサイズ/4)+半径。yy2=(ダイスサイズ/4)*3+半径。
  裏画面のxx,yyからxx2,yy2へ。

*右上点
  xx=(x+ダイスサイズ/4*3)-半径。yy=ダイスサイズ/4-半径
  xx2=(x+ダイスサイズ/4*3)+半径。yy2=ダイスサイズ/4+半径。
  裏画面のxx,yyからxx2,yy2へ。

*右下点
  xx=(x+ダイスサイズ/4*3)-半径。yy=(ダイスサイズ/4)*3-半径
  xx2=(x+ダイスサイズ/4*3)+半径。yy2=(ダイスサイズ/4)*3+半径。
  裏画面のxx,yyからxx2,yy2へ。

*左中点
  xx=(x+ダイスサイズ/4)-半径。yy=ダイスサイズ/2-半径
  xx2=(x+ダイスサイズ/4)+半径。yy2=ダイスサイズ/2+半径。
  裏画面のxx,yyからxx2,yy2へ。

*右中点
  xx=(x+ダイスサイズ/4*3)-半径。yy=ダイスサイズ/2-半径
  xx2=(x+ダイスサイズ/4*3)+半径。yy2=ダイスサイズ/2+半径。
  裏画面のxx,yyからxx2,yy2へ。

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

【でし】

 おぉ、どどんと来ましたね。

【せんせい】

 しかし、内容は割と単純です。もっと、効率よい書き方もあるかも知れませんが・・・

 繰り返しの命令で、地を角丸四角で描き、所定の位置に丸を描いていくだけです。たとえば、1の出目なら中心に1個ですね。

 べつにかっこよくはありませんけど、サイコロの地の色や目の大きさや色は、出目ごとに自由に変えられますので、カラフルなサイコロも作れます。

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