ライフゲーム作ってみようかな(その5) - ビット演算

walkinglint

2008年07月04日 22:49


結構またなんだかんだで嵌ってしまったけど できた ^^
-----
最初リストで作ってたんだが なんとなく 体感 遅い というわけで ビット版で簡単に作り直してみたら 普通に動いたので そっちからのせときます
-----

-----

-----
のようになります
-----
HUD でと考えたのはプリムの制約があると考えたからなのでした
-----
というわけで HUD でも動きます(というか上の写真は HUD で動かしているわけですが...)
-----
最初あまり考えなかったのですが 適当に作っていたら 上下左右 で繋がっているようになりました ^^
-----
というわけでリストもあげておきます
-----
通常のボタン側は Walking Jun:ライフゲーム作ってみようかな(その4) - メッセージ から変更なし
-----
赤いボタンは 今の所 光らせていないので(動作状態を示すため光らせてもよいような気はするが...)
//
// File: start_button.lsl
// Date Author number of nodes
// 2008/7/4 walkinglint 5
//
default {
touch_start(integer total_number) {
llMessageLinked(LINK_ROOT, 0, "", NULL_KEY);
}
}
本体側は
//
// File: LifeGame2.lsl
// Date Author number of nodes
// 2008/7/4 walkinglint 98
// 2008/7/4 walkinglint 98 (LifeGame->LifeGame2)
// 2008/7/4 walkinglint 98
//
integer START_BUTTON = 2;
integer min_link_num = 3;
integer num_of_buttons = 64;
integer i;
integer gen_word1;
integer gen_word2;
integer next_gen_word1;
integer next_gen_word2;
integer is_generating = FALSE;
float time_interval = 1.0;
string line;
init() {
gen_word1 = 0;
gen_word2 = 0;
}
integer get(integer i) {
if (i >= 32) {
return gen_word2 & (1
walking のスクリプティング講座