Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
🀄️
giginet
PRO
September 02, 2018
Technology
6
1k
🀄️
iOSDC 2018 LT
giginet
PRO
September 02, 2018
Tweet
Share
More Decks by giginet
See All by giginet
ポケモンで学ぶiOS 16弾丸ツアー 🚅
giginet
PRO
1
610
Standardizing build system using modern Swift Packages in LINE
giginet
PRO
0
230
OSS Forward Workshop
giginet
PRO
3
940
Crossroad - 最高のCustom URL Schemeルーティングを支える技術2021
giginet
PRO
4
390
わいわいDocC ~ waiwai-docc ~
giginet
PRO
0
85
今日から使える実践的Swift Concurrency / Introducing Swift Concurrency
giginet
PRO
1
140
大規模なアプリのマルチモジュール構成の実践
giginet
PRO
4
11k
モバイルアプリ行動ログ基盤を”大統一”した話
giginet
PRO
0
2.5k
XcodeGen超入門
giginet
PRO
10
2.8k
Other Decks in Technology
See All in Technology
GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!
dzeyelid
0
150
Stripe / Okta Customer Identity Cloud(旧Auth0) の採用に至った理由 〜モリサワの SaaS 戦略〜
tomuro
0
110
RDS/Aurora バージョンアップのポイント
hmatsu47
PRO
8
1.6k
Dev Containers ことはじめ - 失敗から学ぶ開発環境運用法
streamwest1629
0
270
FlexScan HD2452Wの 後継を探して
tring
0
270
SmartHRからOktaへのSCIM連携で作り出すHRドリブンのアカウント管理
jousysmiler
1
110
Deep dive in Reserved Instance ~脳死推奨量購入からの脱却~
kzkmaeda
0
300
EMになって最初の失敗談 - コミュニケーション編 -
fukuiretu
1
330
20230121_BuriKaigi
oyakata2438
0
120
plotlyで動くグラフを作る
kosshi
0
700
ラズパイとGASで加湿器の消し忘れをLINEでリマインド&操作
minako__ph
0
110
USB PD で迎える AC アダプター大統一時代
puhitaku
0
570
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
51
2.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
10
1.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
8
3.2k
A Tale of Four Properties
chriscoyier
149
21k
What's in a price? How to price your products and services
michaelherold
233
9.7k
Typedesign – Prime Four
hannesfritz
34
1.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
Designing for Performance
lara
600
65k
Code Reviewing Like a Champion
maltzj
508
38k
The Mythical Team-Month
searls
210
40k
Product Roadmaps are Hard
iamctodd
38
7.7k
Transcript
@giginet
giginet/Peafowl
None
extension Tile: CustomPlaygroundDisplayConvertible { public var playgroundDescription: Any { //
ṛͷը૾ΛFramework͔ΒऔΓग़ͯ͠ੜ let bundle = Bundle(for: BundleIndicator.self) let path = bundle.path(forResource: String(describing: index), ofType: "png")! return NSImage(contentsOfFile: path)! } } 1MBZHSPVOE্ʹҙͷΛඳըͰ͖Δ 'SBNFXPSLͷը૾औ͖ͬͯͯฦ͢
None
extension Array: CustomPlaygroundDisplayConvertible where Element == Tile { public var
playgroundDescription: Any { return createTilesImage(of: self) as Any } } /4(SBQIJD$POUFYUͰखͷը૾Λಈతʹੜʢུʣ $POEJUJPOBM$POGPSNBODFͰ<5JMF>ʹ $VTUPN1MBZHSPVOE%JTQMBZ$POWFSUJCMFΛ࣮
None
None
಄ ໘ࢠ ໘ࢠ ໘ࢠ ໘ࢠ ྃܗ ॱࢠʢ࿈ଓͨ͠ṛʣ ࠁࢠʢಉ͡ṛʣ
ελοΫ
಄Λ164)
໘ࢠΛ164)
࡞Εͳ͘ͳͬͨΒ
101ͯ͠
࣍ͷΛ164)
None
ࣣରࢠܗ ࠃ࢜ແܗ ରࢠ ରࢠ
/// ௨ৗྃܗ public typealias MeldedForm = (PairToken, MeldToken, MeldToken, MeldToken,
MeldToken) /// ࣣରࢠܥ public typealias SevenPairsForm = (PairToken, PairToken, PairToken, PairToken, PairToken, PairToken, PairToken) /// ࠃ࢜ແܥ public typealias ThirteenOrphansForm = (PairToken, Tile, Tile, Tile, Tile, Tile, Tile, Tile, Tile, Tile, Tile, Tile, Tile) public enum WinningForm { case melded(MeldedForm) case sevenPairs(SevenPairsForm) case thirteenOrphans(ThirteenOrphansForm) } ରࢠ ໘ࢠ ྃܗ ରࢠ ରࢠ
func detectForms(of: tiles: [Tile]) -> [WinningForm]? ṛ͔Β ྃܗΛ୳ࡧ
/// public protocol YakuProtocol: Hashable, CustomStringConvertible { var name:
String { get } /// var concealedFan: Int { get } /// ͍ᷰԼ͕Γ var openedFan: Int? { get } var isYakuman: Bool { get } static func make(with tiles: [Tile], form: WinningForm, picked: Tile, context: GameContext) -> Self? } खṛ ྃܗ ྃṛ ήʔϜঢ়ଶ Λද͢QSPUPDPM
public struct அϠΦ: YakuProtocol { public let openedFan: Int? =
1 public let concealedFan: Int = 1 public let name = "அϠΦ" public static func make(with tiles: [Tile], ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ form: WinningForm, ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ picked: Tile, ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹ context: GameContext) -> அϠΦ? { if tiles.allSatisfy({ !$0.isYaochu }) { return அϠΦ() } return nil } } શͯϠΦṛͰͳ͍͜ͱΛνΣοΫ 4XJGU͔Β ͍۬அೝΊͯΔ
None
ଘࡏܕͰͳ͍
let yaku: Set<AnyYaku> = [ AnyYaku(அϠΦ()), AnyYaku(ฏ()), AnyYaku(લਗ਼ࣗ()), ] ܕফڈ
ҎԼলུ #PYͰϥοϓͯ͠ܕΛফ͢
಄λϓϧ ໘ࢠλϓϧ
ήʔϜঢ়ଶ ූᠹ
ߴ๏ ෳͷղऍ͕Ͱ͖Δͱ͖ʹ࠷ߴͷ݁ՌΛ࠾༻͢Δ͜ͱ
ࣣରࢠɺஅϠΦූᠹ ෳͷྃܗͱͯ͠ղऍͰ͖Δέʔε ࣣରࢠܗ
ೋഌޱɺஅϠΦූᠹຬ؏ ࣣରࢠɺஅϠΦූᠹ ྃṛ ෳͷྃܗͱͯ͠ղऍͰ͖Δέʔε ࣣରࢠܗ ௨ৗྃܗ
ࣣରࢠܗ ௨ৗܗ ߴ͍ํΛ࠾༻ ղऍ͕ͭ
ྃͷղऍͰූ͕มΘΔέʔε ྃṛ ྃṛʢ྆໘ͪʣ ྃṛʢቕுͪʣ πϞɺූᠹ πϞɺූᠹ
ղऍ͕ͭ ಉ͡ ූ ූ
None
"WBJMBCMFPOXBUDI04
giginet/Peafowl