2018-08-01から1ヶ月間の記事一覧

迷路

迷路生成アルゴリズムを実装した。 (壁伸ばし法) 1が壁で0が通路 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 1 1 1 1 0 1 1 1 0 1 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 Flood-fillアルゴリズムで通路(0)を2で塗りつぶす。 1 1…

Rogue Likeななにか

ダンジョンの自動生成を作っているけどなかなかぐっとくる感じにならない ------------------------- ------- |.......................| |.....| |.......................+#######|.....| |.......................| #+.....| |.......................| |…

Swift/Xcode 用の.gitignoreファイル

.gitignore ファイルはプロジェクトのトップディレクトリに作ればよい 中身は下記からコピペ github.com これでxcuserdata/などが要コミット一覧に出現するのを防げる

Swift LANGUAGE GUIDE を読んで書いたブログエントリの一覧

The Basics - 錯綜 Basic Operators - 錯綜 Strings and Characters - 錯綜 Collection Types - 錯綜 Control Flow - 錯綜 Functions - 錯綜 Closures - 錯綜 Enumerations - 錯綜 Classes and Structures - 錯綜 Properties - 錯綜 Methods - 錯綜 Subscrip…

Advanced Operators

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/AdvancedOperators.html を読む。 Swiftの算術演算子はオーバーフローしない Int16.max + 1 はエラー オーバーフローする演算子 オーバーフロー 加算 &+ オーバーフロー 減算 &- オーバーフ…

Access Control

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html を読む。 アクセスレベルは5段階 enum AccessLevel { case `open` case `public` case `internal` case `fileprivate` case `private` } レベルの高低は、openが最高(最…

Memory Safety

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/MemorySafety.html を読む。 シングルスレッドでも競合は起きる 次のすべての条件を満たす2つのアクセスがある場合、競合が発生する 少なくとも1つは書き込み メモリ内の同じ場所にアクセス…

Automatic Reference Counting

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html を読む。 ARCは「ちょうどうまくいく」 参照カウンタが適用されるのはクラスのインスタンスだけ 強い参照の循環ができるとメモリが開放されない 強い参照…

Generics

Genericsは鬼門だわ 昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Generics.html を読む。 genericな関数 func swapTwoValues<T>(_ a: inout T, _ b: inout T) {…} 使うときは swapTwoValues(&someValue, &anotherValue) 適切に型推論され</t>…

Protocols

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Protocols.html を読む。 protocol は 他の宣言の内側にネストできない extension と同じファイルスコープ、なのにエラーメッセージが違うのはなぜだ プロパティはインスタンスと型を要求で…