オセロゲームのAIを強化いたしました。

2010/07/31 07:32

「AI対戦型オセロゲーム」のAIを強化いたしました。

時間がある時に、可能な限り継続的に強化を続けようと思っております。

http://www.atohi.com/osg

Tags:

ゲーム | interactive | .NET | ASP | C#

AI対戦型オセロゲームが「ベストコンテンツ賞」を受賞しました。

2010/07/01 01:05

『マイコミジャーナル』『Web Designing』主催コンテスト「Microsoft WebsiteSpark サイト&コンテンツギャラリー」へエントリーしていたAI対戦型オセロゲームが「ベストコンテンツ賞」を受賞しました。

詳しくは → http://news.mynavi.jp/news/2010/06/30/058/index.html

AI対戦型オセロゲームにリプレイ機能が追加されました。

2010/06/18 04:41

AI対戦型オセロゲームに戦績を登録して頂くと一意のURIが発行され、

永久にリプレイ動画(JavaScriptですが)を再生できる機能が追加されました。

まずは戦績を登録してみてください。

そして自分のリプレイURIを入手し、自身のBLOGに貼るなどして楽しんでみてください。

http://atohi.com/osg
 

まだまだあらゆる拡張が続きますのでお楽しみに!

JavaScriptによるdrag&drop(ドラッグドロップ)

2010/04/27 05:19

JavaScriptによるドラッグアンドドロップは結構人気がありますが、全てのブラウザでまともに機能するソースはウェブ検索ではあまり出てこない様なので、以下に記載しておきます。

ご自由にコピーしてお使い下さい。

呼び出し方法は dragDrop.attach('ドラッグドロップ機能を付加したいエレメント'); です。

/*--ここから--*/

var dragDrop = {
    element:
        null
    ,
    mouseOffset:
        null
    ,
    mouseCoords:
        function(evt){
            if(evt.pageX || evt.pageY){
                return {x:evt.pageX, y:evt.pageY};
            }
            return {
                x:evt.clientX + document.body.scrollLeft - document.body.clientLeft,
                y:evt.clientY + document.body.scrollTop  - document.body.clientTop
            };
    }
    ,
    getMouseOffset:
        function(e, evt){
            var ev = evt || window.event;
            var ePos = dragDrop.getPosition(e);
            var mousePos = dragDrop.mouseCoords(ev);
            return {x:mousePos.x - ePos.x, y:mousePos.y - ePos.y};
    }
    ,
    getPosition:
        function(e){
            var elm = e;
            var left = 0;
            var top = 0;
            while (elm.offsetParent){
                left += elm.offsetLeft;
                top += elm.offsetTop;
                elm = elm.offsetParent;
            }
            left += elm.offsetLeft;
            top += elm.offsetTop;
            return {x:left, y:top};
    }
    ,
    mouseMove:
        function(evt){
            ev = evt || window.event;
            var mousePos = dragDrop.mouseCoords(ev);
            var e = dragDrop.element;
            if(e){
                e.style.position = 'absolute';
                e.style.top = mousePos.y - dragDrop.mouseOffset.y + "px";
                e.style.left = mousePos.x - dragDrop.mouseOffset.x + "px";
                return false;
            }
    }
    ,
    mouseUp:
        function(){
            dragDrop.element = null;
    }
    ,
    attach:
        function(e){
            if (!e) {
                return;
            }
            e.onmousedown = function(evt){
                dragDrop.element = this;
                dragDrop.mouseOffset = dragDrop.getMouseOffset(this, evt);
                return false;
            }
    }
}
document.onmousemove = dragDrop.mouseMove;
document.onmouseup = dragDrop.mouseUp;

/*--ここまで--*/

※ ドラッグアンドドロップ対象のエレメントの親がdocumentではなく、親要素のエレメントであった場合、getPositionのwhile文をコメントアウトして下さい。