ブックマーク / www.timedia.co.jp (5)

  • JavaScriptでシェフィを実装する(設計編) | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 前回、新人研修の一環として「オセロの実装」を課題として設定したものの、 設定した当人が実装できないようでは話にならないので頑張って実装しました (一人二役で指す寂しいゲーム編/ 遅延評価編/ 仮AI作成編/ AI作成編/ AI高速化編/ AI vs AI編)。 これはこれで楽しかったものの、良くも悪くもオセロですから、 寝るのも忘れて遊びたくなるものかと言われるとそういうものではありませんでした。 どうせならもっとエキサイティングでキュートなゲームを実装してみたいものです。 何か良い題材はないものでしょうか。 回答 そこでシェフィです。 シェフィとは、 このような数多の障害を乗り越え、 このようにかわいらしいひつじを増やすだけの簡単なカードゲームです (リプレイ例)。 一人用かつカードの種類も少ないとはいえ、 オセロよりもルールは複雑なので色々と考えるところはありそうです。 どう

    JavaScriptでシェフィを実装する(設計編) | Webシステム開発/教育ソリューションのタイムインターメディア
    t_f_m
    t_f_m 2018/04/03
    あとで
  • JavaScript でオセロを実装する(ネット対戦編) | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 以前、JavaScript でオセロを実装していたのですが、この実装には一つ大きな問題がありました。 AI相手にゲームをするのは、それはそれで楽しいものの、 やはりこの手のゲームは人間同士で対戦したくなるものです。 一応、あの実装は人間同士で対戦できると言えばできるのですが、 同じPCの前に座って交代しながら操作する形になので、色々と不便です。 インターネット全盛のこの時代、やはりネット対戦できるようにしたいですよね。 しかしプレイヤー間の通信やプレイ中のゲームの状態の共有は一体どうすれば良いのやら。 オセロのようなターン制の単純なゲームでさえネット対戦対応するには課題が山盛りです。 どうにかして簡単にサクサクっとネット対戦できるようにできないものでしょうか。 回答 実はFirebaseを使えば簡単にサクサクっと対応できます。 これは JSONなデータを読み書きできるストレージサービ

    JavaScript でオセロを実装する(ネット対戦編) | Webシステム開発/教育ソリューションのタイムインターメディア
    t_f_m
    t_f_m 2015/03/22
    参考に
  • GHOST 脆弱性は如何様に使うのか | Webシステム開発/教育ソリューションのタイムインターメディア

    先日 GHOST と呼ばれる glibc の脆弱性が発表された。なんでも、「リモートから任意のコードを実行できる可能性がある」らしいではないか。しかも様々なプログラムで利用されているライブラリ部分の問題とあって、影響範囲がとても広い。なかなか厄介なことである。 はて、しかし一体全体どうやってリモートから任意のコードを実行しようというのだろう? 話を聞くに、たかが数バイトの情報を範囲外のメモリに書き込める可能性があるだけだという。実際それだけのことでサーバーの乗っ取りなどできるものなのだろうか。そんなわけで、その疑問に答えるべく、記事では以下の URL で解説されている実際の攻撃方法を若干端折って紹介してみようと思う。 http://www.openwall.com/lists/oss-security/2015/01/27/9 なお、記事はこの脆弱性そのものに対する緊急度などについて言

    GHOST 脆弱性は如何様に使うのか | Webシステム開発/教育ソリューションのタイムインターメディア
    t_f_m
    t_f_m 2015/01/30
  • JavaScript でオセロを実装する(本格AI作成編) | Webシステム開発/教育ソリューションのタイムインターメディア

    これまでのあらすじ 一人二役の寂しいオセロから脱却すべく、オセロの対戦が務まるAIの作成を始めた。 しかし、一通り動きはするものの、このAIは形勢判断を全くせずにテキトーに手を選んでいるだけなので非常に弱い。 なので少しは歯ごたえのあるまともなAIを作ろうと思うのであった。 どうすればまともなAIになるのか 前回作成したAIは 取り得る手のうち最も上の行に石が置ける手を選ぶ。同一行に指せる手が複数あるなら最も左の列に石が置ける手を選ぶ。 という単純な実装でした。これには 二つ問題 があります。 各手の価値を全く考慮していません。 来ならばどの手が最も勝利に近付くものなのかを判断すべきです (「左上に置ける手ほど価値が高い」という誤った判断基準で動いているとも言えます)。現在指せる手しか調べていません。 来ならば先の先を読むべきです。 オセロは最終的に石の数が最も多いプレイヤーが勝利する

    JavaScript でオセロを実装する(本格AI作成編) | Webシステム開発/教育ソリューションのタイムインターメディア
    t_f_m
    t_f_m 2013/07/23
    あとで
  • 名状し難いコードを書く(コメント編) | Webシステム開発/教育ソリューションのタイムインターメディア

    あらすじ 長年プログラムを書いていても、良いコメントを書く技術ってぇのはなかなか身に付かないもので、 良かれと思って書いたコメントでも後々読み返すと書いた当人ですら首を傾げる始末。 長屋に住む八五郎もそんなSEの一人。 ある日、出社すると親方エンジニアがカンカンに怒っている。 どうやら先週末の退社前にレビューしてもらおうと push したコードについてらしい。 特に不味いところはなかったはずだが、はて、何が悪かったのだろうかと親方のデスクモニターを覗き込むと── さっぱり役に立たない <summary> 八五郎は普段から Visual Studio で C# のコードを書いている。 こいつにはXML Documentation Commentsというのがあり、 一定の書式に従って型やメンバーにコメントを書いておけば、 インテリセンスで有意義なメッセージが表示されたりAPI リファレンスの

    名状し難いコードを書く(コメント編) | Webシステム開発/教育ソリューションのタイムインターメディア
    t_f_m
    t_f_m 2012/08/03
    落語
  • 1