忍者ブログ
25 June

[PR]

×

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

26 August

2048AI

6月頃に書いた2048のAIのソースコードをうpします。

2048についてはこちらで実際にやってみてください。
http://gabrielecirulli.github.io/2048/

3手先まで、空きマスが4マス未満になったら4手先まで(にしてるけどあんまり意味なさそう)
ミニマックス法(?)で探索してるつもり。

盤面の評価は
1.隣り合うタイルの数値の差が小さいほど良い。
2.左上に大きい数字があるほど良い。
で決定しています。

ちゃんと実装できていない可能性大です。

一応1024までは安定、時々2048・4096ぐらいの精度です。

ソースはこちら
https://gist.github.com/tkzw21/26360f174e2055e994df
PR
21 June

メモリの確保場所のメモ


前の方にあるのがスッタク領域で
後ろの方にあるのがヒープ領域ってことかな。


#include<string>
#include<cstdio>
#include<iostream>

using namespace std;

int ga;
int garray[10];
int main(){
	int a;
	int* array = new int[10];

	string s;
	s += \'a\';

	printf(\"ga\'s  address     = %p\\n\",&a);
	printf(\"a\'s  address      = %p\\n\",&ga);
	printf(\"array\'s  address  = %p\\n\",array);
	printf(\"garray\'s  address = %p\\n\",&garray);
	printf(\"s\'s  address      = %p\\n\",&s);
	printf(\"s[0]\'s  address   = %p\\n\",&s[0]);

	return 0;
}

実行結果
ga's  address    = 0x22aa74
a's  address    = 0x100406020
array's  address    = 0x600028730
garray's  address    = 0x100406040
s's  address    = 0x22aa60
s[0]'s  address    = 0x600061ce8