DXライブラリである座標を中央にして文字列を描画し、ボタンとするコード。同じ文字列リテラルを3個ずつ使用してしまっていてよくない。
DrawGraph(50,300, buttonImage[loadStatus==GAME_STATUS_MAINGAME_INIT?1:0], FALSE); DrawString( 50+75-GetDrawStringWidth("スタート", lstrlen("スタート"))/2, 300+20-GetFontSize()/2, "スタート",clBlack); DrawGraph(245,300, buttonImage[loadStatus==GAME_STATUS_PRACTICE_INIT?1:0], FALSE); DrawString( 245+75-GetDrawStringWidth("練習スタート", lstrlen("練習スタート"))/2, 300+20-GetFontSize()/2, "練習スタート",clBlack); DrawGraph(440,300, buttonImage[loadStatus==GAME_STATUS_TUTORIAL_INIT?1:0], FALSE); DrawString( 440+75-GetDrawStringWidth("ルール説明", lstrlen("ルール説明"))/2, 300+20-GetFontSize()/2, "ルール説明",clBlack); DrawGraph(50,380, buttonImage[loadStatus==GAME_STATUS_RANKING_INIT?1:0], FALSE); DrawString( 50+75-GetDrawStringWidth("ランキング", lstrlen("ランキング"))/2, 380+20-GetFontSize()/2, "ランキング",clBlack); DrawGraph(245,380, buttonImage[loadStatus==GAME_STATUS_OMAKE_INIT?1:0], FALSE); DrawString( 245+75-GetDrawStringWidth("おまけ", lstrlen("おまけ"))/2, 380+20-GetFontSize()/2, "おまけ",clBlack); DrawGraph(440,380, buttonImage[loadStatus==GAME_STATUS_END?1:0], FALSE); DrawString( 440+75-GetDrawStringWidth("終了", lstrlen("終了"))/2, 380+20-GetFontSize()/2, "終了",clBlack);
使い方ヒント: 「これは臭う」という行を見付けたら、各行のをクリックしてマーキングしておきましょう(要Twitter OAuth認証)
この問題は「同じ文字列を3個ずつ使用している」という問題だけ?
アピール文中の「同じものを使用している」という要素は他にあるはずだと思います。
・メソッドの改行のやりかたが気に食わない
・文字列はどこかで宣言して使いまわしていいんじゃない?
・ルーチン化しよう(提案)
文字列もそうだけど座標がマジックナンバーなのが一番問題
コメント投稿には、twitter認証が必要です。
Twitter認証
似たようなあちらこちらに部分がいっぱい…