No Such Blog or Diary

«Prev || 1 | 2 | 3 |...| 877 | 878 | 879 |...| 893 | 894 | 895 || Next»

寝すぎた...

昨日寝たのが23時ごろ.今日起きたのが17時ごろ.二日分寝てしまったので今日は寝ないでがんばろう.さっさとテクレポ仕上げなきゃ.

Mattix++

Algo に続く「頭のよくなるゲーム」第二弾として Mattix なるものが発売されている.ルールは単純で,4x4 に数字1~8 とクロスチップを並べ,先手がクロスチップのある行から一枚数字をとってそこにクロスチップを移動.続いて後手がクロスチップのある列から一枚数字を選んで取ってそこにクロスチップを移動.数字を取れなくなるまで繰り返し,取った数字の合計が大きいほうの勝ち.というものである.

このように単純なルールではあるが,縦横の制約があって頭を使うというのが販売元の主張である.しかし,このゲームは盤面の情報が全て分かっているため,先手と後手が最適な手順をとったときの合計点は決定的に計算できてしまう.すなわち,コンピュータを持ってくればそれでおしまいであり,面白みにかける.そこで,研究室のある人がこのルールに改良を加え,面白みのあるものに昇華させた.さらに,その場にいた別の人間がそれを Mattix++ と名づけた.

ルールの変更点は以下のとおり.まず全ての数字は裏向きで配置する.プレーヤは自分の番になったら任意の裏返しの数字一枚を表向きにひっくり返すか,なにもひっくり返さない.

ルール変更は以上の2点のみであるが,この変更により情報が完全に手に入っていない状況で自分に有利に進めるにはどうしたらよいかと考えることができ,ゲームの面白さが増している.また,相手をはめるためにはどこの情報が必要なのかとか,ここの期待値はいくらだからこっちのほうが有利だとか,結構考えることはいろいろできるので,戦略を持たせたプログラムを作って戦わせるという面白さも生じている.

ということで,じゃあ対戦させようという話になり,プロトコルを決めてサーバとテストクライアントを作成.とりあえず話が出てから2時間弱でプロトタイプのテストまで終了.あとは各自で戦略を埋め込んだプログラムを作りましょうということで解散となったので,これからクライアントをせっせと作りましょう.

VNCで合わせ鏡

誰でも考えるであろうことをふと思いつき,実際にやってみた.

何をやったかというと,Windows の VNC Client から coLinux につないで X (Xvnc) を立ち上げ,そのなかから Windows 側で立ち上げた VNC Server に VNC Client で接続するということをした.これをやると,Windows で画面描画をした際に coLinux 内の VNC Client の描画が起こり,その描画は Windows の VNC Client に伝わり Windows 側の新たな描画を生じる.あとはこのサイクルが描画イベントが画面領域の外に出るまで繰り返され,合わせ鏡と同じ現象となる.

ちなみに結果はこんなもん.(ただ単に Window が重なっているようにしか見えない...)

coLinuxes -- 複数起動

無意味に coLinux を複数起動して通信させてみた.

やり方としては TAPアダプタを複数用意してブリッジ接続してやるだけ.TAPアダプタの増やし方は,[コントロールパネル]->[ハードウェアの追加]->[新しいハードウェア デバイスの追加]->[一覧から選択]->[ネットワーク アダプタ]->[TAP-Win32 Provider(coLinux)]->[TAP-Win32 Adapter V8(coLinux)] で.追加されたら [コントロールパネル]->[ネットワーク接続] で名前を TAP1, TAP2, ... とかに変えておく.

あとは,coLinux の設定XMLファイルのほうで,

    <network index="0" name="TAP2" type="tap" />

のように name 属性を接続の名前 TAP1, TAP2, .. などに重ならないように指定するだけ.MACは自動でランダムに割り当てられるはずなので指定なし.

xfs が入ってなかった

Gentoo で xorg-x11 を GRP インストールしたら xfs が入ってなかった... しょうがないからソースから作り直す.念のため USE に font-server を追加して.

で,まあ,ちゃんとコンパイルできたわけだが,今度は /etc/X11/fs/config が空... 面倒なのでここに xfs の config を書いておく.

#
# X Font Server configuration file
# 
# allow a max of 4 clients to connect to this font server
client-limit = 4
# no tcp, use sockets!
#no-listen  =  tcp
# when a font server reaches its limit, start up a new one
clone-self = on
# alternate font servers for clients to use
#alternate-servers = foo:7101,bar:7102
# where to look for fonts
# Some of these are commented out, i.e. the TrueType and Type1
# directories in /usr/share, because they aren't forced to be
# installed alongside X.
catalogue = /usr/share/fonts/75dpi,
        /usr/share/fonts/100dpi,
        /usr/share/fonts/shinonome,
        /usr/share/fonts/monafont,
        /usr/share/fonts/mplus,
        /usr/share/fonts/aquafont,
        /usr/share/fonts/aquapfont,
        /usr/share/fonts/mikachan-font,
        /usr/share/fonts/artwiz:unscaled,
        /usr/share/fonts/misc,
        /usr/share/fonts/Type1,
        /usr/share/fonts/util,
        /usr/share/fonts/local,
        /usr/share/fonts/TTF,
        /usr/share/fonts/cyrillic
# in 12 points, decipoints
default-point-size = 120
# 100 x 100 and 75 x 75
default-resolutions = 75,75,100,100
# how to log errors
use-syslog = on
# font cache control, specified in KB
cache-hi-mark = 2048
cache-low-mark = 1433
cache-balance = 70

とりあえず,これで xfs, gdm, xinetd, vncserver を設定して coLinux + VNC の GUI 環境ができた.

ちなみに,gdm の立ち上げうサーバを Xvfb :1 とかしてディスプレイ 0 以外にしておくと native に起動したときに startx でパラメータを渡さなくていいから楽(そうでないと startx -- :1 とかしてディスプレイ番号を指定しなければならない)

Gentoo 2-Way Boot (native & coLinux)

なんとなくデュアルブート用にインストールした Gentoo を coLinux で起動してみたくなった.これができると 2-Way Boot で結構便利なので.

で,そのためには coLinux の設定XMLを書かなければならないのだが,Windows のディスクナンバーとパーティションナンバーの管理の仕方が良く分からず苦戦.diskpart コマンドの返すディスクナンバーと,同パーティションナンバーからもずれているらしい.最終的に ,hda7, hda8 が /, swap である私の PC では次のような設定になった.まあ,ext3 のパーティションは一個しかないから全パターン試して起動したのが正解であっただけだけど.

<?xml version="1.0" encoding="UTF-8"?>
<colinux>
    <block_device index="0" alias="hda7" path="\Device\Harddisk0\Partition4" enabled="true" />
    <block_device index="1" alias="hda8" path="\Device\Harddisk0\Partition5" enabled="true" />
    <bootparams>root=/dev/hda7</bootparams>
    <initrd path="initrd.gz" />
    <image path="vmlinux" />
    <memory size="256" />
    <network index="0" type="tap" />
    <block_device index="2" alias="hdc" path="\Device\Cdrom0" enabled="true" />
</colinux>

(hda2 が拡張領域で hda3,4 が存在していないので,その分を引いた数がパーティション番号になるのかな?)

とりあえず,起動時に coLinux でサポートしていない機能に関して文句を言われるが,

ログイン画面が立ち上がったので今日のところはよしとしよう.

«Prev || 1 | 2 | 3 |...| 877 | 878 | 879 |...| 893 | 894 | 895 || Next»
Search
Feeds

Page Top