-
-
Notifications
You must be signed in to change notification settings - Fork 82
DxLib初級サンプル(C言語風)
Kasugaccho edited this page Apr 30, 2019
·
1 revision
#include <DxLib.h>
#include <DTL.hpp>
//二次元配列の大きさを設定する
#define matrix_size (128)
//1マスの大きさ(ピクセル数)を設定する
#define dungeon_pixel_size (2)
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
SetOutApplicationLogValidFlag(FALSE);
ChangeWindowMode(TRUE);
//画面サイズを設定する
SetGraphMode(matrix_size*dungeon_pixel_size, matrix_size*dungeon_pixel_size, 32);
//DxLibの初期化
if (DxLib_Init() == -1) return -1;
//二次元配列を宣言
int matrix[matrix_size][matrix_size]{};
//二次元配列にダンジョンを生成する
dtl::shape::SimpleVoronoiIsland<int>(100, 0.5, 1, 0).draw(matrix, matrix_size, matrix_size);
dtl::utility::CellularAutomation<int>().draw(matrix, matrix_size, matrix_size);
//二次元配列を描画する
for (int row = 0; row < matrix_size; ++row) {
for (int col = 0; col < matrix_size; ++col) {
DrawBox(col*dungeon_pixel_size, row*dungeon_pixel_size, (col + 1)*dungeon_pixel_size, (row + 1)*dungeon_pixel_size, (matrix[row][col]) ? GetColor(98, 170, 48) : GetColor(30, 30, 163), TRUE);
}
}
//静止させる
WaitKey();
//DxLibの終了
return DxLib_End();
}
#include <DxLib.h>
#include <DTL.hpp>
//二次元配列のX方向の大きさを設定する
#define matrix_size_x (196)
//二次元配列のY方向の大きさを設定する
#define matrix_size_y (128)
//1マスの大きさ(ピクセル数)を設定する
#define dungeon_pixel_size (2)
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
SetOutApplicationLogValidFlag(FALSE);
ChangeWindowMode(TRUE);
//画面サイズを設定する
SetGraphMode(matrix_size_x*dungeon_pixel_size, matrix_size_y*dungeon_pixel_size, 32);
//DxLibの初期化
if (DxLib_Init() == -1) return -1;
//二次元配列を宣言
int matrix[matrix_size_y][matrix_size_x]{};
//二次元配列にダンジョンを生成する
dtl::shape::SimpleVoronoiIsland<int>(100, 0.5, 1, 0).draw(matrix, matrix_size_x, matrix_size_y);
dtl::utility::CellularAutomation<int>().draw(matrix, matrix_size_x, matrix_size_y);
//二次元配列を描画する
for (int row = 0; row < matrix_size_y; ++row) {
for (int col = 0; col < matrix_size_x; ++col) {
DrawBox(col*dungeon_pixel_size, row*dungeon_pixel_size, (col + 1)*dungeon_pixel_size, (row + 1)*dungeon_pixel_size, (matrix[row][col]) ? GetColor(98, 170, 48) : GetColor(30, 30, 163), TRUE);
}
}
//静止させる
WaitKey();
//DxLibの終了
return DxLib_End();
}
#include <DxLib.h>
#include <DTL.hpp>
//二次元配列のX方向の大きさを設定する
#define matrix_size_x (196)
//二次元配列のY方向の大きさを設定する
#define matrix_size_y (128)
//1マスの大きさ(ピクセル数)を設定する
#define dungeon_pixel_size (2)
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
SetOutApplicationLogValidFlag(FALSE);
ChangeWindowMode(TRUE);
//画面サイズを設定する
SetGraphMode(matrix_size_x*dungeon_pixel_size, matrix_size_y*dungeon_pixel_size, 32);
//DxLibの初期化
if (DxLib_Init() == -1) return -1;
SetDrawScreen(DX_SCREEN_BACK);
//二次元配列を宣言
int matrix[matrix_size_y][matrix_size_x]{};
const int loop_counter_max = 20;
int loop_counter = loop_counter_max;
while (ScreenFlip() == 0 && ProcessMessage() == 0 && CheckHitKey(KEY_INPUT_ESCAPE) == 0) {
if (loop_counter >= loop_counter_max) {
//二次元配列にダンジョンを生成する
dtl::utility::Init<bool>(0).draw(matrix, matrix_size_x, matrix_size_y);
dtl::shape::SimpleVoronoiIsland<int>(100, 0.5, 1, 0).draw(matrix, matrix_size_x, matrix_size_y);
dtl::utility::CellularAutomation<int>().draw(matrix, matrix_size_x, matrix_size_y);
loop_counter = 0;
}
//二次元配列を描画する
for (int row = 0; row < matrix_size_y; ++row) {
for (int col = 0; col < matrix_size_x; ++col) {
DrawBox(col*dungeon_pixel_size, row*dungeon_pixel_size, (col + 1)*dungeon_pixel_size, (row + 1)*dungeon_pixel_size, (matrix[row][col]) ? GetColor(98, 170, 48) : GetColor(30, 30, 163), TRUE);
}
}
++loop_counter;
}
//静止させる
WaitKey();
//DxLibの終了
return DxLib_End();
}
Copyright (c) 2018-2021 As Project.
Distributed under the Boost Software License, Version 1.0.(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)