タグ

ブックマーク / qiita.com/codelynx (2)

  • Swift で将棋盤 を実装する - Qiita

    将棋盤Kit Swift 3.0 に対応しました。記事内の説明は一部 2.2 の場合があります。追ってアップデートしたいと思います。 日将棋はルールが複雑でプログラミングには大変扱いにくい課題の一つだと思います。Swiftの登場で、複雑難解な課題のコード化もきっと書きやすくなるだろうと思い、将棋の基的なルールや挙動を実装するフレームワーク「将棋盤Kit」を開発してみましたので紹介したいと思います。 まず、最初にはっきりさせておきたいのですが、将棋盤Kitは以下の事を目指してはいません。 * グラフィカルなユーザーインターフェースを提供する * 人工知能の実装 しかし、将棋盤Kit はそんなグラフィカルなユーザーインターフェースの実現や棋譜の研究さらに将棋の思考エンジンを実装しようと考えた場合に、便利となる基的なルールの実装を目的としています。全く個人的なSwift技術探求との噂

    Swift で将棋盤 を実装する - Qiita
  • Swiftでほんの一部しか違わないクラスのバリエーションの実装方法の考察 - Qiita

    頭の体操 iOS馬場の勉強会で取り組んでいた課題が面白そうだったので、会場で時間切れになったネタを持ち帰ってみました。そこで、今回は頭の体操をしてみたいと思います。読者の方も単に読みとばすのではなくて、自分ならどうすると考えながら読んでいただけると幸いです。 まず前回(直前)、「Swift で Key や Value に弱参照が使える Dictionary 的な方法を考える」の中で、最初に出てきたコードがこれです。 class ZStrongToWeakMapTable<K: AnyObject, V: AnyObject> { let mapTable: NSMapTable init() { self.mapTable = NSMapTable.strongToWeakObjectsMapTable() // <== Here !! } subscript(key: K) -> V?

    Swiftでほんの一部しか違わないクラスのバリエーションの実装方法の考察 - Qiita
  • 1