忍者ブログ
なんとなくだらだらと。方向性はまだ決まってない。 当方のプログラムでは、山田巧さん作成のDXライブラリを利用させていただいてます。 本サイト http://homepage2.nifty.com/natupaji/DxLib/index.html DX Library Copyright (C) 2001-2008 Takumi Yamada.
[71] [70] [69] [68] [67] [66] [65] [64] [63] [62] [61]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

頭のリハビリ兼ねて、なんか簡単なもの作ってみようと思った。
いわゆる「ズーキーパー」系の、縦横に3つ並べて消すパズルを作ろうと思う。

ぼちぼち作ってみたけど、作るよりプログラムの解説っぽいのがめんどい。
だめだなあ。一度枯れた情熱はなかなか戻らない。


v001

ダウンロード http://hiyayakko.sarashi.com/ChangePuzzle/ChangePuzzle002.zip  (2009.12.25)

ホームページ http://hiyayakko.sarashi.com/ChangePuzzle/ChangePuzzle.html


何度でも褒めるよ、DXライブラリ。
これだけのソースでウインドウズプログラムが書けるのはまさに脅威。

main.cpp (Ver0.001)


#include "DxLib.h"

const char* WindowText = "ChangePuzzle";
int WindowMode = TRUE;                // TRUE ウインドウモード、FALSE 全画面


int WINAPI WinMain(HINSTANCE hI,HINSTANCE hP, LPSTR lpC, int nC)
{
    SetMainWindowText(WindowText);            // ウインドウタイトル
    SetOutApplicationLogValidFlag(FALSE);    // DxLibのログ出力しない
    ChangeWindowMode(WindowMode);            // ウインドウモード(FALSEで全画面)

    if(DxLib_Init()) return -1;

    WaitKey();
    DxLib_End();
   
    return 0;
}


DXライブラリをインクルードしてWinMainの宣言。
DxLib_Init()で初期化したらもう画面出来てる。
初期化前の3行ほどは、ぶっちゃけ不要。だから、ここで使うためのmain()前の定数宣言も不要。

C言語のコンソール「HelloWold」並に簡単。
この気楽さがいいよね。バージョン3.0に上がって、懸念だったVSyncまわりの整合性もうまくいって、
うちのノートPCでもまともに動くようになったし。


画面レイアウトを決める。軽い気持ちで、たてたてよこよこ線を引いてみる。

main.cpp (Ver0.002)

#include "DxLib.h"

const char* WindowText = "ChangePuzzle ver0.002";
int WindowMode = TRUE;                // TRUE ウインドウモード、FALSE 全画面

const int WHITE = GetColor(255,255,255);

void Draw()
{
   
    for(int i=0;i<=8;i++)DrawLine(     16,i*64+16,64*8+16,i*64+16,WHITE);
    for(int i=0;i<=8;i++)DrawLine(i*64+16,     16,i*64+16,64*8+16,WHITE);

    DrawString(512+32,16,"SCORE",WHITE);
}

int WINAPI WinMain(HINSTANCE hI,HINSTANCE hP, LPSTR lpC, int nC)
{
    SetMainWindowText(WindowText);            // ウインドウタイトル
    SetOutApplicationLogValidFlag(FALSE);    // DxLibのログ出力しない
    ChangeWindowMode(WindowMode);            // ウインドウモード(FALSEで全画面)
    SetGraphMode( 800 , 600 , 32 );            // 画面モードの変更

    if(DxLib_Init()) return -1;

    Draw();
    WaitKey();
    DxLib_End();
   
    return 0;
}

画面サイズが標準の640×480ではちょっと狭かったので、800×600にしてみる。
1マスの大きさ64ピクセル。感覚的に、なんとなく驚異的に大きい。
感性取り残されてるなあ俺。なんか1キャラ32×32基準だわ。



ダウンロード http://hiyayakko.sarashi.com/ChangePuzzle/ChangePuzzle001.zip  (2009.12.25)

ダウンロード http://hiyayakko.sarashi.com/ChangePuzzle/ChangePuzzle002.zip  (2009.12.25)

PR


忍者ブログ [PR]
カレンダー
03 2025/04 05
S M T W T F S
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
フリーエリア
バーコード
ブログ内検索
P R
アクセス解析
カウンター