2010年12月24日金曜日

かなり昔に30分で作ったLifeGame.html

なんとな~く残しておこうと思う
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>Life Game Example</title>
<style type="text/css">
<!--
textarea {
 width:700px;
 height:700px;
 font-size:50%
}

-->
</style>
    <script type="text/javascript">
    //<![CDATA[
    var x_width;
    var y_width;
    var field = new Array(0);
   
    var glider_gun = new Array(0);
 glider_gun[0] = new Array("□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","■","□","□","□","□","□","□","□","□","□","□","□");
 glider_gun[1] = new Array("□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","■","□","■","□","□","□","□","□","□","□","□","□","□","□");
 glider_gun[2] = new Array("□","□","□","□","□","□","□","□","□","□","□","□","■","■","□","□","□","□","□","□","■","■","□","□","□","□","□","□","□","□","□","□","□","□","■","■");
 glider_gun[3] = new Array("□","□","□","□","□","□","□","□","□","□","□","■","□","□","□","■","□","□","□","□","■","■","□","□","□","□","□","□","□","□","□","□","□","□","■","■");
 glider_gun[4] = new Array("■","■","□","□","□","□","□","□","□","□","■","□","□","□","□","□","■","□","□","□","■","■","□","□","□","□","□","□","□","□","□","□","□","□","□","□");
 glider_gun[5] = new Array("■","■","□","□","□","□","□","□","□","□","■","□","□","□","■","□","■","■","□","□","□","□","■","□","■","□","□","□","□","□","□","□","□","□","□","□");
 glider_gun[6] = new Array("□","□","□","□","□","□","□","□","□","□","■","□","□","□","□","□","■","□","□","□","□","□","□","□","■","□","□","□","□","□","□","□","□","□","□","□");
 glider_gun[7] = new Array("□","□","□","□","□","□","□","□","□","□","□","■","□","□","□","■","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□");
 glider_gun[8] = new Array("□","□","□","□","□","□","□","□","□","□","□","□","■","■","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□","□");
   
 function load_data(dat)
 {
  var i,j;
  // 一回り大きなフィールドを作成し初期化する
  for(i=0;i<=x_width+1;i++){
   field[i] = new Array(0);
   for(j=0;j<y_width+1;j++){
    field[i][j] = "□";
   }
  }
  for(i=0;i<dat.length;i++){
   for(j=0;j<dat[i].length;j++){
    field[i+1][j+1] = dat[i][j];
   }
  }
 }
   
    function init()
    {
     x_width = 70;
     y_width = 70;
     load_data(glider_gun);
     setTimeout( "draw()", 100);
    }
   
   
 /**************************************************************************************/
 /* 生死判定をおこなう                                */
 /* 誕生                                       */
 /* 死んでいるセルの周囲に 3つの生きているセルがあれば次の世代では生きる(誕生する) */
 /* 維持                                       */
 /* 生きているセルの周囲に2つか3つの生きているセルがあれば次の世代でも生き残る    */
 /* 死亡                                       */
 /* 上以外の場合には次の世代では死ぬ                         */
 /**************************************************************************************/
 function dead_or_alive()
 {
  var i,j;
  var field2 = new Array();
  // field から field2 へコピーする
  // 同時に field を□で初期化する
  for(i=0;i<field.length;i++){
   field2[i] = new Array(0);
   for(j=0;j<field[i].length;j++){
    field2[i][j] = field[i][j];
    field[i][j] = "□";
   }
  }
  // x_width, y_width の範囲で生死を判定し、結果をfieldへ入れる
  var k,l;
  for(i=0;i<x_width;i++){
   for(j=0;j<y_width;j++){
    // フィールドは一回り大きく作られているのでインデックスをずらした k と l を使う
    k = i+1;
    l = j+1;
    var lifenum;
    // k,l の周囲のセル数を数える
    
    lifenum = (field2[k-1][l-1]=="■") + (field2[k+0][l-1]=="■") + (field2[k+1][l-1]=="■")
            + (field2[k-1][l+0]=="■")                            + (field2[k+1][l+0]=="■")
            + (field2[k-1][l+1]=="■") + (field2[k+0][l+1]=="■") + (field2[k+1][l+1]=="■");
    if((field2[k][l]=="□") && (lifenum==3)){
     field[k][l] = "■";
    }
    if((field2[k][l]=="■") &&( (lifenum==2) || (lifenum==3) )){
     field[k][l] = "■";
    }
   }
  }
 }
 
 function draw()
 {
  var i,j;
  // 生死判定 結果はfield に反映されて帰ってきます
  dead_or_alive();
  
  // 表示します
  var display = "";
  for(i=0;i<x_width;i++){
   for(j=0;j<y_width;j++){
    display += field[i+1][j+1];
   }
   display += "\n";
  }
  document.fm1.disp.value = display;
  setTimeout( "draw()", 100);
 }
 
    //]]>
    </script>
  </head>
  <body onload="init()">
<form name = "fm1" width=100%>
    <textarea name="disp" rows="70" cols="70"></textarea>
   </form>
  </body>
</html>

2010年12月18日土曜日

読まなければいけない本は、整理するとかなり減る

蔵書数が多いから賢人になれるというわけではない。
良書というものがあるのだ。
流行の本ばかりを読んでも知識は増えない。
エンタメジャンルばかり読んでいては、時間を無駄にしているのと変わらない。

電子書籍も読める本の数が多いからいいとは限らない。
本の数が多いにもかかわらず必要な本が無いのではそのコンテンツサイトは駄目なのだ。

自分の意見としては、コンテンツサイトなんてもので電子書籍を扱うのも駄目である。

本を大事に思う人がボランティアで電子化して、共有するのが一番理想的だ。
知識を欲するものから金を取るのは言語道断だと自分は考える。
したがって自分は青空文庫に賛同します。

2010年12月16日木曜日

Win7のパッチ後筆圧感知効かなくなった

X201Tabletを使っている。なんとデフォルトドライバだとPhotoShopで筆圧感知が効かない。
そこで、WACOMドライバ入れたり富士通ドライバ入れたりとみな工夫しているのだ。
自分もどうやったかはわからないが、筆圧感知できるようにしておいた。
ところが今回のパッチ後、筆圧感知が効かなくなったではないか!
どうにかしてください。

2010年12月8日水曜日

月曜日に久しぶりに自転車に乗ったのだが

自分はキャメルバックを愛用している。
https://camelbak-jp.com/

キャメルバック CHAOS だ。
はっきり言って物は入らない。

背中に担ぐ水筒だと考えるべきだ。
内容積はほとんどないので、
荷物はキャメルバッグにかぶせた(というかひっかけた)ゴム製ネットに荷物を突っ込んで運ぶ。

冬まっさかりだが、自転車では給水が重要で、
いつでものどを潤すことが出来るのはとても楽なのだ。
500mlくらいじゃすぐになくなる。
そこいくと CHAOS は2リットルのオメガリザーバーというのが入っている。
ちょい走る程度には充分だと言える。

まぁ癖があるんでキャメルバックシリーズを推薦するのはよしておくが、
工夫すればそこそこ使えると思う。

容量は本当にすくなくて、iPad入れるだけでも幅がぎりぎりだったりする。

2010年12月7日火曜日

iPad 恐竜キング、リリースされました

先月中ごろからずっと申請中だったのがようやく認証されました。
この時期は外資系の動きかたがのろいので要注意です。

2010年12月3日金曜日

FireFoxでFTMって

IE TAB使えばいいんだよね、そのためのIE TABだもんね

TechNetでもFTMつかえたわ

TechNetでもFTMが使えた。
ただ、FTMってIEじゃないと動かないんだよね?
そこがちょっと嫌

TechNet

MS TechNet サブスクリプションを購入
いろいろ使ってみたいんだけど、ダウンロードが途中で止まってしまってどうにもならない。
MSDNのようなダウンローダは無いのだろうか?
困った困った

なお、火曜日の午前中でネットから購入し、木曜の深夜にダウンロードできるようになりました。
MSに限らず外資系はこの時期ほとんど仕事してくれません。

iPad のアプリ審査も新規アプリに関しては、
11月16日からずっと止まったままだとか話題になっています。

2010年12月1日水曜日

うちの猫が死んだ

たまという猫が死んでしまった。
12/1 07:25
体調を崩してあっという間だった。
ちょっと前までは元気だったのになぁ・・・