« 体を労わる事も仕事の内 | トップページ | 遊技開発とは…? »

2017年7月14日 (金)遊技(パチンコ、パチスロ)で使えるマクロ

おはようございます。
プログラマーのY.Nです。

夏の暑さも絶好調な今日この頃ですが、本日は、
遊技(パチンコ、パチスロ)開発で頻繁に使用する
マクロ機能の紹介です。

まず、マクロって何かと言うと

#define DEBUG_PRINT_NUM(value) printf( "%d\n", (value) );
int main(void)
{
	int num = 10;

	DEBUG_PRINT_NUM(num)

	return 0;
}

と記入したコードが、コンパイル時に

int main(void)
{
	int num = 10;

	printf( "%d\n", num );

	return 0;
}

と置き換わる機能になります。

なんで頻繁に使用するかと言うと、遊技開発の場合、
案件などで、実装する基盤が変わる場合が多く、システム周りを
実装する場合、ミドルウェアを簡単に切り離せるように、
ある程度の機能単位でマクロにして使用する事により、
基盤に依存しないコードを書くことができるんです。

また、遊技では、メモリの節約などでビット管理を行う事が
多いため、以下のようなマクロを使用したりします。

// 指定ビットの値を取得する
#define BIT_VALUE(var, i) (var & 1 << i ) >> i;

// 指定ビットOn
#define BIT_ON(var, i) var |= 1 << i;

// 指定ビットOFF
#define BIT_OFF(var, i) var &= ~( 1 << i );

// 指定ビットを反転
#define BIT_RV(var, i) var ^= ( 1 << i );

「#define」って定数定義などでしか使用しない人も多いかと思いますが、
マクロなども活用する事でコード量の節約や工数軽減にもなりますので、
興味が湧いた方はいろいろ試して見てください。

本日はこの辺で!!

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2017/07/post-d26b.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« 体を労わる事も仕事の内 | トップページ | 遊技開発とは…? »

プログラマー」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 遊技(パチンコ、パチスロ)で使えるマクロ:

« 体を労わる事も仕事の内 | トップページ | 遊技開発とは…? »