-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
8 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,14 @@ | ||
> Tell us about the features and technologies you used in your Swift playground. | ||
"Swifty Karel" is inspired by the Karel robot form Stanford University. It uses UIKit to layout and perform animations. CoreGraphics framework to perform drawings and animations, AVFoundation to play sound effects. | ||
"Swifty Karel" is inspired by the Karel robot form Stanford University. By giving Karel commands through global functions, it can explore the "world". It is very similar to the lectures provided within Swift Playgrounds on iPad, but in 2D. | ||
|
||
The project is highly customizable. The Playground class is implemented as a Singleton, and it contains | ||
|
||
Depending on whether or not animation is on Karel itself, UIView animation will be preformed, or a scheduled timer will fire after certain delay. The project is playing background music through AVFoudation, handled by an lazily initialized player. | ||
|
||
Technically, this project used a lot of language features of Swift. Using weak references in escaping trailing closures to avoid ARC issue. By encapsulating common operations and functional programming, the code is organized. | ||
|
||
Also, to make the playground itself appealing, Playground/Xcode markup language is used to as guide to users. By conforming to CustomPlaygroundQuicklookable, even an abstract model can be elegantly shown to the user. | ||
By conforming to CustomPlaygroundQuicklookable, even an abstract model can be elegantly shown to the user. | ||
|
||
Also, to make the playground itself appealing, Playground/Xcode markup language is used to as guide to users. | ||
|
||
Due to the known bug with Xcode playground, UIKit animation is having weird behavior, such as animate before the scheduled time, as illustrated in https://cloud.githubusercontent.com/assets/10842684/24583831/f95d2a36-1725-11e7-9430-8e35bc53173f.png |