ザビタン開発日記
2009 | 01
2008 | 01 | 02 | 06 | 12
2007 | 10 | 11 | 12
2007年10月14日(日曜日)
14:42
関数化できんかな
 
さて先日背景にパターンを置きました。
こんどはウィンドゥだーーー!
と思ったのですが、そこでも今回のように一定のパターンを敷き詰める
形になりますね。うーん。今回は簡単なfor文でできたけど、ウィンドゥ
や飾りバーなどもその都度計算式を考えるってのも・・・・

そこで、背景埋め尽くしをputfontみたいに関数化できないかと思い、
ちょっとやってみます。(うまくできるかな〜???)

モデルになるのはすぐ上にあったboxfill8かなぁ。
この関数は

  1. vramの番地は?
  2. 画面のx方向の幅は?
  3. 塗る色は?
  4. 開始点のx,y座標は?
  5. 終了点の  〃

こういうパラマータがいる関数だよね?

同じような関数を妄想し、必要なパラメータを考える・・

  1. vramの番地は?
  2. 画面のx方向の幅は?
  3. パターンを格納している番地は?
  4. パターンのx幅、Y高は?
  5. 敷く積める場所の開始点、終了点

・・・とりあえずこんなところかな?
graphic.cの下辺りにとりあえず置いてみて、init_screen8から呼んでみよう。


void ptboxfill8(char *vram, int xsize, int ysize){
int y2,x2;
for (y2=0; y2 <= ysize; y2=y2+4) {
if (y2 % 8 == 0){
x2=1;
}
else{
x2=3;
}
for(x2; x2 <=xsize; x2=x2+3){
vram[y2 * xsize + x2] = 0;
}
}

return;
}

・・・おぉ! うまくいったぞ!??
今はこんなふうに呼んでいるけど

ptboxfill8(vram,x,y);



static char *ptn[8][8] = {
"........",
"........",
"........",
"........",
"........",
"........",
"........",
"........"
};
ptboxfill8(vram,x,y,ptn);

こんなパターンで呼べないかなぁ。えとえと・・・・



あっれぇ〜クソ! 配列を渡すのってポインタじゃないのかな・・・
こんな基礎的な所で引っかかる俺って・・・・orz

・・・ん? まてよ??






 
30日を過ぎたBlogにはコメントできません。
(1) 

PopnupBlog V3 Denali created by Bluemoon inc.