├── .gitignore
├── LICENSE
├── README.md
├── analog_clock
├── .gitignore
├── .metadata
├── README.md
├── analog.gif
├── analog_dark.png
├── analog_light.png
├── android
│ ├── .gitignore
│ ├── app
│ │ ├── build.gradle
│ │ └── src
│ │ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ │ ├── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── kotlin
│ │ │ │ └── com
│ │ │ │ │ └── example
│ │ │ │ │ └── analog_clock
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── res
│ │ │ │ ├── drawable
│ │ │ │ └── launch_background.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ └── values
│ │ │ │ └── styles.xml
│ │ │ └── profile
│ │ │ └── AndroidManifest.xml
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradle
│ │ └── wrapper
│ │ │ └── gradle-wrapper.properties
│ └── settings.gradle
├── assets
│ ├── dark-second-hand.png
│ └── light-second-hand.png
├── ios
│ ├── .gitignore
│ ├── Flutter
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Runner.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ └── xcschemes
│ │ │ └── Runner.xcscheme
│ ├── Runner.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── Runner
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ └── README.md
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── Info.plist
│ │ └── Runner-Bridging-Header.h
├── lib
│ ├── analog_clock.dart
│ ├── container_hand.dart
│ ├── drawn_hand.dart
│ ├── hand.dart
│ └── main.dart
├── pubspec.lock
└── pubspec.yaml
├── flutter_clock_helper
├── .metadata
├── CHANGELOG.md
├── README.md
├── customizer.png
├── lib
│ ├── customizer.dart
│ └── model.dart
└── pubspec.yaml
├── screenshot.png
└── tetris_clock
├── .gitignore
├── .metadata
├── README.md
├── assets
├── numbers
│ ├── tetris_number0.json
│ ├── tetris_number1.json
│ ├── tetris_number2.json
│ ├── tetris_number3.json
│ ├── tetris_number4.json
│ ├── tetris_number5.json
│ ├── tetris_number6.json
│ ├── tetris_number7.json
│ ├── tetris_number8.json
│ └── tetris_number9.json
├── splash_screen.json
├── tetris_blocks.json
└── weather
│ ├── cloudy.json
│ ├── foggy.json
│ ├── rainy.json
│ ├── snowy.json
│ ├── sun.json
│ ├── thunderstorm.json
│ └── windy.json
├── digital.gif
├── digital_dark.png
├── digital_light.png
├── lib
├── main.dart
└── tetris_time.dart
├── pubspec.lock
├── pubspec.yaml
└── test
└── widget_test.dart
/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | .dart_tool/
26 | .flutter-plugins
27 | .packages
28 | .pub-cache/
29 | .pub/
30 | /build/
31 |
32 | # Web related
33 | lib/generated_plugin_registrant.dart
34 |
35 | # Other items since we are using a global .gitignore.
36 | **/.dart_tool
37 | **/.pubspec.lock
38 | **/.flutter-plugins
39 | **/.packages
40 | **/.pub-cache/
41 | **/.pub/
42 | **/build/
43 |
44 | # Remove pubspec.lock for libraries
45 | flutter_clock_helper/pubspec.lock
46 |
47 | # Other items grabbed from flutter/flutter repo
48 | flutter_*.png
49 | linked_*.ds
50 | unlinked.ds
51 | unlinked_spec.ds
52 |
53 | # Android related
54 | **/android/**/gradle-wrapper.jar
55 | **/android/.gradle
56 | **/android/captures/
57 | **/android/gradlew
58 | **/android/gradlew.bat
59 | **/android/local.properties
60 | **/android/**/GeneratedPluginRegistrant.java
61 | **/android/key.properties
62 | *.jks
63 |
64 | # iOS/XCode related
65 | **/ios/**/*.mode1v3
66 | **/ios/**/*.mode2v3
67 | **/ios/**/*.moved-aside
68 | **/ios/**/*.pbxuser
69 | **/ios/**/*.perspectivev3
70 | **/ios/**/*sync/
71 | **/ios/**/.sconsign.dblite
72 | **/ios/**/.tags*
73 | **/ios/**/.vagrant/
74 | **/ios/**/DerivedData/
75 | **/ios/**/Icon?
76 | **/ios/**/Pods/
77 | **/ios/**/.symlinks/
78 | **/ios/**/profile
79 | **/ios/**/xcuserdata
80 | **/ios/.generated/
81 | **/ios/Flutter/App.framework
82 | **/ios/Flutter/Flutter.framework
83 | **/ios/Flutter/Flutter.podspec
84 | **/ios/Flutter/Generated.xcconfig
85 | **/ios/Flutter/app.flx
86 | **/ios/Flutter/app.zip
87 | **/ios/Flutter/flutter_assets/
88 | **/ios/Flutter/flutter_export_environment.sh
89 | **/ios/ServiceDefinitions.json
90 | **/ios/Runner/GeneratedPluginRegistrant.*
91 |
92 | # Exceptions to above rules.
93 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
94 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2019 The Chromium Authors. All rights reserved.
2 |
3 | Redistribution and use in source and binary forms, with or without modification,
4 | are permitted provided that the following conditions are met:
5 |
6 | * Redistributions of source code must retain the above copyright
7 | notice, this list of conditions and the following disclaimer.
8 | * Redistributions in binary form must reproduce the above
9 | copyright notice, this list of conditions and the following
10 | disclaimer in the documentation and/or other materials provided
11 | with the distribution.
12 | * Neither the name of Google Inc. nor the names of its
13 | contributors may be used to endorse or promote products derived
14 | from this software without specific prior written permission.
15 |
16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
20 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
23 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Flutter Clock - Tetris Time
2 |
3 | My contribution to the Flutter Clock challenge in 2020.
4 |
5 | See [flutter.dev/clock](https://flutter.dev/clock) to read more about the contest.
6 |
7 |
8 |
9 | [Video: https://youtu.be/__NSq-X4e0w](https://youtu.be/__NSq-X4e0w)
10 |
11 | Tokens: Merlin and Klaudia Jentsch
12 |
13 | Colors: Merlin and Klaudia Jentsch
14 |
15 | Animation: Michael Jentsch
16 |
17 | Development: Michael Jentsch
18 |
19 |
--------------------------------------------------------------------------------
/analog_clock/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | .dart_tool/
26 | .flutter-plugins
27 | .packages
28 | .pub-cache/
29 | .pub/
30 | /build/
31 |
32 | # Web related
33 | lib/generated_plugin_registrant.dart
34 |
35 | # Exceptions to above rules.
36 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
37 |
--------------------------------------------------------------------------------
/analog_clock/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: ade8dfac3dfb4d2ea04b45ff589fd073d8fc4274
8 | channel: master
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/analog_clock/README.md:
--------------------------------------------------------------------------------
1 | # Analog Clock
2 |
3 | This app is an example of an analog clock.
4 | It has a light theme and a dark theme, and displays sample weather and location data.
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/analog_clock/analog.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/analog.gif
--------------------------------------------------------------------------------
/analog_clock/analog_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/analog_dark.png
--------------------------------------------------------------------------------
/analog_clock/analog_light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/analog_light.png
--------------------------------------------------------------------------------
/analog_clock/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
--------------------------------------------------------------------------------
/analog_clock/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withReader('UTF-8') { reader ->
5 | localProperties.load(reader)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15 | if (flutterVersionCode == null) {
16 | flutterVersionCode = '1'
17 | }
18 |
19 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
20 | if (flutterVersionName == null) {
21 | flutterVersionName = '1.0'
22 | }
23 |
24 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion 28
30 |
31 | sourceSets {
32 | main.java.srcDirs += 'src/main/kotlin'
33 | }
34 |
35 | lintOptions {
36 | disable 'InvalidPackage'
37 | }
38 |
39 | defaultConfig {
40 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
41 | applicationId "com.example.analog_clock"
42 | minSdkVersion 16
43 | targetSdkVersion 28
44 | versionCode flutterVersionCode.toInteger()
45 | versionName flutterVersionName
46 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
47 | }
48 |
49 | buildTypes {
50 | release {
51 | // TODO: Add your own signing config for the release build.
52 | // Signing with the debug keys for now, so `flutter run --release` works.
53 | signingConfig signingConfigs.debug
54 | }
55 | }
56 | }
57 |
58 | flutter {
59 | source '../..'
60 | }
61 |
62 | dependencies {
63 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
64 | testImplementation 'junit:junit:4.12'
65 | androidTestImplementation 'androidx.test:runner:1.1.1'
66 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
67 | }
68 |
--------------------------------------------------------------------------------
/analog_clock/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/analog_clock/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
8 |
12 |
19 |
23 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/analog_clock/android/app/src/main/kotlin/com/example/analog_clock/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package com.example.analog_clock
2 |
3 | import android.os.Bundle
4 | import io.flutter.app.FlutterActivity
5 | import io.flutter.plugins.GeneratedPluginRegistrant
6 |
7 | class MainActivity: FlutterActivity() {
8 | override fun onCreate(savedInstanceState: Bundle?) {
9 | super.onCreate(savedInstanceState)
10 | GeneratedPluginRegistrant.registerWith(this)
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/analog_clock/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
13 |
--------------------------------------------------------------------------------
/analog_clock/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/analog_clock/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/analog_clock/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/analog_clock/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/analog_clock/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/analog_clock/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
--------------------------------------------------------------------------------
/analog_clock/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/analog_clock/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext.kotlin_version = '1.3.50'
3 | repositories {
4 | google()
5 | jcenter()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:3.5.0'
10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 | }
12 | }
13 |
14 | allprojects {
15 | repositories {
16 | google()
17 | jcenter()
18 | }
19 | }
20 |
21 | rootProject.buildDir = '../build'
22 | subprojects {
23 | project.buildDir = "${rootProject.buildDir}/${project.name}"
24 | }
25 | subprojects {
26 | project.evaluationDependsOn(':app')
27 | }
28 |
29 | task clean(type: Delete) {
30 | delete rootProject.buildDir
31 | }
32 |
--------------------------------------------------------------------------------
/analog_clock/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.enableR8=true
3 | android.useAndroidX=true
4 | android.enableJetifier=true
5 |
--------------------------------------------------------------------------------
/analog_clock/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
7 |
--------------------------------------------------------------------------------
/analog_clock/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
4 |
5 | def plugins = new Properties()
6 | def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
7 | if (pluginsFile.exists()) {
8 | pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
9 | }
10 |
11 | plugins.each { name, path ->
12 | def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
13 | include ":$name"
14 | project(":$name").projectDir = pluginDirectory
15 | }
16 |
--------------------------------------------------------------------------------
/analog_clock/assets/dark-second-hand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/assets/dark-second-hand.png
--------------------------------------------------------------------------------
/analog_clock/assets/light-second-hand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/assets/light-second-hand.png
--------------------------------------------------------------------------------
/analog_clock/ios/.gitignore:
--------------------------------------------------------------------------------
1 | *.mode1v3
2 | *.mode2v3
3 | *.moved-aside
4 | *.pbxuser
5 | *.perspectivev3
6 | **/*sync/
7 | .sconsign.dblite
8 | .tags*
9 | **/.vagrant/
10 | **/DerivedData/
11 | Icon?
12 | **/Pods/
13 | **/.symlinks/
14 | profile
15 | xcuserdata
16 | **/.generated/
17 | Flutter/App.framework
18 | Flutter/Flutter.framework
19 | Flutter/Flutter.podspec
20 | Flutter/Generated.xcconfig
21 | Flutter/app.flx
22 | Flutter/app.zip
23 | Flutter/flutter_assets/
24 | Flutter/flutter_export_environment.sh
25 | ServiceDefinitions.json
26 | Runner/GeneratedPluginRegistrant.*
27 |
28 | # Exceptions to above rules.
29 | !default.mode1v3
30 | !default.mode2v3
31 | !default.pbxuser
32 | !default.perspectivev3
33 |
--------------------------------------------------------------------------------
/analog_clock/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 8.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/analog_clock/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/analog_clock/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/analog_clock/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/analog_clock/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
9 |
15 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
39 |
40 |
41 |
42 |
43 |
44 |
54 |
56 |
62 |
63 |
64 |
65 |
66 |
67 |
73 |
75 |
81 |
82 |
83 |
84 |
86 |
87 |
90 |
91 |
92 |
--------------------------------------------------------------------------------
/analog_clock/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "20x20",
5 | "idiom" : "iphone",
6 | "filename" : "Icon-App-20x20@2x.png",
7 | "scale" : "2x"
8 | },
9 | {
10 | "size" : "20x20",
11 | "idiom" : "iphone",
12 | "filename" : "Icon-App-20x20@3x.png",
13 | "scale" : "3x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "Icon-App-29x29@1x.png",
19 | "scale" : "1x"
20 | },
21 | {
22 | "size" : "29x29",
23 | "idiom" : "iphone",
24 | "filename" : "Icon-App-29x29@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "29x29",
29 | "idiom" : "iphone",
30 | "filename" : "Icon-App-29x29@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "40x40",
35 | "idiom" : "iphone",
36 | "filename" : "Icon-App-40x40@2x.png",
37 | "scale" : "2x"
38 | },
39 | {
40 | "size" : "40x40",
41 | "idiom" : "iphone",
42 | "filename" : "Icon-App-40x40@3x.png",
43 | "scale" : "3x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "Icon-App-60x60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "Icon-App-60x60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "20x20",
59 | "idiom" : "ipad",
60 | "filename" : "Icon-App-20x20@1x.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "20x20",
65 | "idiom" : "ipad",
66 | "filename" : "Icon-App-20x20@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "29x29",
71 | "idiom" : "ipad",
72 | "filename" : "Icon-App-29x29@1x.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "29x29",
77 | "idiom" : "ipad",
78 | "filename" : "Icon-App-29x29@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "40x40",
83 | "idiom" : "ipad",
84 | "filename" : "Icon-App-40x40@1x.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "40x40",
89 | "idiom" : "ipad",
90 | "filename" : "Icon-App-40x40@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "76x76",
95 | "idiom" : "ipad",
96 | "filename" : "Icon-App-76x76@1x.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "76x76",
101 | "idiom" : "ipad",
102 | "filename" : "Icon-App-76x76@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "83.5x83.5",
107 | "idiom" : "ipad",
108 | "filename" : "Icon-App-83.5x83.5@2x.png",
109 | "scale" : "2x"
110 | },
111 | {
112 | "size" : "1024x1024",
113 | "idiom" : "ios-marketing",
114 | "filename" : "Icon-App-1024x1024@1x.png",
115 | "scale" : "1x"
116 | }
117 | ],
118 | "info" : {
119 | "version" : 1,
120 | "author" : "xcode"
121 | }
122 | }
123 |
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchImage.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchImage@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "filename" : "LaunchImage@3x.png",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "version" : 1,
21 | "author" : "xcode"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/analog_clock/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Base.lproj/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Base.lproj/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | $(DEVELOPMENT_LANGUAGE)
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | analog_clock
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | $(FLUTTER_BUILD_NAME)
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | $(FLUTTER_BUILD_NUMBER)
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | UISupportedInterfaceOrientations~ipad
36 |
37 | UIInterfaceOrientationPortrait
38 | UIInterfaceOrientationPortraitUpsideDown
39 | UIInterfaceOrientationLandscapeLeft
40 | UIInterfaceOrientationLandscapeRight
41 |
42 | UIViewControllerBasedStatusBarAppearance
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/analog_clock/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
--------------------------------------------------------------------------------
/analog_clock/lib/analog_clock.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'dart:async';
6 |
7 | import 'package:flutter_clock_helper/model.dart';
8 | import 'package:flutter/material.dart';
9 | import 'package:flutter/semantics.dart';
10 | import 'package:intl/intl.dart';
11 | import 'package:vector_math/vector_math_64.dart' show radians;
12 |
13 | import 'container_hand.dart';
14 | import 'drawn_hand.dart';
15 |
16 | /// Total distance traveled by a second or a minute hand, each second or minute,
17 | /// respectively.
18 | final radiansPerTick = radians(360 / 60);
19 |
20 | /// Total distance traveled by an hour hand, each hour, in radians.
21 | final radiansPerHour = radians(360 / 12);
22 |
23 | /// A basic analog clock.
24 | ///
25 | /// You can do better than this!
26 | class AnalogClock extends StatefulWidget {
27 | const AnalogClock(this.model);
28 |
29 | final ClockModel model;
30 |
31 | @override
32 | _AnalogClockState createState() => _AnalogClockState();
33 | }
34 |
35 | class _AnalogClockState extends State {
36 | var _now = DateTime.now();
37 | var _temperature = '';
38 | var _temperatureRange = '';
39 | var _condition = '';
40 | var _location = '';
41 | Timer _timer;
42 |
43 | @override
44 | void initState() {
45 | super.initState();
46 | widget.model.addListener(_updateModel);
47 | // Set the initial values.
48 | _updateTime();
49 | _updateModel();
50 | }
51 |
52 | @override
53 | void didUpdateWidget(AnalogClock oldWidget) {
54 | super.didUpdateWidget(oldWidget);
55 | if (widget.model != oldWidget.model) {
56 | oldWidget.model.removeListener(_updateModel);
57 | widget.model.addListener(_updateModel);
58 | }
59 | }
60 |
61 | @override
62 | void dispose() {
63 | _timer?.cancel();
64 | widget.model.removeListener(_updateModel);
65 | super.dispose();
66 | }
67 |
68 | void _updateModel() {
69 | setState(() {
70 | _temperature = widget.model.temperatureString;
71 | _temperatureRange = '(${widget.model.low} - ${widget.model.highString})';
72 | _condition = widget.model.weatherString;
73 | _location = widget.model.location;
74 | });
75 | }
76 |
77 | void _updateTime() {
78 | setState(() {
79 | _now = DateTime.now();
80 | // Update once per second. Make sure to do it at the beginning of each
81 | // new second, so that the clock is accurate.
82 | _timer = Timer(
83 | Duration(seconds: 1) - Duration(milliseconds: _now.millisecond),
84 | _updateTime,
85 | );
86 | });
87 | }
88 |
89 | @override
90 | Widget build(BuildContext context) {
91 | // There are many ways to apply themes to your clock. Some are:
92 | // - Inherit the parent Theme (see ClockCustomizer in the
93 | // flutter_clock_helper package).
94 | // - Override the Theme.of(context).colorScheme.
95 | // - Create your own [ThemeData], demonstrated in [AnalogClock].
96 | // - Create a map of [Color]s to custom keys, demonstrated in
97 | // [DigitalClock].
98 | final customTheme = Theme.of(context).brightness == Brightness.light
99 | ? Theme.of(context).copyWith(
100 | // Hour hand.
101 | primaryColor: Color(0xFF4285F4),
102 | // Minute hand.
103 | highlightColor: Color(0xFF8AB4F8),
104 | // Second hand.
105 | accentColor: Color(0xFF669DF6),
106 | backgroundColor: Color(0xFFD2E3FC),
107 | )
108 | : Theme.of(context).copyWith(
109 | primaryColor: Color(0xFFD2E3FC),
110 | highlightColor: Color(0xFF4285F4),
111 | accentColor: Color(0xFF8AB4F8),
112 | backgroundColor: Color(0xFF3C4043),
113 | );
114 |
115 | final time = DateFormat.Hms().format(DateTime.now());
116 | final weatherInfo = DefaultTextStyle(
117 | style: TextStyle(color: customTheme.primaryColor),
118 | child: Column(
119 | crossAxisAlignment: CrossAxisAlignment.start,
120 | children: [
121 | Text(_temperature),
122 | Text(_temperatureRange),
123 | Text(_condition),
124 | Text(_location),
125 | ],
126 | ),
127 | );
128 |
129 | return Semantics.fromProperties(
130 | properties: SemanticsProperties(
131 | label: 'Analog clock with time $time',
132 | value: time,
133 | ),
134 | child: Container(
135 | color: customTheme.backgroundColor,
136 | child: Stack(
137 | children: [
138 | // Example of a hand drawn with [CustomPainter].
139 | DrawnHand(
140 | color: customTheme.accentColor,
141 | thickness: 4,
142 | size: 1,
143 | angleRadians: _now.second * radiansPerTick,
144 | ),
145 | DrawnHand(
146 | color: customTheme.highlightColor,
147 | thickness: 16,
148 | size: 0.9,
149 | angleRadians: _now.minute * radiansPerTick,
150 | ),
151 | // Example of a hand drawn with [Container].
152 | ContainerHand(
153 | color: Colors.transparent,
154 | size: 0.5,
155 | angleRadians: _now.hour * radiansPerHour +
156 | (_now.minute / 60) * radiansPerHour,
157 | child: Transform.translate(
158 | offset: Offset(0.0, -60.0),
159 | child: Container(
160 | width: 32,
161 | height: 150,
162 | decoration: BoxDecoration(
163 | color: customTheme.primaryColor,
164 | ),
165 | ),
166 | ),
167 | ),
168 | Positioned(
169 | left: 0,
170 | bottom: 0,
171 | child: Padding(
172 | padding: const EdgeInsets.all(8),
173 | child: weatherInfo,
174 | ),
175 | ),
176 | ],
177 | ),
178 | ),
179 | );
180 | }
181 | }
182 |
--------------------------------------------------------------------------------
/analog_clock/lib/container_hand.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:flutter/material.dart';
6 |
7 | import 'hand.dart';
8 |
9 | /// A clock hand that is built out of the child of a [Container].
10 | ///
11 | /// This hand does not scale according to the clock's size.
12 | /// This hand is used as the hour hand in our analog clock, and demonstrates
13 | /// building a hand using existing Flutter widgets.
14 | class ContainerHand extends Hand {
15 | /// Create a const clock [Hand].
16 | ///
17 | /// All of the parameters are required and must not be null.
18 | const ContainerHand({
19 | @required Color color,
20 | @required double size,
21 | @required double angleRadians,
22 | this.child,
23 | }) : assert(size != null),
24 | assert(angleRadians != null),
25 | super(
26 | color: color,
27 | size: size,
28 | angleRadians: angleRadians,
29 | );
30 |
31 | /// The child widget used as the clock hand and rotated by [angleRadians].
32 | final Widget child;
33 |
34 | @override
35 | Widget build(BuildContext context) {
36 | return Center(
37 | child: SizedBox.expand(
38 | child: Transform.rotate(
39 | angle: angleRadians,
40 | alignment: Alignment.center,
41 | child: Transform.scale(
42 | scale: size,
43 | alignment: Alignment.center,
44 | child: Container(
45 | color: color,
46 | child: Center(child: child),
47 | ),
48 | ),
49 | ),
50 | ),
51 | );
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/analog_clock/lib/drawn_hand.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'dart:math' as math;
6 |
7 | import 'package:flutter/material.dart';
8 |
9 | import 'hand.dart';
10 |
11 | /// A clock hand that is drawn with [CustomPainter]
12 | ///
13 | /// The hand's length scales based on the clock's size.
14 | /// This hand is used to build the second and minute hands, and demonstrates
15 | /// building a custom hand.
16 | class DrawnHand extends Hand {
17 | /// Create a const clock [Hand].
18 | ///
19 | /// All of the parameters are required and must not be null.
20 | const DrawnHand({
21 | @required Color color,
22 | @required this.thickness,
23 | @required double size,
24 | @required double angleRadians,
25 | }) : assert(color != null),
26 | assert(thickness != null),
27 | assert(size != null),
28 | assert(angleRadians != null),
29 | super(
30 | color: color,
31 | size: size,
32 | angleRadians: angleRadians,
33 | );
34 |
35 | /// How thick the hand should be drawn, in logical pixels.
36 | final double thickness;
37 |
38 | @override
39 | Widget build(BuildContext context) {
40 | return Center(
41 | child: SizedBox.expand(
42 | child: CustomPaint(
43 | painter: _HandPainter(
44 | handSize: size,
45 | lineWidth: thickness,
46 | angleRadians: angleRadians,
47 | color: color,
48 | ),
49 | ),
50 | ),
51 | );
52 | }
53 | }
54 |
55 | /// [CustomPainter] that draws a clock hand.
56 | class _HandPainter extends CustomPainter {
57 | _HandPainter({
58 | @required this.handSize,
59 | @required this.lineWidth,
60 | @required this.angleRadians,
61 | @required this.color,
62 | }) : assert(handSize != null),
63 | assert(lineWidth != null),
64 | assert(angleRadians != null),
65 | assert(color != null),
66 | assert(handSize >= 0.0),
67 | assert(handSize <= 1.0);
68 |
69 | double handSize;
70 | double lineWidth;
71 | double angleRadians;
72 | Color color;
73 |
74 | @override
75 | void paint(Canvas canvas, Size size) {
76 | final center = (Offset.zero & size).center;
77 | // We want to start at the top, not at the x-axis, so add pi/2.
78 | final angle = angleRadians - math.pi / 2.0;
79 | final length = size.shortestSide * 0.5 * handSize;
80 | final position = center + Offset(math.cos(angle), math.sin(angle)) * length;
81 | final linePaint = Paint()
82 | ..color = color
83 | ..strokeWidth = lineWidth
84 | ..strokeCap = StrokeCap.square;
85 |
86 | canvas.drawLine(center, position, linePaint);
87 | }
88 |
89 | @override
90 | bool shouldRepaint(_HandPainter oldDelegate) {
91 | return oldDelegate.handSize != handSize ||
92 | oldDelegate.lineWidth != lineWidth ||
93 | oldDelegate.angleRadians != angleRadians ||
94 | oldDelegate.color != color;
95 | }
96 | }
97 |
--------------------------------------------------------------------------------
/analog_clock/lib/hand.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:flutter/material.dart';
6 |
7 | /// A base class for an analog clock hand-drawing widget.
8 | ///
9 | /// This only draws one hand of the analog clock. Put it in a [Stack] to have
10 | /// more than one hand.
11 | abstract class Hand extends StatelessWidget {
12 | /// Create a const clock [Hand].
13 | ///
14 | /// All of the parameters are required and must not be null.
15 | const Hand({
16 | @required this.color,
17 | @required this.size,
18 | @required this.angleRadians,
19 | }) : assert(color != null),
20 | assert(size != null),
21 | assert(angleRadians != null);
22 |
23 | /// Hand color.
24 | final Color color;
25 |
26 | /// Hand length, as a percentage of the smaller side of the clock's parent
27 | /// container.
28 | final double size;
29 |
30 | /// The angle, in radians, at which the hand is drawn.
31 | ///
32 | /// This angle is measured from the 12 o'clock position.
33 | final double angleRadians;
34 | }
35 |
--------------------------------------------------------------------------------
/analog_clock/lib/main.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'dart:io';
6 |
7 | import 'package:flutter_clock_helper/customizer.dart';
8 | import 'package:flutter_clock_helper/model.dart';
9 | import 'package:flutter/foundation.dart';
10 | import 'package:flutter/material.dart';
11 |
12 | import 'analog_clock.dart';
13 |
14 | void main() {
15 | // A temporary measure until Platform supports web and TargetPlatform supports
16 | // macOS.
17 | if (!kIsWeb && Platform.isMacOS) {
18 | // TODO(gspencergoog): Update this when TargetPlatform includes macOS.
19 | // https://github.com/flutter/flutter/issues/31366
20 | // See https://github.com/flutter/flutter/wiki/Desktop-shells#target-platform-override.
21 | debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
22 | }
23 |
24 | // This creates a clock that enables you to customize it.
25 | //
26 | // The [ClockCustomizer] takes in a [ClockBuilder] that consists of:
27 | // - A clock widget (in this case, [AnalogClock])
28 | // - A model (provided to you by [ClockModel])
29 | // For more information, see the flutter_clock_helper package.
30 | //
31 | // Your job is to edit [AnalogClock], or replace it with your own clock
32 | // widget. (Look in analog_clock.dart for more details!)
33 | runApp(ClockCustomizer((ClockModel model) => AnalogClock(model)));
34 | }
35 |
--------------------------------------------------------------------------------
/analog_clock/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://dart.dev/tools/pub/glossary#lockfile
3 | packages:
4 | archive:
5 | dependency: transitive
6 | description:
7 | name: archive
8 | url: "https://pub.dartlang.org"
9 | source: hosted
10 | version: "2.0.10"
11 | args:
12 | dependency: transitive
13 | description:
14 | name: args
15 | url: "https://pub.dartlang.org"
16 | source: hosted
17 | version: "1.5.2"
18 | async:
19 | dependency: transitive
20 | description:
21 | name: async
22 | url: "https://pub.dartlang.org"
23 | source: hosted
24 | version: "2.3.0"
25 | boolean_selector:
26 | dependency: transitive
27 | description:
28 | name: boolean_selector
29 | url: "https://pub.dartlang.org"
30 | source: hosted
31 | version: "1.0.5"
32 | charcode:
33 | dependency: transitive
34 | description:
35 | name: charcode
36 | url: "https://pub.dartlang.org"
37 | source: hosted
38 | version: "1.1.2"
39 | collection:
40 | dependency: transitive
41 | description:
42 | name: collection
43 | url: "https://pub.dartlang.org"
44 | source: hosted
45 | version: "1.14.11"
46 | convert:
47 | dependency: transitive
48 | description:
49 | name: convert
50 | url: "https://pub.dartlang.org"
51 | source: hosted
52 | version: "2.1.1"
53 | crypto:
54 | dependency: transitive
55 | description:
56 | name: crypto
57 | url: "https://pub.dartlang.org"
58 | source: hosted
59 | version: "2.1.3"
60 | cupertino_icons:
61 | dependency: "direct main"
62 | description:
63 | name: cupertino_icons
64 | url: "https://pub.dartlang.org"
65 | source: hosted
66 | version: "0.1.2"
67 | flutter:
68 | dependency: "direct main"
69 | description: flutter
70 | source: sdk
71 | version: "0.0.0"
72 | flutter_clock_helper:
73 | dependency: "direct main"
74 | description:
75 | path: "../flutter_clock_helper"
76 | relative: true
77 | source: path
78 | version: "1.0.0+1"
79 | flutter_test:
80 | dependency: "direct dev"
81 | description: flutter
82 | source: sdk
83 | version: "0.0.0"
84 | image:
85 | dependency: transitive
86 | description:
87 | name: image
88 | url: "https://pub.dartlang.org"
89 | source: hosted
90 | version: "2.1.4"
91 | intl:
92 | dependency: transitive
93 | description:
94 | name: intl
95 | url: "https://pub.dartlang.org"
96 | source: hosted
97 | version: "0.16.0"
98 | matcher:
99 | dependency: transitive
100 | description:
101 | name: matcher
102 | url: "https://pub.dartlang.org"
103 | source: hosted
104 | version: "0.12.5"
105 | meta:
106 | dependency: transitive
107 | description:
108 | name: meta
109 | url: "https://pub.dartlang.org"
110 | source: hosted
111 | version: "1.1.7"
112 | path:
113 | dependency: transitive
114 | description:
115 | name: path
116 | url: "https://pub.dartlang.org"
117 | source: hosted
118 | version: "1.6.4"
119 | pedantic:
120 | dependency: transitive
121 | description:
122 | name: pedantic
123 | url: "https://pub.dartlang.org"
124 | source: hosted
125 | version: "1.8.0+1"
126 | petitparser:
127 | dependency: transitive
128 | description:
129 | name: petitparser
130 | url: "https://pub.dartlang.org"
131 | source: hosted
132 | version: "2.4.0"
133 | quiver:
134 | dependency: transitive
135 | description:
136 | name: quiver
137 | url: "https://pub.dartlang.org"
138 | source: hosted
139 | version: "2.0.5"
140 | sky_engine:
141 | dependency: transitive
142 | description: flutter
143 | source: sdk
144 | version: "0.0.99"
145 | source_span:
146 | dependency: transitive
147 | description:
148 | name: source_span
149 | url: "https://pub.dartlang.org"
150 | source: hosted
151 | version: "1.5.5"
152 | stack_trace:
153 | dependency: transitive
154 | description:
155 | name: stack_trace
156 | url: "https://pub.dartlang.org"
157 | source: hosted
158 | version: "1.9.3"
159 | stream_channel:
160 | dependency: transitive
161 | description:
162 | name: stream_channel
163 | url: "https://pub.dartlang.org"
164 | source: hosted
165 | version: "2.0.0"
166 | string_scanner:
167 | dependency: transitive
168 | description:
169 | name: string_scanner
170 | url: "https://pub.dartlang.org"
171 | source: hosted
172 | version: "1.0.5"
173 | term_glyph:
174 | dependency: transitive
175 | description:
176 | name: term_glyph
177 | url: "https://pub.dartlang.org"
178 | source: hosted
179 | version: "1.1.0"
180 | test_api:
181 | dependency: transitive
182 | description:
183 | name: test_api
184 | url: "https://pub.dartlang.org"
185 | source: hosted
186 | version: "0.2.5"
187 | typed_data:
188 | dependency: transitive
189 | description:
190 | name: typed_data
191 | url: "https://pub.dartlang.org"
192 | source: hosted
193 | version: "1.1.6"
194 | vector_math:
195 | dependency: transitive
196 | description:
197 | name: vector_math
198 | url: "https://pub.dartlang.org"
199 | source: hosted
200 | version: "2.0.8"
201 | xml:
202 | dependency: transitive
203 | description:
204 | name: xml
205 | url: "https://pub.dartlang.org"
206 | source: hosted
207 | version: "3.5.0"
208 | sdks:
209 | dart: ">=2.4.0 <3.0.0"
210 |
--------------------------------------------------------------------------------
/analog_clock/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: analog_clock
2 | description: Analog clock.
3 | version: 1.0.0+1
4 |
5 | environment:
6 | sdk: ">=2.1.0 <3.0.0"
7 |
8 | dependencies:
9 | flutter:
10 | sdk: flutter
11 | flutter_clock_helper:
12 | path: ../flutter_clock_helper
13 | cupertino_icons: ^0.1.2
14 |
15 | dev_dependencies:
16 | flutter_test:
17 | sdk: flutter
18 |
19 | flutter:
20 | uses-material-design: true
21 |
--------------------------------------------------------------------------------
/flutter_clock_helper/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: 9bd02a1787bd264fde13a445a900ca28d08e3cef
8 | channel: master
9 |
10 | project_type: package
11 |
--------------------------------------------------------------------------------
/flutter_clock_helper/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | ## [0.0.1] - TODO: Add release date.
2 |
3 | * TODO: Describe initial release.
4 |
--------------------------------------------------------------------------------
/flutter_clock_helper/README.md:
--------------------------------------------------------------------------------
1 | # Flutter Clock Helper
2 |
3 | This package provides scaffolding code for the clock in the Flutter Clock contest.
4 |
5 | Contestants: Do not edit this code.
6 |
7 |
8 | ## Model
9 | Provides data that can change in the clock. Look in model.dart for more details.
10 |
11 | * Time format (12- or 24-hour)
12 | * Location
13 | * Temperature
14 | * Temperature high
15 | * Temperature low
16 | * Temperature unit
17 | * Weather unit
18 |
19 |
20 | ## Clock Customizer
21 | Provides customizations for your clock (based on the model).
22 | You can change the behavior of your clock based on these customizations.
23 |
24 |
25 |
26 | To use inside your app's `main.dart`:
27 |
28 | ```
29 | runApp(ClockCustomizer((ClockModel model) => AnalogClock(model)));
30 | ```
31 |
32 | For more information, see the code inside [lib/](lib).
33 | For a full example, see the [Analog Clock](../analog_clock) or [Digital Clock](../digital_clock) in this GitHub repo.
34 |
--------------------------------------------------------------------------------
/flutter_clock_helper/customizer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/flutter_clock_helper/customizer.png
--------------------------------------------------------------------------------
/flutter_clock_helper/lib/customizer.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:flutter/material.dart';
6 |
7 | import 'model.dart';
8 |
9 | /// Returns a clock [Widget] with [ClockModel].
10 | ///
11 | /// Example:
12 | /// final myClockBuilder = (ClockModel model) => AnalogClock(model);
13 | ///
14 | /// Contestants: Do not edit this.
15 | typedef Widget ClockBuilder(ClockModel model);
16 |
17 | /// Wrapper for clock widget to allow for customizations.
18 | ///
19 | /// Puts the clock in landscape orientation with an aspect ratio of 5:3.
20 | /// Provides a drawer where users can customize the data that is sent to the
21 | /// clock. To show/hide the drawer, double-tap the clock.
22 | ///
23 | /// To use the [ClockCustomizer], pass your clock into it, using a ClockBuilder.
24 | ///
25 | /// ```
26 | /// final myClockBuilder = (ClockModel model) => AnalogClock(model);
27 | /// return ClockCustomizer(myClockBuilder);
28 | /// ```
29 | /// Contestants: Do not edit this.
30 | class ClockCustomizer extends StatefulWidget {
31 | const ClockCustomizer(this._clock);
32 |
33 | /// The clock widget with [ClockModel], to update and display.
34 | final ClockBuilder _clock;
35 |
36 | @override
37 | _ClockCustomizerState createState() => _ClockCustomizerState();
38 | }
39 |
40 | class _ClockCustomizerState extends State {
41 | final _model = ClockModel();
42 | ThemeMode _themeMode = ThemeMode.light;
43 | bool _configButtonShown = false;
44 |
45 | @override
46 | void initState() {
47 | super.initState();
48 | _model.addListener(_handleModelChange);
49 | }
50 |
51 | @override
52 | void dispose() {
53 | _model.removeListener(_handleModelChange);
54 | _model.dispose();
55 | super.dispose();
56 | }
57 |
58 | void _handleModelChange() => setState(() {});
59 |
60 | Widget _enumMenu(
61 | String label, T value, List items, ValueChanged onChanged) {
62 | return InputDecorator(
63 | decoration: InputDecoration(
64 | labelText: label,
65 | ),
66 | child: DropdownButtonHideUnderline(
67 | child: DropdownButton(
68 | value: value,
69 | isDense: true,
70 | onChanged: onChanged,
71 | items: items.map((T item) {
72 | return DropdownMenuItem(
73 | value: item,
74 | child: Text(enumToString(item)),
75 | );
76 | }).toList(),
77 | ),
78 | ),
79 | );
80 | }
81 |
82 | Widget _switch(String label, bool value, ValueChanged onChanged) {
83 | return Row(
84 | children: [
85 | Expanded(child: Text(label)),
86 | Switch(
87 | value: value,
88 | onChanged: onChanged,
89 | ),
90 | ],
91 | );
92 | }
93 |
94 | Widget _textField(
95 | String currentValue, String label, ValueChanged onChanged) {
96 | return TextField(
97 | decoration: InputDecoration(
98 | hintText: currentValue,
99 | helperText: label,
100 | ),
101 | onChanged: onChanged,
102 | );
103 | }
104 |
105 | Widget _configDrawer(BuildContext context) {
106 | return SafeArea(
107 | child: Drawer(
108 | child: Padding(
109 | padding: const EdgeInsets.all(16.0),
110 | child: SingleChildScrollView(
111 | child: Column(
112 | children: [
113 | _textField(_model.location, 'Location', (String location) {
114 | setState(() {
115 | _model.location = location;
116 | });
117 | }),
118 | _textField(_model.temperature.toString(), 'Temperature',
119 | (String temperature) {
120 | setState(() {
121 | _model.temperature = double.parse(temperature);
122 | });
123 | }),
124 | _enumMenu('Theme', _themeMode,
125 | ThemeMode.values.toList()..remove(ThemeMode.system),
126 | (ThemeMode mode) {
127 | setState(() {
128 | _themeMode = mode;
129 | });
130 | }),
131 | _switch('24-hour format', _model.is24HourFormat, (bool value) {
132 | setState(() {
133 | _model.is24HourFormat = value;
134 | });
135 | }),
136 | _enumMenu(
137 | 'Weather', _model.weatherCondition, WeatherCondition.values,
138 | (WeatherCondition condition) {
139 | setState(() {
140 | _model.weatherCondition = condition;
141 | });
142 | }),
143 | _enumMenu('Units', _model.unit, TemperatureUnit.values,
144 | (TemperatureUnit unit) {
145 | setState(() {
146 | _model.unit = unit;
147 | });
148 | }),
149 | ],
150 | ),
151 | ),
152 | ),
153 | ),
154 | );
155 | }
156 |
157 | Widget _configButton() {
158 | return Builder(
159 | builder: (BuildContext context) {
160 | return IconButton(
161 | icon: Icon(Icons.settings),
162 | tooltip: 'Configure clock',
163 | onPressed: () {
164 | Scaffold.of(context).openEndDrawer();
165 | setState(() {
166 | _configButtonShown = false;
167 | });
168 | },
169 | );
170 | },
171 | );
172 | }
173 |
174 | @override
175 | Widget build(BuildContext context) {
176 | final clock = Center(
177 | child: AspectRatio(
178 | aspectRatio: 5 / 3,
179 | child: Container(
180 | decoration: BoxDecoration(
181 | border: Border.all(
182 | width: 2,
183 | color: Theme.of(context).unselectedWidgetColor,
184 | ),
185 | ),
186 | child: widget._clock(_model),
187 | ),
188 | ),
189 | );
190 |
191 | return MaterialApp(
192 | theme: ThemeData.light(),
193 | darkTheme: ThemeData.dark(),
194 | themeMode: _themeMode,
195 | debugShowCheckedModeBanner: false,
196 | home: Scaffold(
197 | resizeToAvoidBottomPadding: false,
198 | endDrawer: _configDrawer(context),
199 | body: SafeArea(
200 | child: GestureDetector(
201 | behavior: HitTestBehavior.opaque,
202 | onTap: () {
203 | setState(() {
204 | _configButtonShown = !_configButtonShown;
205 | });
206 | },
207 | child: Stack(
208 | children: [
209 | clock,
210 | if (_configButtonShown)
211 | Positioned(
212 | top: 0,
213 | right: 0,
214 | child: Opacity(
215 | opacity: 0.7,
216 | child: _configButton(),
217 | ),
218 | ),
219 | ],
220 | ),
221 | ),
222 | ),
223 | ),
224 | );
225 | }
226 | }
227 |
--------------------------------------------------------------------------------
/flutter_clock_helper/lib/model.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'package:flutter/foundation.dart';
6 | import 'package:flutter/material.dart';
7 |
8 | /// This is the model that contains the customization options for the clock.
9 | ///
10 | /// It is a [ChangeNotifier], so use [ChangeNotifier.addListener] to listen to
11 | /// changes to the model. Be sure to call [ChangeNotifier.removeListener] in
12 | /// your `dispose` method.
13 | ///
14 | /// Contestants: Do not edit this.
15 | class ClockModel extends ChangeNotifier {
16 | get is24HourFormat => _is24HourFormat;
17 | bool _is24HourFormat = true;
18 | set is24HourFormat(bool is24HourFormat) {
19 | if (_is24HourFormat != is24HourFormat) {
20 | _is24HourFormat = is24HourFormat;
21 | notifyListeners();
22 | }
23 | }
24 |
25 | /// Current location String, for example 'Mountain View, CA'.
26 | get location => _location;
27 | String _location = 'Mountain View, CA';
28 | set location(String location) {
29 | if (location != _location) {
30 | _location = location;
31 | notifyListeners();
32 | }
33 | }
34 |
35 | /// Current temperature string, for example '22°C'.
36 | get temperature => _convertFromCelsius(_temperature);
37 | // Stored in degrees celsius, and converted based on the current unit setting
38 | num _temperature = 22.0;
39 | set temperature(num temperature) {
40 | temperature = _convertToCelsius(temperature);
41 | if (temperature != _temperature) {
42 | _temperature = temperature;
43 | _low = _temperature - 3.0;
44 | _high = _temperature + 4.0;
45 | notifyListeners();
46 | }
47 | }
48 |
49 | /// Daily high temperature, for example '26'.
50 | get high => _convertFromCelsius(_high);
51 | // Stored in degrees celsius, and converted based on the current unit setting
52 | num _high = 26.0;
53 | set high(num high) {
54 | high = _convertToCelsius(high);
55 | if (high != _high) {
56 | _high = high;
57 | notifyListeners();
58 | }
59 | }
60 |
61 | /// Daily low temperature, for example '19'.
62 | get low => _convertFromCelsius(_low);
63 | num _low = 19.0;
64 | set low(num low) {
65 | low = _convertToCelsius(low);
66 | if (low != _low) {
67 | _low = low;
68 | notifyListeners();
69 | }
70 | }
71 |
72 | /// Weather condition text for the current weather, for example 'cloudy'.
73 | WeatherCondition get weatherCondition => _weatherCondition;
74 | WeatherCondition _weatherCondition = WeatherCondition.sunny;
75 | set weatherCondition(WeatherCondition weatherCondition) {
76 | if (weatherCondition != _weatherCondition) {
77 | _weatherCondition = weatherCondition;
78 | notifyListeners();
79 | }
80 | }
81 |
82 | /// [WeatherCondition] value without the enum type.
83 | String get weatherString => enumToString(weatherCondition);
84 |
85 | /// Temperature unit, for example 'celsius'.
86 | TemperatureUnit get unit => _unit;
87 | TemperatureUnit _unit = TemperatureUnit.celsius;
88 | set unit(TemperatureUnit unit) {
89 | if (unit != _unit) {
90 | _unit = unit;
91 | notifyListeners();
92 | }
93 | }
94 |
95 | /// Temperature with unit of measurement.
96 | String get temperatureString {
97 | return '${temperature.toStringAsFixed(1)}$unitString';
98 | }
99 |
100 | /// Temperature high with unit of measurement.
101 | String get highString {
102 | return '${high.toStringAsFixed(1)}$unitString';
103 | }
104 |
105 | /// Temperature low with unit of measurement.
106 | String get lowString {
107 | return '${low.toStringAsFixed(1)}$unitString';
108 | }
109 |
110 | /// Temperature unit of measurement with degrees.
111 | String get unitString {
112 | switch (unit) {
113 | case TemperatureUnit.fahrenheit:
114 | return '°F';
115 | case TemperatureUnit.celsius:
116 | default:
117 | return '°C';
118 | }
119 | }
120 |
121 | num _convertFromCelsius(num degreesCelsius) {
122 | switch (unit) {
123 | case TemperatureUnit.fahrenheit:
124 | return 32.0 + degreesCelsius * 9.0 / 5.0;
125 | case TemperatureUnit.celsius:
126 | default:
127 | return degreesCelsius;
128 | break;
129 | }
130 | }
131 |
132 | num _convertToCelsius(num degrees) {
133 | switch (unit) {
134 | case TemperatureUnit.fahrenheit:
135 | return (degrees - 32.0) * 5.0 / 9.0;
136 | case TemperatureUnit.celsius:
137 | default:
138 | return degrees;
139 | break;
140 | }
141 | }
142 | }
143 |
144 | /// Weather condition in English.
145 | enum WeatherCondition {
146 | cloudy,
147 | foggy,
148 | rainy,
149 | snowy,
150 | sunny,
151 | thunderstorm,
152 | windy,
153 | }
154 |
155 | /// Temperature unit of measurement.
156 | enum TemperatureUnit {
157 | celsius,
158 | fahrenheit,
159 | }
160 |
161 | /// Removes the enum type and returns the value as a String.
162 | String enumToString(Object e) => e.toString().split('.').last;
163 |
--------------------------------------------------------------------------------
/flutter_clock_helper/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: flutter_clock_helper
2 | description: Helper classes for Flutter Clock contest.
3 |
4 | version: 1.0.0+1
5 |
6 | environment:
7 | sdk: ">=2.2.2 <3.0.0"
8 |
9 | dependencies:
10 | flutter:
11 | sdk: flutter
12 | intl: "^0.16.0"
13 |
14 | cupertino_icons: ^0.1.2
15 |
16 | dev_dependencies:
17 | flutter_test:
18 | sdk: flutter
19 |
20 | flutter:
21 | uses-material-design: true
22 |
--------------------------------------------------------------------------------
/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/screenshot.png
--------------------------------------------------------------------------------
/tetris_clock/.gitignore:
--------------------------------------------------------------------------------
1 | # Miscellaneous
2 | *.class
3 | *.log
4 | *.pyc
5 | *.swp
6 | .DS_Store
7 | .atom/
8 | .buildlog/
9 | .history
10 | .svn/
11 |
12 | # IntelliJ related
13 | *.iml
14 | *.ipr
15 | *.iws
16 | .idea/
17 |
18 | # The .vscode folder contains launch configuration and tasks you configure in
19 | # VS Code which you may wish to be included in version control, so this line
20 | # is commented out by default.
21 | #.vscode/
22 |
23 | # Flutter/Dart/Pub related
24 | **/doc/api/
25 | .dart_tool/
26 | .flutter-plugins
27 | .packages
28 | .pub-cache/
29 | .pub/
30 | /build/
31 |
32 | # Web related
33 | lib/generated_plugin_registrant.dart
34 |
35 | # Exceptions to above rules.
36 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
37 |
--------------------------------------------------------------------------------
/tetris_clock/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: ade8dfac3dfb4d2ea04b45ff589fd073d8fc4274
8 | channel: master
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/tetris_clock/README.md:
--------------------------------------------------------------------------------
1 | # Tetris Time
2 |
3 | This app is my contribution to the flutter clock challenge based on the digital clock example.
4 | It has a light theme and a dark theme and uses weather-data to show the conditions.
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | Made with <3 in Herne by Michael Jentsch with support by Merlin Jentsch and Klaudia Jentsch
--------------------------------------------------------------------------------
/tetris_clock/assets/numbers/tetris_number0.json:
--------------------------------------------------------------------------------
1 | [
2 | [4,3,6,5,2,2,6,7,3,4,5,2],
3 | [
4 | [
5 | [0, -4, 1, 1],
6 | [0, -3, 1, 1],
7 | [0, -2, 1, 1],
8 | [0, -1, 1, 1],
9 | [0, 0, 1, 1],
10 | [0, 1, 1, 1],
11 | [0, 2, 1, 1],
12 | [0, 3, 1, 1],
13 | [0, 4, 1, 1],
14 | [0, 5, 1, 1],
15 | [0, 6, 1, 1],
16 | [0, 7, 1, 1],
17 | [0, 8, 1, 1],
18 | [0, 9, 0, 1],
19 | [0, 10, 0, 1],
20 | [0, 11, 0, 1],
21 | [0, 12, 0, 1],
22 | [0, 13, 0, 1],
23 | [0, 14, 0, 1],
24 | [0, 15, 0, 1],
25 | [0, 16, 0, 1],
26 | [0, 17, 0, 1],
27 | [0, 17, 0, 1],
28 | [0, 17, 0, 1],
29 | [0, 17, 0, 1],
30 | [0, 17, 0, 1],
31 | [0, 17, 0, 1],
32 | [0, 17, 0, 1],
33 | [0, 17, 0, 1],
34 | [0, 17, 0, 1],
35 | [0, 17, 0, 1],
36 | [0, 17, 0, 1],
37 | [0, 17, 0, 1],
38 | [0, 17, 0, 1],
39 | [0, 17, 0, 1],
40 | [0, 17, 0, 1],
41 | [0, 17, 0, 1],
42 | [0, 17, 0, 1],
43 | [0, 17, 0, 1],
44 | [0, 17, 0, 1],
45 | [0, 17, 0, 1],
46 | [0, 17, 0, 1],
47 | [0, 17, 0, 1],
48 | [0, 17, 0, 1],
49 | [0, 17, 0, 1],
50 | [0, 17, 0, 1],
51 | [0, 17, 0, 1],
52 | [0, 17, 0, 1]
53 | ],[
54 | [0, 0, 0, 0],
55 | [0, 0, 0, 0],
56 | [0, 0, 0, 0],
57 | [0, 0, 0, 0],
58 | [1, -3, 0, 7],
59 | [1, -2, 0, 7],
60 | [1, -1, 0, 7],
61 | [1, 0, 0, 7],
62 | [1, 1, 0, 7],
63 | [1, 2, 0, 7],
64 | [1, 3, 0, 7],
65 | [1, 4, 0, 7],
66 | [1, 5, 0, 7],
67 | [1, 6, 0, 7],
68 | [1, 7, 0, 7],
69 | [1, 8, 0, 7],
70 | [1, 9, 0, 7],
71 | [1, 10, 0, 7],
72 | [2, 11, 0, 7],
73 | [2, 12, 0, 7],
74 | [2, 13, 0, 7],
75 | [2, 14, 0, 7],
76 | [2, 15, 0, 7],
77 | [2, 16, 0, 7],
78 | [2, 17, 0, 7],
79 | [2, 17, 0, 7],
80 | [2, 17, 0, 7],
81 | [2, 17, 0, 7],
82 | [2, 17, 0, 7],
83 | [2, 17, 0, 7],
84 | [2, 17, 0, 7],
85 | [2, 17, 0, 7],
86 | [2, 17, 0, 7],
87 | [2, 17, 0, 7],
88 | [2, 17, 0, 7],
89 | [2, 17, 0, 7],
90 | [2, 17, 0, 7],
91 | [2, 17, 0, 7],
92 | [2, 17, 0, 7],
93 | [2, 17, 0, 7],
94 | [2, 17, 0, 7],
95 | [2, 17, 0, 7],
96 | [2, 17, 0, 7],
97 | [2, 17, 0, 7],
98 | [2, 17, 0, 7],
99 | [2, 17, 0, 7],
100 | [2, 17, 0, 7],
101 | [2, 17, 0, 7]
102 | ],[
103 | [0, 0, 0, 0],
104 | [0, 0, 0, 0],
105 | [0, 0, 0, 0],
106 | [0, 0, 0, 0],
107 | [0, 0, 0, 0],
108 | [0, 0, 0, 0],
109 | [0, 0, 0, 0],
110 | [0, 0, 0, 0],
111 | [0, -3, 0, 5],
112 | [0, -2, 0, 5],
113 | [0, -1, 0, 5],
114 | [0, 0, 0, 5],
115 | [0, 1, 0, 5],
116 | [0, 2, 0, 5],
117 | [-1, 3, 0, 5],
118 | [-1, 4, 0, 5],
119 | [-1, 5, 0, 5],
120 | [-1, 6, 0, 5],
121 | [-1, 7, 0, 5],
122 | [-1, 8, 0, 5],
123 | [-1, 9, 0, 5],
124 | [-1, 10, 0, 5],
125 | [-1, 11, 0, 5],
126 | [-1, 12, 0, 5],
127 | [-1, 13, 0, 5],
128 | [-1, 14, 0, 5],
129 | [-1, 15, 0, 5],
130 | [-1, 16, 0, 5],
131 | [-1, 16, 0, 5],
132 | [-1, 16, 0, 5],
133 | [-1, 16, 0, 5],
134 | [-1, 16, 0, 5],
135 | [-1, 16, 0, 5],
136 | [-1, 16, 0, 5],
137 | [-1, 16, 0, 5],
138 | [-1, 16, 0, 5],
139 | [-1, 16, 0, 5],
140 | [-1, 16, 0, 5],
141 | [-1, 16, 0, 5],
142 | [-1, 16, 0, 5],
143 | [-1, 16, 0, 5],
144 | [-1, 16, 0, 5],
145 | [-1, 16, 0, 5],
146 | [-1, 16, 0, 5],
147 | [-1, 16, 0, 5],
148 | [-1, 16, 0, 5],
149 | [-1, 16, 0, 5],
150 | [-1, 16, 0, 5]
151 | ],[
152 | [0, 0, 0, 0],
153 | [0, 0, 0, 0],
154 | [0, 0, 0, 0],
155 | [0, 0, 0, 0],
156 | [0, 0, 0, 0],
157 | [0, 0, 0, 0],
158 | [0, 0, 0, 0],
159 | [0, 0, 0, 0],
160 | [0, 0, 0, 0],
161 | [0, 0, 0, 0],
162 | [2, -3, 3, 5],
163 | [2, -2, 3, 5],
164 | [2, -1, 3, 5],
165 | [2, 0, 3, 5],
166 | [2, 1, 3, 5],
167 | [2, 2, 3, 5],
168 | [2, 3, 3, 5],
169 | [2, 4, 3, 5],
170 | [2, 5, 3, 5],
171 | [2, 6, 3, 5],
172 | [2, 7, 3, 5],
173 | [2, 8, 3, 5],
174 | [2, 9, 3, 5],
175 | [2, 10, 3, 5],
176 | [2, 11, 3, 5],
177 | [3, 12, 3, 5],
178 | [3, 13, 3, 5],
179 | [3, 14, 3, 5],
180 | [3, 15, 3, 5],
181 | [3, 16, 3, 5],
182 | [3, 16, 3, 5],
183 | [3, 16, 3, 5],
184 | [3, 16, 3, 5],
185 | [3, 16, 3, 5],
186 | [3, 16, 3, 5],
187 | [3, 16, 3, 5],
188 | [3, 16, 3, 5],
189 | [3, 16, 3, 5],
190 | [3, 16, 3, 5],
191 | [3, 16, 3, 5],
192 | [3, 16, 3, 5],
193 | [3, 16, 3, 5],
194 | [3, 16, 3, 5],
195 | [3, 16, 3, 5],
196 | [3, 16, 3, 5],
197 | [3, 16, 3, 5],
198 | [3, 16, 3, 5],
199 | [3, 16, 3, 5]
200 | ],[
201 | [0, 0, 0, 0],
202 | [0, 0, 0, 0],
203 | [0, 0, 0, 0],
204 | [0, 0, 0, 0],
205 | [0, 0, 0, 0],
206 | [0, 0, 0, 0],
207 | [0, 0, 0, 0],
208 | [0, 0, 0, 0],
209 | [0, 0, 0, 0],
210 | [0, 0, 0, 0],
211 | [0, 0, 0, 0],
212 | [0, 0, 0, 0],
213 | [0, 0, 0, 0],
214 | [-1, -3, 1, 5],
215 | [-1, -2, 1, 5],
216 | [-1, -1, 1, 5],
217 | [-1, 0, 1, 5],
218 | [-1, 1, 1, 5],
219 | [-1, 2, 1, 5],
220 | [-1, 3, 1, 5],
221 | [-1, 4, 1, 5],
222 | [-1, 5, 1, 5],
223 | [-1, 6, 1, 5],
224 | [-1, 7, 1, 5],
225 | [-2, 8, 1, 5],
226 | [-2, 9, 1, 5],
227 | [-2, 10, 1, 5],
228 | [-2, 11, 1, 5],
229 | [-2, 12, 1, 5],
230 | [-2, 13, 1, 5],
231 | [-2, 14, 1, 5],
232 | [-2, 15, 1, 5],
233 | [-2, 15, 1, 5],
234 | [-2, 15, 1, 5],
235 | [-2, 15, 1, 5],
236 | [-2, 15, 1, 5],
237 | [-2, 15, 1, 5],
238 | [-2, 15, 1, 5],
239 | [-2, 15, 1, 5],
240 | [-2, 15, 1, 5],
241 | [-2, 15, 1, 5],
242 | [-2, 15, 1, 5],
243 | [-2, 15, 1, 5],
244 | [-2, 15, 1, 5],
245 | [-2, 15, 1, 5],
246 | [-2, 15, 1, 5],
247 | [-2, 15, 1, 5],
248 | [-2, 15, 1, 5]
249 | ],[
250 | [0, 0, 0, 0],
251 | [0, 0, 0, 0],
252 | [0, 0, 0, 0],
253 | [0, 0, 0, 0],
254 | [0, 0, 0, 0],
255 | [0, 0, 0, 0],
256 | [0, 0, 0, 0],
257 | [0, 0, 0, 0],
258 | [0, 0, 0, 0],
259 | [0, 0, 0, 0],
260 | [0, 0, 0, 0],
261 | [0, 0, 0, 0],
262 | [0, 0, 0, 0],
263 | [0, 0, 0, 0],
264 | [0, 0, 0, 0],
265 | [0, 0, 0, 0],
266 | [1, -3, 1, 5],
267 | [1, -2, 1, 5],
268 | [1, -1, 1, 5],
269 | [1, 0, 1, 5],
270 | [1, 1, 1, 5],
271 | [1, 2, 1, 5],
272 | [1, 3, 1, 5],
273 | [1, 4, 1, 5],
274 | [1, 5, 1, 5],
275 | [1, 6, 0, 5],
276 | [1, 7, 0, 5],
277 | [1, 8, 0, 5],
278 | [1, 9, 0, 5],
279 | [1, 10, 0, 5],
280 | [1, 11, 1, 5],
281 | [2, 12, 1, 5],
282 | [2, 13, 1, 5],
283 | [2, 14, 1, 5],
284 | [2, 14, 1, 5],
285 | [2, 14, 1, 5],
286 | [2, 14, 1, 5],
287 | [2, 14, 1, 5],
288 | [2, 14, 1, 5],
289 | [2, 14, 1, 5],
290 | [2, 14, 1, 5],
291 | [2, 14, 1, 5],
292 | [2, 14, 1, 5],
293 | [2, 14, 1, 5],
294 | [2, 14, 1, 5],
295 | [2, 14, 1, 5],
296 | [2, 14, 1, 5],
297 | [2, 14, 1, 5]
298 | ],[
299 | [0, 0, 0, 0],
300 | [0, 0, 0, 0],
301 | [0, 0, 0, 0],
302 | [0, 0, 0, 0],
303 | [0, 0, 0, 0],
304 | [0, 0, 0, 0],
305 | [0, 0, 0, 0],
306 | [0, 0, 0, 0],
307 | [0, 0, 0, 0],
308 | [0, 0, 0, 0],
309 | [0, 0, 0, 0],
310 | [0, 0, 0, 0],
311 | [0, 0, 0, 0],
312 | [0, 0, 0, 0],
313 | [0, 0, 0, 0],
314 | [0, 0, 0, 0],
315 | [0, 0, 0, 0],
316 | [0, 0, 0, 0],
317 | [0, 0, 0, 0],
318 | [0, 0, 0, 0],
319 | [0, -3, 1, 6],
320 | [0, -2, 1, 6],
321 | [0, -1, 1, 6],
322 | [1, 0, 1, 6],
323 | [1, 1, 1, 6],
324 | [1, 2, 1, 6],
325 | [1, 3, 1, 6],
326 | [1, 4, 1, 6],
327 | [1, 5, 1, 6],
328 | [1, 6, 1, 6],
329 | [0, 7, 1, 6],
330 | [0, 8, 1, 6],
331 | [0, 9, 1, 6],
332 | [-1, 10, 1, 6],
333 | [-1, 11, 1, 6],
334 | [-1, 12, 1, 6],
335 | [-1, 13, 1, 6],
336 | [-1, 13, 1, 6],
337 | [-1, 13, 1, 6],
338 | [-1, 13, 1, 6],
339 | [-1, 13, 1, 6],
340 | [-1, 13, 1, 6],
341 | [-1, 13, 1, 6],
342 | [-1, 13, 1, 6],
343 | [-1, 13, 1, 6],
344 | [-1, 13, 1, 6],
345 | [-1, 13, 1, 6],
346 | [-1, 13, 1, 6]
347 | ],[
348 | [0, 0, 0, 0],
349 | [0, 0, 0, 0],
350 | [0, 0, 0, 0],
351 | [0, 0, 0, 0],
352 | [0, 0, 0, 0],
353 | [0, 0, 0, 0],
354 | [0, 0, 0, 0],
355 | [0, 0, 0, 0],
356 | [0, 0, 0, 0],
357 | [0, 0, 0, 0],
358 | [0, 0, 0, 0],
359 | [0, 0, 0, 0],
360 | [0, 0, 0, 0],
361 | [0, 0, 0, 0],
362 | [0, 0, 0, 0],
363 | [0, 0, 0, 0],
364 | [0, 0, 0, 0],
365 | [0, 0, 0, 0],
366 | [0, 0, 0, 0],
367 | [0, 0, 0, 0],
368 | [0, 0, 0, 0],
369 | [0, 0, 0, 0],
370 | [0, 0, 0, 0],
371 | [3, -3, 1, 6],
372 | [3, -2, 1, 6],
373 | [3, -1, 1, 6],
374 | [3, 0, 1, 6],
375 | [3, 1, 1, 6],
376 | [3, 2, 1, 6],
377 | [3, 3, 1, 6],
378 | [3, 4, 1, 6],
379 | [3, 5, 1, 6],
380 | [3, 6, 1, 6],
381 | [3, 7, 1, 6],
382 | [3, 8, 1, 6],
383 | [3, 9, 1, 6],
384 | [3, 10, 1, 6],
385 | [3, 11, 1, 6],
386 | [3, 12, 1, 6],
387 | [3, 12, 1, 6],
388 | [3, 12, 1, 6],
389 | [3, 12, 1, 6],
390 | [3, 12, 1, 6],
391 | [3, 12, 1, 6],
392 | [3, 12, 1, 6],
393 | [3, 12, 1, 6],
394 | [3, 12, 1, 6],
395 | [3, 12, 1, 6]
396 | ],[
397 | [0, 0, 0, 0],
398 | [0, 0, 0, 0],
399 | [0, 0, 0, 0],
400 | [0, 0, 0, 0],
401 | [0, 0, 0, 0],
402 | [0, 0, 0, 0],
403 | [0, 0, 0, 0],
404 | [0, 0, 0, 0],
405 | [0, 0, 0, 0],
406 | [0, 0, 0, 0],
407 | [0, 0, 0, 0],
408 | [0, 0, 0, 0],
409 | [0, 0, 0, 0],
410 | [0, 0, 0, 0],
411 | [0, 0, 0, 0],
412 | [0, 0, 0, 0],
413 | [0, 0, 0, 0],
414 | [0, 0, 0, 0],
415 | [0, 0, 0, 0],
416 | [0, 0, 0, 0],
417 | [0, 0, 0, 0],
418 | [0, 0, 0, 0],
419 | [0, 0, 0, 0],
420 | [0, 0, 0, 0],
421 | [0, 0, 0, 0],
422 | [0, -3, 1, 6],
423 | [0, -2, 1, 6],
424 | [0, -1, 1, 6],
425 | [0, 0, 1, 6],
426 | [0, 1, 1, 6],
427 | [0, 2, 1, 6],
428 | [0, 3, 1, 6],
429 | [0, 4, 1, 6],
430 | [0, 5, 1, 6],
431 | [0, 6, 1, 6],
432 | [0, 7, 1, 6],
433 | [0, 8, 1, 6],
434 | [-1, 9, 1, 6],
435 | [-1, 10, 1, 6],
436 | [-1, 11, 1, 6],
437 | [-1, 11, 1, 6],
438 | [-1, 11, 1, 6],
439 | [-1, 11, 1, 6],
440 | [-1, 11, 1, 6],
441 | [-1, 11, 1, 6],
442 | [-1, 11, 1, 6],
443 | [-1, 11, 1, 6],
444 | [-1, 11, 1, 6]
445 | ],[
446 | [0, 0, 0, 0],
447 | [0, 0, 0, 0],
448 | [0, 0, 0, 0],
449 | [0, 0, 0, 0],
450 | [0, 0, 0, 0],
451 | [0, 0, 0, 0],
452 | [0, 0, 0, 0],
453 | [0, 0, 0, 0],
454 | [0, 0, 0, 0],
455 | [0, 0, 0, 0],
456 | [0, 0, 0, 0],
457 | [0, 0, 0, 0],
458 | [0, 0, 0, 0],
459 | [0, 0, 0, 0],
460 | [0, 0, 0, 0],
461 | [0, 0, 0, 0],
462 | [0, 0, 0, 0],
463 | [0, 0, 0, 0],
464 | [0, 0, 0, 0],
465 | [0, 0, 0, 0],
466 | [0, 0, 0, 0],
467 | [0, 0, 0, 0],
468 | [0, 0, 0, 0],
469 | [0, 0, 0, 0],
470 | [0, 0, 0, 0],
471 | [0, 0, 0, 0],
472 | [0, 0, 0, 0],
473 | [0, 0, 0, 0],
474 | [2, -3, 0, 2],
475 | [2, -2, 0, 2],
476 | [2, -1, 0, 2],
477 | [2, 0, 0, 2],
478 | [2, 1, 0, 2],
479 | [2, 2, 0, 2],
480 | [2, 3, 1, 2],
481 | [2, 4, 1, 2],
482 | [2, 5, 2, 2],
483 | [2, 6, 2, 2],
484 | [2, 7, 3, 2],
485 | [2, 8, 3, 2],
486 | [2, 9, 3, 2],
487 | [2, 10, 3, 2],
488 | [2, 10, 3, 2],
489 | [2, 10, 3, 2],
490 | [2, 10, 3, 2],
491 | [2, 10, 3, 2],
492 | [2, 10, 3, 2],
493 | [2, 10, 3, 2]
494 | ],[
495 | [0, 0, 0, 0],
496 | [0, 0, 0, 0],
497 | [0, 0, 0, 0],
498 | [0, 0, 0, 0],
499 | [0, 0, 0, 0],
500 | [0, 0, 0, 0],
501 | [0, 0, 0, 0],
502 | [0, 0, 0, 0],
503 | [0, 0, 0, 0],
504 | [0, 0, 0, 0],
505 | [0, 0, 0, 0],
506 | [0, 0, 0, 0],
507 | [0, 0, 0, 0],
508 | [0, 0, 0, 0],
509 | [0, 0, 0, 0],
510 | [0, 0, 0, 0],
511 | [0, 0, 0, 0],
512 | [0, 0, 0, 0],
513 | [0, 0, 0, 0],
514 | [0, 0, 0, 0],
515 | [0, 0, 0, 0],
516 | [0, 0, 0, 0],
517 | [0, 0, 0, 0],
518 | [0, 0, 0, 0],
519 | [0, 0, 0, 0],
520 | [0, 0, 0, 0],
521 | [0, 0, 0, 0],
522 | [0, 0, 0, 0],
523 | [0, 0, 0, 0],
524 | [0, 0, 0, 0],
525 | [0, 0, 0, 0],
526 | [0, 0, 0, 0],
527 | [0, -3, 0, 7],
528 | [0, -2, 0, 7],
529 | [0, -1, 0, 7],
530 | [0, 0, 0, 7],
531 | [0, 1, 0, 7],
532 | [0, 2, 0, 7],
533 | [0, 3, 0, 7],
534 | [-1, 4, 0, 7],
535 | [-1, 5, 0, 7],
536 | [-1, 6, 0, 7],
537 | [-1, 7, 0, 7],
538 | [-1, 8, 0, 7],
539 | [-1, 9, 0, 7],
540 | [-1, 9, 0, 7],
541 | [-1, 9, 0, 7],
542 | [-1, 9, 0, 7]
543 | ],[
544 | [0, 0, 0, 0],
545 | [0, 0, 0, 0],
546 | [0, 0, 0, 0],
547 | [0, 0, 0, 0],
548 | [0, 0, 0, 0],
549 | [0, 0, 0, 0],
550 | [0, 0, 0, 0],
551 | [0, 0, 0, 0],
552 | [0, 0, 0, 0],
553 | [0, 0, 0, 0],
554 | [0, 0, 0, 0],
555 | [0, 0, 0, 0],
556 | [0, 0, 0, 0],
557 | [0, 0, 0, 0],
558 | [0, 0, 0, 0],
559 | [0, 0, 0, 0],
560 | [0, 0, 0, 0],
561 | [0, 0, 0, 0],
562 | [0, 0, 0, 0],
563 | [0, 0, 0, 0],
564 | [0, 0, 0, 0],
565 | [0, 0, 0, 0],
566 | [0, 0, 0, 0],
567 | [0, 0, 0, 0],
568 | [0, 0, 0, 0],
569 | [0, 0, 0, 0],
570 | [0, 0, 0, 0],
571 | [0, 0, 0, 0],
572 | [0, 0, 0, 0],
573 | [0, 0, 0, 0],
574 | [0, 0, 0, 0],
575 | [0, 0, 0, 0],
576 | [0, 0, 0, 0],
577 | [0, 0, 0, 0],
578 | [0, 0, 0, 0],
579 | [3, -4, 1, 1],
580 | [3, -3, 1, 1],
581 | [3, -2, 1, 1],
582 | [3, -1, 1, 1],
583 | [3, 0, 1, 1],
584 | [3, 1, 1, 1],
585 | [3, 2, 0, 1],
586 | [2, 3, 0, 1],
587 | [2, 4, 0, 1],
588 | [2, 5, 0, 1],
589 | [2, 6, 0, 1],
590 | [2, 7, 0, 1],
591 | [2, 8, 0, 1]
592 | ]
593 | ]
594 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/numbers/tetris_number1.json:
--------------------------------------------------------------------------------
1 | [
2 | [2,5,4,3,6],
3 | [
4 | [
5 | [1, -3, 0, 4],
6 | [1, -2, 0, 4],
7 | [1, -1, 0, 4],
8 | [1, 0, 0, 4],
9 | [1, 1, 0, 4],
10 | [1, 2, 0, 4],
11 | [1, 3, 0, 4],
12 | [1, 4, 0, 4],
13 | [1, 5, 0, 4],
14 | [1, 6, 0, 4],
15 | [2, 7, 0, 4],
16 | [2, 8, 0, 4],
17 | [2, 9, 0, 4],
18 | [2, 10, 0, 4],
19 | [2, 11, 0, 4],
20 | [2, 12, 0, 4],
21 | [2, 13, 0, 4],
22 | [2, 14, 0, 4],
23 | [2, 15, 0, 4],
24 | [3, 16, 0, 4],
25 | [3, 17, 0, 4],
26 | [3, 17, 0, 4],
27 | [3, 17, 0, 4],
28 | [3, 17, 0, 4],
29 | [3, 17, 0, 4],
30 | [3, 17, 0, 4],
31 | [3, 17, 0, 4],
32 | [3, 17, 0, 4],
33 | [3, 17, 0, 4],
34 | [3, 17, 0, 4]
35 | ], [
36 | [0, 0, 0, 0],
37 | [0, 0, 0, 0],
38 | [0, 0, 0, 0],
39 | [1, -4, 1, 3],
40 | [1, -3, 1, 3],
41 | [1, -2, 1, 3],
42 | [1, -1, 1, 3],
43 | [1, 0, 1, 3],
44 | [1, 1, 1, 3],
45 | [1, 2, 1, 3],
46 | [1, 3, 1, 3],
47 | [1, 4, 1, 3],
48 | [1, 5, 1, 3],
49 | [1, 6, 1, 3],
50 | [1, 7, 1, 3],
51 | [1, 8, 1, 3],
52 | [1, 9, 1, 3],
53 | [1, 10, 1, 3],
54 | [1, 11, 1, 3],
55 | [1, 12, 1, 3],
56 | [1, 13, 0, 3],
57 | [2, 14, 0, 3],
58 | [3, 15, 0, 3],
59 | [3, 15, 0, 3],
60 | [3, 15, 0, 3],
61 | [3, 15, 0, 3],
62 | [3, 15, 0, 3],
63 | [3, 15, 0, 3],
64 | [3, 15, 0, 3],
65 | [3, 15, 0, 3]
66 | ],[
67 | [0, 0, 0, 0],
68 | [0, 0, 0, 0],
69 | [0, 0, 0, 0],
70 | [0, 0, 0, 0],
71 | [0, 0, 0, 0],
72 | [0, 0, 0, 0],
73 | [0, 0, 0, 0],
74 | [0, 0, 0, 0],
75 | [1, -3, 0, 1],
76 | [1, -2, 0, 1],
77 | [1, -1, 0, 1],
78 | [1, 0, 0, 1],
79 | [1, 1, 0, 1],
80 | [1, 2, 0, 1],
81 | [1, 3, 0, 1],
82 | [1, 4, 0, 1],
83 | [1, 5, 0, 1],
84 | [1, 6, 0, 1],
85 | [2, 7, 0, 1],
86 | [2, 8, 1, 1],
87 | [3, 9, 1, 1],
88 | [4, 10, 1, 1],
89 | [4, 11, 1, 1],
90 | [4, 12, 1, 1],
91 | [4, 13, 1, 1],
92 | [4, 13, 1, 1],
93 | [4, 13, 1, 1],
94 | [4, 13, 1, 1],
95 | [4, 13, 1, 1],
96 | [4, 13, 1, 1]
97 | ],[
98 | [0, 0, 0, 0],
99 | [0, 0, 0, 0],
100 | [0, 0, 0, 0],
101 | [0, 0, 0, 0],
102 | [0, 0, 0, 0],
103 | [0, 0, 0, 0],
104 | [0, 0, 0, 0],
105 | [0, 0, 0, 0],
106 | [0, 0, 0, 0],
107 | [0, 0, 0, 0],
108 | [0, 0, 0, 0],
109 | [0, 0, 0, 0],
110 | [0, 0, 0, 0],
111 | [1, -3, 1, 2],
112 | [1, -2, 1, 2],
113 | [1, -1, 1, 2],
114 | [1, 0, 1, 2],
115 | [1, 1, 1, 2],
116 | [1, 2, 1, 2],
117 | [1, 3, 1, 2],
118 | [1, 4, 1, 2],
119 | [1, 5, 1, 2],
120 | [2, 6, 1, 2],
121 | [2, 7, 1, 2],
122 | [3, 8, 2, 2],
123 | [3, 9, 2, 2],
124 | [3, 10, 2, 2],
125 | [3, 11, 2, 2],
126 | [3, 12, 2, 2],
127 | [3, 12, 2, 2]
128 | ], [
129 | [0, 0, 0, 0],
130 | [0, 0, 0, 0],
131 | [0, 0, 0, 0],
132 | [0, 0, 0, 0],
133 | [0, 0, 0, 0],
134 | [0, 0, 0, 0],
135 | [0, 0, 0, 0],
136 | [0, 0, 0, 0],
137 | [0, 0, 0, 0],
138 | [0, 0, 0, 0],
139 | [0, 0, 0, 0],
140 | [0, 0, 0, 0],
141 | [0, 0, 0, 0],
142 | [0, 0, 0, 0],
143 | [0, 0, 0, 0],
144 | [0, 0, 0, 0],
145 | [1, -3, 0, 4],
146 | [1, -3, 0, 4],
147 | [1, -2, 0, 4],
148 | [1, -1, 0, 4],
149 | [1, 0, 0, 4],
150 | [1, 1, 0, 4],
151 | [2, 2, 0, 4],
152 | [2, 3, 0, 4],
153 | [2, 4, 0, 4],
154 | [3, 5, 0, 4],
155 | [3, 6, 0, 4],
156 | [3, 7, 0, 4],
157 | [3, 8, 0, 4],
158 | [3, 9, 0, 4]
159 | ]
160 | ]
161 | ]
162 |
--------------------------------------------------------------------------------
/tetris_clock/assets/numbers/tetris_number2.json:
--------------------------------------------------------------------------------
1 | [
2 | [2,5,7,4,6,2,3,4,5,7,3],
3 | [
4 | [
5 | [0, -3, 1, 2],
6 | [0, -2, 1, 2],
7 | [0, -1, 1, 2],
8 | [0, 0, 1, 2],
9 | [0, 1, 1, 2],
10 | [0, 2, 1, 2],
11 | [0, 3, 1, 2],
12 | [0, 4, 1, 2],
13 | [0, 5, 1, 2],
14 | [0, 6, 1, 2],
15 | [0, 7, 1, 2],
16 | [0, 8, 1, 2],
17 | [0, 9, 1, 2],
18 | [0, 10, 1, 2],
19 | [0, 11, 1, 2],
20 | [0, 12, 1, 2],
21 | [0, 13, 1, 2],
22 | [0, 14, 1, 2],
23 | [0, 15, 1, 2],
24 | [0, 16, 1, 2],
25 | [-1, 17, 1, 2],
26 | [-1, 17, 1, 2],
27 | [-1, 17, 1, 2],
28 | [-1, 17, 1, 2],
29 | [-1, 17, 1, 2],
30 | [-1, 17, 1, 2],
31 | [-1, 17, 1, 2],
32 | [-1, 17, 1, 2],
33 | [-1, 17, 1, 2],
34 | [-1, 17, 1, 2],
35 | [-1, 17, 1, 2],
36 | [-1, 17, 1, 2],
37 | [-1, 17, 1, 2],
38 | [-1, 17, 1, 2],
39 | [-1, 17, 1, 2],
40 | [-1, 17, 1, 2],
41 | [-1, 17, 1, 2],
42 | [-1, 17, 1, 2],
43 | [-1, 17, 1, 2],
44 | [-1, 17, 1, 2],
45 | [-1, 17, 1, 2],
46 | [-1, 17, 1, 2],
47 | [-1, 17, 1, 2],
48 | [-1, 17, 1, 2],
49 | [-1, 17, 1, 2],
50 | [-1, 17, 1, 2],
51 | [-1, 17, 1, 2],
52 | [-1, 17, 1, 2],
53 | [-1, 17, 1, 2],
54 | [-1, 17, 1, 2],
55 | [-1, 17, 1, 2]
56 | ],[
57 | [0, 0, 0, 0],
58 | [0, 0, 0, 0],
59 | [0, 0, 0, 0],
60 | [2, -3, 3, 3],
61 | [2, -2, 3, 3],
62 | [2, -1, 3, 3],
63 | [2, 0, 3, 3],
64 | [2, 1, 3, 3],
65 | [2, 2, 3, 3],
66 | [2, 3, 3, 3],
67 | [2, 4, 3, 3],
68 | [2, 5, 3, 3],
69 | [2, 6, 3, 3],
70 | [2, 7, 3, 3],
71 | [2, 8, 3, 3],
72 | [2, 9, 3, 3],
73 | [2, 10, 3, 3],
74 | [2, 11, 3, 3],
75 | [2, 12, 3, 3],
76 | [2, 13, 3, 3],
77 | [2, 14, 3, 3],
78 | [2, 15, 3, 3],
79 | [2, 16, 3, 3],
80 | [2, 17, 3, 3],
81 | [2, 17, 3, 3],
82 | [2, 17, 3, 3],
83 | [2, 17, 3, 3],
84 | [2, 17, 3, 3],
85 | [2, 17, 3, 3],
86 | [2, 17, 3, 3],
87 | [2, 17, 3, 3],
88 | [2, 17, 3, 3],
89 | [2, 17, 3, 3],
90 | [2, 17, 3, 3],
91 | [2, 17, 3, 3],
92 | [2, 17, 3, 3],
93 | [2, 17, 3, 3],
94 | [2, 17, 3, 3],
95 | [2, 17, 3, 3],
96 | [2, 17, 3, 3],
97 | [2, 17, 3, 3],
98 | [2, 17, 3, 3],
99 | [2, 17, 3, 3],
100 | [2, 17, 3, 3],
101 | [2, 17, 3, 3],
102 | [2, 17, 3, 3],
103 | [2, 17, 3, 3],
104 | [2, 17, 3, 3],
105 | [2, 17, 3, 3],
106 | [2, 17, 3, 3],
107 | [2, 17, 3, 3]
108 | ],[
109 | [0, 0, 0, 0],
110 | [0, 0, 0, 0],
111 | [0, 0, 0, 0],
112 | [0, 0, 0, 0],
113 | [0, 0, 0, 0],
114 | [0, 0, 0, 0],
115 | [0, 0, 0, 0],
116 | [1, -3, 0, 1],
117 | [1, -2, 0, 1],
118 | [1, -1, 0, 1],
119 | [1, 0, 0, 1],
120 | [1, 1, 0, 1],
121 | [1, 2, 0, 1],
122 | [1, 3, 0, 1],
123 | [1, 4, 0, 1],
124 | [1, 5, 0, 1],
125 | [1, 6, 0, 1],
126 | [1, 7, 0, 1],
127 | [1, 8, 0, 1],
128 | [1, 9, 0, 1],
129 | [1, 10, 0, 1],
130 | [1, 11, 0, 1],
131 | [1, 12, 0, 1],
132 | [1, 13, 0, 1],
133 | [1, 14, 0, 1],
134 | [1, 15, 0, 1],
135 | [1, 16, 0, 1],
136 | [1, 16, 0, 1],
137 | [1, 16, 0, 1],
138 | [1, 16, 0, 1],
139 | [1, 16, 0, 1],
140 | [1, 16, 0, 1],
141 | [1, 16, 0, 1],
142 | [1, 16, 0, 1],
143 | [1, 16, 0, 1],
144 | [1, 16, 0, 1],
145 | [1, 16, 0, 1],
146 | [1, 16, 0, 1],
147 | [1, 16, 0, 1],
148 | [1, 16, 0, 1],
149 | [1, 16, 0, 1],
150 | [1, 16, 0, 1],
151 | [1, 16, 0, 1],
152 | [1, 16, 0, 1],
153 | [1, 16, 0, 1],
154 | [1, 16, 0, 1],
155 | [1, 16, 0, 1],
156 | [1, 16, 0, 1],
157 | [1, 16, 0, 1],
158 | [1, 16, 0, 1],
159 | [1, 16, 0, 1]
160 | ],[
161 | [0, 0, 0, 0],
162 | [0, 0, 0, 0],
163 | [0, 0, 0, 0],
164 | [0, 0, 0, 0],
165 | [0, 0, 0, 0],
166 | [0, 0, 0, 0],
167 | [0, 0, 0, 0],
168 | [0, 0, 0, 0],
169 | [0, 0, 0, 0],
170 | [0, 0, 0, 0],
171 | [0, 0, 0, 0],
172 | [0, -3, 0, 3],
173 | [0, -2, 0, 3],
174 | [0, -1, 0, 3],
175 | [-1, 0, 0, 3],
176 | [-1, 1, 0, 3],
177 | [-1, 2, 0, 3],
178 | [-1, 3, 0, 3],
179 | [-1, 4, 0, 3],
180 | [-1, 5, 0, 3],
181 | [-1, 6, 0, 3],
182 | [-1, 7, 0, 3],
183 | [-1, 8, 0, 3],
184 | [-1, 9, 0, 3],
185 | [-1, 10, 0, 3],
186 | [-1, 11, 0, 3],
187 | [-1, 12, 0, 3],
188 | [-1, 13, 0, 3],
189 | [-1, 14, 0, 3],
190 | [-1, 15, 0, 3],
191 | [-1, 15, 0, 3],
192 | [-1, 15, 0, 3],
193 | [-1, 15, 0, 3],
194 | [-1, 15, 0, 3],
195 | [-1, 15, 0, 3],
196 | [-1, 15, 0, 3],
197 | [-1, 15, 0, 3],
198 | [-1, 15, 0, 3],
199 | [-1, 15, 0, 3],
200 | [-1, 15, 0, 3],
201 | [-1, 15, 0, 3],
202 | [-1, 15, 0, 3],
203 | [-1, 15, 0, 3],
204 | [-1, 15, 0, 3],
205 | [-1, 15, 0, 3],
206 | [-1, 15, 0, 3],
207 | [-1, 15, 0, 3],
208 | [-1, 15, 0, 3],
209 | [-1, 15, 0, 3],
210 | [-1, 15, 0, 3],
211 | [-1, 15, 0, 3]
212 | ],[
213 | [0, 0, 0, 0],
214 | [0, 0, 0, 0],
215 | [0, 0, 0, 0],
216 | [0, 0, 0, 0],
217 | [0, 0, 0, 0],
218 | [0, 0, 0, 0],
219 | [0, 0, 0, 0],
220 | [0, 0, 0, 0],
221 | [0, 0, 0, 0],
222 | [0, 0, 0, 0],
223 | [0, 0, 0, 0],
224 | [0, 0, 0, 0],
225 | [0, 0, 0, 0],
226 | [0, 0, 0, 0],
227 | [0, 0, 0, 0],
228 | [1, -3, 0, 3],
229 | [1, -2, 0, 3],
230 | [1, -1, 0, 3],
231 | [1, 0, 0, 3],
232 | [1, 1, 0, 3],
233 | [1, 2, 0, 3],
234 | [1, 3, 0, 3],
235 | [1, 4, 0, 3],
236 | [1, 5, 0, 3],
237 | [1, 6, 0, 3],
238 | [0, 7, 0, 3],
239 | [0, 8, 0, 3],
240 | [0, 9, 1, 3],
241 | [0, 10, 1, 3],
242 | [0, 11, 1, 3],
243 | [0, 12, 1, 3],
244 | [0, 13, 1, 3],
245 | [0, 14, 1, 3],
246 | [0, 14, 1, 3],
247 | [0, 14, 1, 3],
248 | [0, 14, 1, 3],
249 | [0, 14, 1, 3],
250 | [0, 14, 1, 3],
251 | [0, 14, 1, 3],
252 | [0, 14, 1, 3],
253 | [0, 14, 1, 3],
254 | [0, 14, 1, 3],
255 | [0, 14, 1, 3],
256 | [0, 14, 1, 3],
257 | [0, 14, 1, 3],
258 | [0, 14, 1, 3],
259 | [0, 14, 1, 3],
260 | [0, 14, 1, 3],
261 | [0, 14, 1, 3],
262 | [0, 14, 1, 3],
263 | [0, 14, 1, 3]
264 | ],[
265 | [0, 0, 0, 0],
266 | [0, 0, 0, 0],
267 | [0, 0, 0, 0],
268 | [0, 0, 0, 0],
269 | [0, 0, 0, 0],
270 | [0, 0, 0, 0],
271 | [0, 0, 0, 0],
272 | [0, 0, 0, 0],
273 | [0, 0, 0, 0],
274 | [0, 0, 0, 0],
275 | [0, 0, 0, 0],
276 | [0, 0, 0, 0],
277 | [0, 0, 0, 0],
278 | [0, 0, 0, 0],
279 | [0, 0, 0, 0],
280 | [0, 0, 0, 0],
281 | [0, 0, 0, 0],
282 | [0, 0, 0, 0],
283 | [0, 0, 0, 0],
284 | [3, -4, 1, 1],
285 | [3, -3, 1, 1],
286 | [3, -2, 1, 1],
287 | [3, -1, 1, 1],
288 | [3, 0, 1, 1],
289 | [3, 1, 1, 1],
290 | [3, 2, 1, 1],
291 | [3, 3, 1, 1],
292 | [3, 4, 1, 1],
293 | [3, 5, 1, 1],
294 | [3, 6, 1, 1],
295 | [3, 7, 1, 1],
296 | [3, 8, 1, 1],
297 | [3, 9, 1, 1],
298 | [3, 10, 1, 1],
299 | [3, 11, 1, 1],
300 | [3, 12, 1, 1],
301 | [3, 12, 1, 1],
302 | [3, 12, 1, 1],
303 | [3, 12, 1, 1],
304 | [3, 12, 1, 1],
305 | [3, 12, 1, 1],
306 | [3, 12, 1, 1],
307 | [3, 12, 1, 1],
308 | [3, 12, 1, 1],
309 | [3, 12, 1, 1],
310 | [3, 12, 1, 1],
311 | [3, 12, 1, 1],
312 | [3, 12, 1, 1],
313 | [3, 12, 1, 1],
314 | [3, 12, 1, 1],
315 | [3, 12, 1, 1]
316 | ],[
317 | [0, 0, 0, 0],
318 | [0, 0, 0, 0],
319 | [0, 0, 0, 0],
320 | [0, 0, 0, 0],
321 | [0, 0, 0, 0],
322 | [0, 0, 0, 0],
323 | [0, 0, 0, 0],
324 | [0, 0, 0, 0],
325 | [0, 0, 0, 0],
326 | [0, 0, 0, 0],
327 | [0, 0, 0, 0],
328 | [0, 0, 0, 0],
329 | [0, 0, 0, 0],
330 | [0, 0, 0, 0],
331 | [0, 0, 0, 0],
332 | [0, 0, 0, 0],
333 | [0, 0, 0, 0],
334 | [0, 0, 0, 0],
335 | [0, 0, 0, 0],
336 | [0, 0, 0, 0],
337 | [0, 0, 0, 0],
338 | [0, 0, 0, 0],
339 | [0, -4, 1, 1],
340 | [0, -3, 1, 1],
341 | [0, -2, 1, 1],
342 | [0, -1, 1, 1],
343 | [0, 0, 1, 1],
344 | [0, 1, 1, 1],
345 | [0, 2, 1, 1],
346 | [0, 3, 1, 1],
347 | [0, 4, 1, 1],
348 | [0, 5, 1, 1],
349 | [0, 6, 1, 1],
350 | [0, 7, 1, 1],
351 | [0, 8, 0, 1],
352 | [0, 9, 0, 1],
353 | [0, 10, 0, 1],
354 | [0, 11, 0, 1],
355 | [0, 12, 0, 1],
356 | [0, 12, 0, 1],
357 | [0, 12, 0, 1],
358 | [0, 12, 0, 1],
359 | [0, 12, 0, 1],
360 | [0, 12, 0, 1],
361 | [0, 12, 0, 1],
362 | [0, 12, 0, 1],
363 | [0, 12, 0, 1],
364 | [0, 12, 0, 1],
365 | [0, 12, 0, 1],
366 | [0, 12, 0, 1],
367 | [0, 12, 0, 1]
368 | ],[
369 | [0, 0, 0, 0],
370 | [0, 0, 0, 0],
371 | [0, 0, 0, 0],
372 | [0, 0, 0, 0],
373 | [0, 0, 0, 0],
374 | [0, 0, 0, 0],
375 | [0, 0, 0, 0],
376 | [0, 0, 0, 0],
377 | [0, 0, 0, 0],
378 | [0, 0, 0, 0],
379 | [0, 0, 0, 0],
380 | [0, 0, 0, 0],
381 | [0, 0, 0, 0],
382 | [0, 0, 0, 0],
383 | [0, 0, 0, 0],
384 | [0, 0, 0, 0],
385 | [0, 0, 0, 0],
386 | [0, 0, 0, 0],
387 | [0, 0, 0, 0],
388 | [0, 0, 0, 0],
389 | [0, 0, 0, 0],
390 | [0, 0, 0, 0],
391 | [0, 0, 0, 0],
392 | [0, 0, 0, 0],
393 | [0, 0, 0, 0],
394 | [3, -4, 1, 1],
395 | [3, -3, 1, 1],
396 | [3, -2, 1, 1],
397 | [3, -1, 1, 1],
398 | [3, 0, 1, 1],
399 | [3, 1, 1, 1],
400 | [3, 2, 1, 1],
401 | [3, 3, 1, 1],
402 | [3, 4, 1, 1],
403 | [4, 5, 1, 1],
404 | [4, 6, 1, 1],
405 | [4, 7, 1, 1],
406 | [4, 8, 1, 1],
407 | [4, 9, 1, 1],
408 | [4, 10, 1, 1],
409 | [4, 11, 1, 1],
410 | [4, 12, 1, 1],
411 | [4, 12, 1, 1],
412 | [4, 12, 1, 1],
413 | [4, 12, 1, 1],
414 | [4, 12, 1, 1],
415 | [4, 12, 1, 1],
416 | [4, 12, 1, 1],
417 | [4, 12, 1, 1],
418 | [4, 12, 1, 1],
419 | [4, 12, 1, 1]
420 | ],[
421 | [0, 0, 0, 0],
422 | [0, 0, 0, 0],
423 | [0, 0, 0, 0],
424 | [0, 0, 0, 0],
425 | [0, 0, 0, 0],
426 | [0, 0, 0, 0],
427 | [0, 0, 0, 0],
428 | [0, 0, 0, 0],
429 | [0, 0, 0, 0],
430 | [0, 0, 0, 0],
431 | [0, 0, 0, 0],
432 | [0, 0, 0, 0],
433 | [0, 0, 0, 0],
434 | [0, 0, 0, 0],
435 | [0, 0, 0, 0],
436 | [0, 0, 0, 0],
437 | [0, 0, 0, 0],
438 | [0, 0, 0, 0],
439 | [0, 0, 0, 0],
440 | [0, 0, 0, 0],
441 | [0, 0, 0, 0],
442 | [0, 0, 0, 0],
443 | [0, 0, 0, 0],
444 | [0, 0, 0, 0],
445 | [0, 0, 0, 0],
446 | [0, 0, 0, 0],
447 | [0, 0, 0, 0],
448 | [0, 0, 0, 0],
449 | [0, 0, 0, 0],
450 | [0, 0, 0, 0],
451 | [0, 0, 0, 0],
452 | [0, 0, 0, 0],
453 | [1, -3, 1, 2],
454 | [1, -2, 1, 2],
455 | [1, -1, 1, 2],
456 | [1, 0, 1, 2],
457 | [1, 1, 1, 2],
458 | [1, 2, 1, 2],
459 | [1, 3, 1, 2],
460 | [1, 4, 1, 2],
461 | [1, 5, 1, 2],
462 | [1, 6, 1, 2],
463 | [1, 7, 1, 2],
464 | [1, 8, 1, 2],
465 | [1, 9, 1, 2],
466 | [1, 9, 1, 2],
467 | [1, 9, 1, 2],
468 | [1, 9, 1, 2],
469 | [1, 9, 1, 2],
470 | [1, 9, 1, 2],
471 | [1, 9, 1, 2]
472 | ],[
473 | [0, 0, 0, 0],
474 | [0, 0, 0, 0],
475 | [0, 0, 0, 0],
476 | [0, 0, 0, 0],
477 | [0, 0, 0, 0],
478 | [0, 0, 0, 0],
479 | [0, 0, 0, 0],
480 | [0, 0, 0, 0],
481 | [0, 0, 0, 0],
482 | [0, 0, 0, 0],
483 | [0, 0, 0, 0],
484 | [0, 0, 0, 0],
485 | [0, 0, 0, 0],
486 | [0, 0, 0, 0],
487 | [0, 0, 0, 0],
488 | [0, 0, 0, 0],
489 | [0, 0, 0, 0],
490 | [0, 0, 0, 0],
491 | [0, 0, 0, 0],
492 | [0, 0, 0, 0],
493 | [0, 0, 0, 0],
494 | [0, 0, 0, 0],
495 | [0, 0, 0, 0],
496 | [0, 0, 0, 0],
497 | [0, 0, 0, 0],
498 | [0, 0, 0, 0],
499 | [0, 0, 0, 0],
500 | [0, 0, 0, 0],
501 | [0, 0, 0, 0],
502 | [0, 0, 0, 0],
503 | [0, 0, 0, 0],
504 | [0, 0, 0, 0],
505 | [0, 0, 0, 0],
506 | [0, 0, 0, 0],
507 | [0, 0, 0, 0],
508 | [-1, -3, 0, 4],
509 | [-1, -2, 0, 4],
510 | [-1, -1, 0, 4],
511 | [-1, 0, 0, 4],
512 | [-1, 1, 0, 4],
513 | [-1, 2, 0, 4],
514 | [-1, 3, 0, 4],
515 | [-1, 4, 0, 4],
516 | [-1, 5, 0, 4],
517 | [-1, 6, 0, 4],
518 | [-1, 7, 0, 4],
519 | [-1, 8, 0, 4],
520 | [-1, 9, 0, 4],
521 | [-1, 9, 0, 4],
522 | [-1, 9, 0, 4],
523 | [-1, 9, 0, 4]
524 | ],[
525 | [0, 0, 0, 0],
526 | [0, 0, 0, 0],
527 | [0, 0, 0, 0],
528 | [0, 0, 0, 0],
529 | [0, 0, 0, 0],
530 | [0, 0, 0, 0],
531 | [0, 0, 0, 0],
532 | [0, 0, 0, 0],
533 | [0, 0, 0, 0],
534 | [0, 0, 0, 0],
535 | [0, 0, 0, 0],
536 | [0, 0, 0, 0],
537 | [0, 0, 0, 0],
538 | [0, 0, 0, 0],
539 | [0, 0, 0, 0],
540 | [0, 0, 0, 0],
541 | [0, 0, 0, 0],
542 | [0, 0, 0, 0],
543 | [0, 0, 0, 0],
544 | [0, 0, 0, 0],
545 | [0, 0, 0, 0],
546 | [0, 0, 0, 0],
547 | [0, 0, 0, 0],
548 | [0, 0, 0, 0],
549 | [0, 0, 0, 0],
550 | [0, 0, 0, 0],
551 | [0, 0, 0, 0],
552 | [0, 0, 0, 0],
553 | [0, 0, 0, 0],
554 | [0, 0, 0, 0],
555 | [0, 0, 0, 0],
556 | [0, 0, 0, 0],
557 | [0, 0, 0, 0],
558 | [0, 0, 0, 0],
559 | [0, 0, 0, 0],
560 | [0, 0, 0, 0],
561 | [0, 0, 0, 0],
562 | [0, 0, 0, 0],
563 | [1, -3, 2, 2],
564 | [1, -2, 2, 2],
565 | [1, -1, 2, 2],
566 | [1, 0, 2, 2],
567 | [1, 1, 2, 2],
568 | [1, 2, 2, 2],
569 | [1, 3, 3, 2],
570 | [1, 4, 3, 2],
571 | [2, 5, 3, 2],
572 | [2, 6, 3, 2],
573 | [2, 7, 3, 2],
574 | [2, 8, 3, 2],
575 | [2, 9, 3, 2]
576 | ]
577 | ]
578 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/numbers/tetris_number3.json:
--------------------------------------------------------------------------------
1 | [
2 | [5,3,4,7,6,5,3,2,7,6,2],
3 | [
4 | [
5 | [1, -3, 0, 1],
6 | [1, -2, 0, 1],
7 | [1, -1, 0, 1],
8 | [1, 0, 0, 1],
9 | [1, 1, 0, 1],
10 | [1, 2, 0, 1],
11 | [1, 3, 0, 1],
12 | [1, 4, 0, 1],
13 | [1, 5, 0, 1],
14 | [1, 6, 0, 1],
15 | [1, 7, 0, 1],
16 | [1, 8, 0, 1],
17 | [1, 9, 0, 1],
18 | [1, 10, 0, 1],
19 | [1, 11, 0, 1],
20 | [1, 12, 0, 1],
21 | [1, 13, 0, 1],
22 | [1, 14, 0, 1],
23 | [1, 15, 0, 1],
24 | [1, 16, 0, 1],
25 | [1, 17, 0, 1],
26 | [1, 17, 0, 1],
27 | [1, 17, 0, 1],
28 | [1, 17, 0, 1],
29 | [1, 17, 0, 1],
30 | [1, 17, 0, 1],
31 | [1, 17, 0, 1],
32 | [1, 17, 0, 1],
33 | [1, 17, 0, 1],
34 | [1, 17, 0, 1],
35 | [1, 17, 0, 1],
36 | [1, 17, 0, 1],
37 | [1, 17, 0, 1],
38 | [1, 17, 0, 1],
39 | [1, 17, 0, 1],
40 | [1, 17, 0, 1],
41 | [1, 17, 0, 1],
42 | [1, 17, 0, 1],
43 | [1, 17, 0, 1],
44 | [1, 17, 0, 1],
45 | [1, 17, 0, 1],
46 | [1, 17, 0, 1],
47 | [1, 17, 0, 1],
48 | [1, 17, 0, 1],
49 | [1, 17, 0, 1],
50 | [1, 17, 0, 1],
51 | [1, 17, 0, 1],
52 | [1, 17, 0, 1],
53 | [1, 17, 0, 1],
54 | [1, 17, 0, 1],
55 | [1, 17, 0, 1]
56 | ], [
57 | [0, 0, 0, 0],
58 | [0, 0, 0, 0],
59 | [0, 0, 0, 0],
60 | [2, -3, 2, 2],
61 | [2, -2, 2, 2],
62 | [2, -1, 2, 2],
63 | [2, 0, 2, 2],
64 | [2, 1, 2, 2],
65 | [2, 2, 2, 2],
66 | [2, 3, 2, 2],
67 | [2, 4, 2, 2],
68 | [2, 5, 2, 2],
69 | [2, 6, 2, 2],
70 | [2, 7, 2, 2],
71 | [2, 8, 2, 2],
72 | [2, 9, 2, 2],
73 | [2, 10, 2, 2],
74 | [2, 11, 2, 2],
75 | [2, 12, 2, 2],
76 | [2, 13, 3, 2],
77 | [2, 14, 3, 2],
78 | [2, 15, 3, 2],
79 | [2, 16, 3, 2],
80 | [2, 17, 3, 2],
81 | [2, 17, 3, 2],
82 | [2, 17, 3, 2],
83 | [2, 17, 3, 2],
84 | [2, 17, 3, 2],
85 | [2, 17, 3, 2],
86 | [2, 17, 3, 2],
87 | [2, 17, 3, 2],
88 | [2, 17, 3, 2],
89 | [2, 17, 3, 2],
90 | [2, 17, 3, 2],
91 | [2, 17, 3, 2],
92 | [2, 17, 3, 2],
93 | [2, 17, 3, 2],
94 | [2, 17, 3, 2],
95 | [2, 17, 3, 2],
96 | [2, 17, 3, 2],
97 | [2, 17, 3, 2],
98 | [2, 17, 3, 2],
99 | [2, 17, 3, 2],
100 | [2, 17, 3, 2],
101 | [2, 17, 3, 2],
102 | [2, 17, 3, 2],
103 | [2, 17, 3, 2],
104 | [2, 17, 3, 2],
105 | [2, 17, 3, 2],
106 | [2, 17, 3, 2],
107 | [2, 17, 3, 2]
108 | ], [
109 | [0, 0, 0, 0],
110 | [0, 0, 0, 0],
111 | [0, 0, 0, 0],
112 | [0, 0, 0, 0],
113 | [0, 0, 0, 0],
114 | [0, 0, 0, 0],
115 | [0, 0, 0, 0],
116 | [0, 0, 0, 0],
117 | [-1, -3, 2, 3],
118 | [-1, -2, 2, 3],
119 | [-1, -1, 2, 3],
120 | [-1, 0, 2, 3],
121 | [-1, 1, 2, 3],
122 | [-1, 2, 2, 3],
123 | [-1, 3, 2, 3],
124 | [-1, 4, 2, 3],
125 | [-1, 5, 2, 3],
126 | [-1, 6, 2, 3],
127 | [-1, 7, 2, 3],
128 | [-1, 8, 2, 3],
129 | [-1, 9, 2, 3],
130 | [-1, 10, 2, 3],
131 | [-1, 11, 2, 3],
132 | [-1, 12, 2, 3],
133 | [-1, 13, 2, 3],
134 | [-1, 14, 2, 3],
135 | [-1, 15, 2, 3],
136 | [-1, 16, 1, 3],
137 | [-1, 17, 1, 3],
138 | [-1, 17, 1, 3],
139 | [-1, 17, 1, 3],
140 | [-1, 17, 1, 3],
141 | [-1, 17, 1, 3],
142 | [-1, 17, 1, 3],
143 | [-1, 17, 1, 3],
144 | [-1, 17, 1, 3],
145 | [-1, 17, 1, 3],
146 | [-1, 17, 1, 3],
147 | [-1, 17, 1, 3],
148 | [-1, 17, 1, 3],
149 | [-1, 17, 1, 3],
150 | [-1, 17, 1, 3],
151 | [-1, 17, 1, 3],
152 | [-1, 17, 1, 3],
153 | [-1, 17, 1, 3],
154 | [-1, 17, 1, 3],
155 | [-1, 17, 1, 3],
156 | [-1, 17, 1, 3],
157 | [-1, 17, 1, 3],
158 | [-1, 17, 1, 3],
159 | [-1, 17, 1, 3]
160 | ], [
161 | [0, 0, 0, 0],
162 | [0, 0, 0, 0],
163 | [0, 0, 0, 0],
164 | [0, 0, 0, 0],
165 | [0, 0, 0, 0],
166 | [0, 0, 0, 0],
167 | [0, 0, 0, 0],
168 | [0, 0, 0, 0],
169 | [0, 0, 0, 0],
170 | [0, 0, 0, 0],
171 | [0, 0, 0, 0],
172 | [2, -3, 0, 4],
173 | [2, -2, 0, 4],
174 | [2, -1, 0, 4],
175 | [2, 0, 0, 4],
176 | [2, 1, 0, 4],
177 | [2, 2, 0, 4],
178 | [2, 3, 0, 4],
179 | [2, 4, 0, 4],
180 | [2, 5, 0, 4],
181 | [2, 6, 0, 4],
182 | [2, 7, 0, 4],
183 | [2, 8, 0, 4],
184 | [2, 9, 0, 4],
185 | [2, 10, 0, 4],
186 | [2, 11, 0, 4],
187 | [2, 12, 0, 4],
188 | [3, 13, 0, 4],
189 | [3, 14, 0, 4],
190 | [3, 15, 0, 4],
191 | [3, 15, 0, 4],
192 | [3, 15, 0, 4],
193 | [3, 15, 0, 4],
194 | [3, 15, 0, 4],
195 | [3, 15, 0, 4],
196 | [3, 15, 0, 4],
197 | [3, 15, 0, 4],
198 | [3, 15, 0, 4],
199 | [3, 15, 0, 4],
200 | [3, 15, 0, 4],
201 | [3, 15, 0, 4],
202 | [3, 15, 0, 4],
203 | [3, 15, 0, 4],
204 | [3, 15, 0, 4],
205 | [3, 15, 0, 4],
206 | [3, 15, 0, 4],
207 | [3, 15, 0, 4],
208 | [3, 15, 0, 4],
209 | [3, 15, 0, 4],
210 | [3, 15, 0, 4],
211 | [3, 15, 0, 4]
212 | ], [
213 | [0, 0, 0, 0],
214 | [0, 0, 0, 0],
215 | [0, 0, 0, 0],
216 | [0, 0, 0, 0],
217 | [0, 0, 0, 0],
218 | [0, 0, 0, 0],
219 | [0, 0, 0, 0],
220 | [0, 0, 0, 0],
221 | [0, 0, 0, 0],
222 | [0, 0, 0, 0],
223 | [0, 0, 0, 0],
224 | [0, 0, 0, 0],
225 | [0, 0, 0, 0],
226 | [0, 0, 0, 0],
227 | [0, 0, 0, 0],
228 | [0, 0, 0, 0],
229 | [1, -3, 0, 1],
230 | [1, -2, 0, 1],
231 | [1, -1, 0, 1],
232 | [1, 0, 0, 1],
233 | [1, 1, 0, 1],
234 | [1, 2, 0, 1],
235 | [1, 3, 0, 1],
236 | [1, 4, 0, 1],
237 | [1, 5, 0, 1],
238 | [1, 6, 0, 1],
239 | [1, 7, 0, 1],
240 | [1, 8, 0, 1],
241 | [1, 9, 0, 1],
242 | [1, 10, 0, 1],
243 | [1, 11, 0, 1],
244 | [1, 12, 0, 1],
245 | [1, 13, 0, 1],
246 | [1, 13, 0, 1],
247 | [1, 13, 0, 1],
248 | [1, 13, 0, 1],
249 | [1, 13, 0, 1],
250 | [1, 13, 0, 1],
251 | [1, 13, 0, 1],
252 | [1, 13, 0, 1],
253 | [1, 13, 0, 1],
254 | [1, 13, 0, 1],
255 | [1, 13, 0, 1],
256 | [1, 13, 0, 1],
257 | [1, 13, 0, 1],
258 | [1, 13, 0, 1],
259 | [1, 13, 0, 1],
260 | [1, 13, 0, 1],
261 | [1, 13, 0, 1],
262 | [1, 13, 0, 1],
263 | [1, 13, 0, 1]
264 | ], [
265 | [0, 0, 0, 0],
266 | [0, 0, 0, 0],
267 | [0, 0, 0, 0],
268 | [0, 0, 0, 0],
269 | [0, 0, 0, 0],
270 | [0, 0, 0, 0],
271 | [0, 0, 0, 0],
272 | [0, 0, 0, 0],
273 | [0, 0, 0, 0],
274 | [0, 0, 0, 0],
275 | [0, 0, 0, 0],
276 | [0, 0, 0, 0],
277 | [0, 0, 0, 0],
278 | [0, 0, 0, 0],
279 | [0, 0, 0, 0],
280 | [0, 0, 0, 0],
281 | [0, 0, 0, 0],
282 | [0, 0, 0, 0],
283 | [0, 0, 0, 0],
284 | [2, -3, 0, 2],
285 | [2, -2, 0, 2],
286 | [2, -1, 0, 2],
287 | [2, 0, 0, 2],
288 | [2, 1, 0, 2],
289 | [2, 2, 0, 2],
290 | [2, 3, 0, 2],
291 | [2, 4, 0, 2],
292 | [2, 5, 0, 2],
293 | [2, 6, 0, 2],
294 | [2, 7, 0, 2],
295 | [2, 8, 0, 2],
296 | [2, 9, 0, 2],
297 | [2, 10, 0, 2],
298 | [2, 11, 0, 2],
299 | [2, 12, 0, 2],
300 | [2, 12, 0, 2],
301 | [2, 12, 0, 2],
302 | [2, 12, 0, 2],
303 | [2, 12, 0, 2],
304 | [2, 12, 0, 2],
305 | [2, 12, 0, 2],
306 | [2, 12, 0, 2],
307 | [2, 12, 0, 2],
308 | [2, 12, 0, 2],
309 | [2, 12, 0, 2],
310 | [2, 12, 0, 2],
311 | [2, 12, 0, 2],
312 | [2, 12, 0, 2],
313 | [2, 12, 0, 2],
314 | [2, 12, 0, 2],
315 | [2, 12, 0, 2]
316 | ], [
317 | [0, 0, 0, 0],
318 | [0, 0, 0, 0],
319 | [0, 0, 0, 0],
320 | [0, 0, 0, 0],
321 | [0, 0, 0, 0],
322 | [0, 0, 0, 0],
323 | [0, 0, 0, 0],
324 | [0, 0, 0, 0],
325 | [0, 0, 0, 0],
326 | [0, 0, 0, 0],
327 | [0, 0, 0, 0],
328 | [0, 0, 0, 0],
329 | [0, 0, 0, 0],
330 | [0, 0, 0, 0],
331 | [0, 0, 0, 0],
332 | [0, 0, 0, 0],
333 | [0, 0, 0, 0],
334 | [0, 0, 0, 0],
335 | [0, 0, 0, 0],
336 | [0, 0, 0, 0],
337 | [0, 0, 0, 0],
338 | [0, 0, 0, 0],
339 | [0, -3, 1, 3],
340 | [0, -2, 1, 3],
341 | [0, -1, 1, 3],
342 | [0, 0, 1, 3],
343 | [0, 1, 1, 3],
344 | [0, 2, 1, 3],
345 | [0, 3, 1, 3],
346 | [0, 4, 1, 3],
347 | [0, 5, 1, 3],
348 | [0, 6, 1, 3],
349 | [0, 7, 1, 3],
350 | [-1, 8, 1, 3],
351 | [-1, 9, 1, 3],
352 | [-1, 10, 1, 3],
353 | [-1, 11, 1, 3],
354 | [-1, 12, 1, 3],
355 | [-1, 13, 1, 3],
356 | [-1, 13, 1, 3],
357 | [-1, 13, 1, 3],
358 | [-1, 13, 1, 3],
359 | [-1, 13, 1, 3],
360 | [-1, 13, 1, 3],
361 | [-1, 13, 1, 3],
362 | [-1, 13, 1, 3],
363 | [-1, 13, 1, 3],
364 | [-1, 13, 1, 3],
365 | [-1, 13, 1, 3],
366 | [-1, 13, 1, 3],
367 | [-1, 13, 1, 3]
368 | ], [
369 | [0, 0, 0, 0],
370 | [0, 0, 0, 0],
371 | [0, 0, 0, 0],
372 | [0, 0, 0, 0],
373 | [0, 0, 0, 0],
374 | [0, 0, 0, 0],
375 | [0, 0, 0, 0],
376 | [0, 0, 0, 0],
377 | [0, 0, 0, 0],
378 | [0, 0, 0, 0],
379 | [0, 0, 0, 0],
380 | [0, 0, 0, 0],
381 | [0, 0, 0, 0],
382 | [0, 0, 0, 0],
383 | [0, 0, 0, 0],
384 | [0, 0, 0, 0],
385 | [0, 0, 0, 0],
386 | [0, 0, 0, 0],
387 | [0, 0, 0, 0],
388 | [0, 0, 0, 0],
389 | [0, 0, 0, 0],
390 | [0, 0, 0, 0],
391 | [0, 0, 0, 0],
392 | [0, 0, 0, 0],
393 | [0, 0, 0, 0],
394 | [0, 0, 0, 0],
395 | [1, -3, 0, 1],
396 | [1, -2, 0, 1],
397 | [1, -1, 0, 1],
398 | [1, 0, 0, 1],
399 | [1, 1, 0, 1],
400 | [1, 2, 0, 1],
401 | [1, 3, 0, 1],
402 | [1, 4, 0, 1],
403 | [2, 5, 0, 1],
404 | [3, 6, 1, 1],
405 | [4, 7, 1, 1],
406 | [4, 8, 1, 1],
407 | [4, 9, 1, 1],
408 | [4, 10, 1, 1],
409 | [4, 11, 1, 1],
410 | [4, 12, 1, 1],
411 | [4, 12, 1, 1],
412 | [4, 12, 1, 1],
413 | [4, 12, 1, 1],
414 | [4, 12, 1, 1],
415 | [4, 12, 1, 1],
416 | [4, 12, 1, 1],
417 | [4, 12, 1, 1],
418 | [4, 12, 1, 1],
419 | [4, 12, 1, 1]
420 | ], [
421 | [0, 0, 0, 0],
422 | [0, 0, 0, 0],
423 | [0, 0, 0, 0],
424 | [0, 0, 0, 0],
425 | [0, 0, 0, 0],
426 | [0, 0, 0, 0],
427 | [0, 0, 0, 0],
428 | [0, 0, 0, 0],
429 | [0, 0, 0, 0],
430 | [0, 0, 0, 0],
431 | [0, 0, 0, 0],
432 | [0, 0, 0, 0],
433 | [0, 0, 0, 0],
434 | [0, 0, 0, 0],
435 | [0, 0, 0, 0],
436 | [0, 0, 0, 0],
437 | [0, 0, 0, 0],
438 | [0, 0, 0, 0],
439 | [0, 0, 0, 0],
440 | [0, 0, 0, 0],
441 | [0, 0, 0, 0],
442 | [0, 0, 0, 0],
443 | [0, 0, 0, 0],
444 | [0, 0, 0, 0],
445 | [0, 0, 0, 0],
446 | [0, 0, 0, 0],
447 | [0, 0, 0, 0],
448 | [0, 0, 0, 0],
449 | [0, 0, 0, 0],
450 | [0, 0, 0, 0],
451 | [0, 0, 0, 0],
452 | [1, -4, 1, 1],
453 | [1, -3, 1, 1],
454 | [1, -2, 1, 1],
455 | [1, -1, 1, 1],
456 | [1, 0, 1, 1],
457 | [1, 1, 1, 1],
458 | [1, 2, 1, 1],
459 | [1, 3, 1, 1],
460 | [1, 4, 1, 1],
461 | [1, 5, 1, 1],
462 | [1, 6, 1, 1],
463 | [1, 7, 0, 1],
464 | [1, 8, 0, 1],
465 | [1, 9, 0, 1],
466 | [1, 9, 0, 1],
467 | [1, 9, 0, 1],
468 | [1, 9, 0, 1],
469 | [1, 9, 0, 1],
470 | [1, 9, 0, 1],
471 | [1, 9, 0, 1]
472 | ], [
473 | [0, 0, 0, 0],
474 | [0, 0, 0, 0],
475 | [0, 0, 0, 0],
476 | [0, 0, 0, 0],
477 | [0, 0, 0, 0],
478 | [0, 0, 0, 0],
479 | [0, 0, 0, 0],
480 | [0, 0, 0, 0],
481 | [0, 0, 0, 0],
482 | [0, 0, 0, 0],
483 | [0, 0, 0, 0],
484 | [0, 0, 0, 0],
485 | [0, 0, 0, 0],
486 | [0, 0, 0, 0],
487 | [0, 0, 0, 0],
488 | [0, 0, 0, 0],
489 | [0, 0, 0, 0],
490 | [0, 0, 0, 0],
491 | [0, 0, 0, 0],
492 | [0, 0, 0, 0],
493 | [0, 0, 0, 0],
494 | [0, 0, 0, 0],
495 | [0, 0, 0, 0],
496 | [0, 0, 0, 0],
497 | [0, 0, 0, 0],
498 | [0, 0, 0, 0],
499 | [0, 0, 0, 0],
500 | [0, 0, 0, 0],
501 | [0, 0, 0, 0],
502 | [0, 0, 0, 0],
503 | [0, 0, 0, 0],
504 | [0, 0, 0, 0],
505 | [0, 0, 0, 0],
506 | [0, 0, 0, 0],
507 | [0, 0, 0, 0],
508 | [2, -3, 3, 2],
509 | [2, -2, 3, 2],
510 | [2, -1, 3, 2],
511 | [2, 0, 3, 2],
512 | [2, 1, 3, 2],
513 | [2, 2, 3, 2],
514 | [2, 3, 3, 2],
515 | [2, 4, 3, 2],
516 | [2, 5, 3, 2],
517 | [2, 6, 3, 2],
518 | [2, 7, 3, 2],
519 | [2, 8, 3, 2],
520 | [2, 9, 3, 2],
521 | [2, 9, 3, 2],
522 | [2, 9, 3, 2],
523 | [2, 9, 3, 2]
524 | ], [
525 | [0, 0, 0, 0],
526 | [0, 0, 0, 0],
527 | [0, 0, 0, 0],
528 | [0, 0, 0, 0],
529 | [0, 0, 0, 0],
530 | [0, 0, 0, 0],
531 | [0, 0, 0, 0],
532 | [0, 0, 0, 0],
533 | [0, 0, 0, 0],
534 | [0, 0, 0, 0],
535 | [0, 0, 0, 0],
536 | [0, 0, 0, 0],
537 | [0, 0, 0, 0],
538 | [0, 0, 0, 0],
539 | [0, 0, 0, 0],
540 | [0, 0, 0, 0],
541 | [0, 0, 0, 0],
542 | [0, 0, 0, 0],
543 | [0, 0, 0, 0],
544 | [0, 0, 0, 0],
545 | [0, 0, 0, 0],
546 | [0, 0, 0, 0],
547 | [0, 0, 0, 0],
548 | [0, 0, 0, 0],
549 | [0, 0, 0, 0],
550 | [0, 0, 0, 0],
551 | [0, 0, 0, 0],
552 | [0, 0, 0, 0],
553 | [0, 0, 0, 0],
554 | [0, 0, 0, 0],
555 | [0, 0, 0, 0],
556 | [0, 0, 0, 0],
557 | [0, 0, 0, 0],
558 | [0, 0, 0, 0],
559 | [0, 0, 0, 0],
560 | [0, 0, 0, 0],
561 | [0, 0, 0, 0],
562 | [0, 0, 0, 0],
563 | [0, -3, 0, 3],
564 | [0, -2, 0, 3],
565 | [0, -1, 0, 3],
566 | [0, 0, 0, 3],
567 | [0, 1, 0, 3],
568 | [0, 2, 0, 3],
569 | [0, 3, 0, 3],
570 | [-1, 4, 0, 3],
571 | [-1, 5, 0, 3],
572 | [-1, 6, 1, 3],
573 | [-1, 7, 1, 3],
574 | [-1, 8, 1, 3],
575 | [-1, 9, 1, 3]
576 | ]
577 | ]
578 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/numbers/tetris_number4.json:
--------------------------------------------------------------------------------
1 | [
2 | [2,7,4,5,6,3,3,5,4],
3 | [
4 | [
5 | [0, -3, 0, 3],
6 | [0, -2, 0, 3],
7 | [0, -1, 0, 3],
8 | [0, 0, 0, 3],
9 | [0, 1, 0, 3],
10 | [0, 2, 0, 3],
11 | [0, 3, 0, 3],
12 | [0, 4, 0, 3],
13 | [0, 5, 0, 3],
14 | [0, 6, 0, 3],
15 | [0, 7, 0, 3],
16 | [0, 8, 0, 3],
17 | [0, 9, 0, 3],
18 | [0, 10, 0, 3],
19 | [0, 11, 0, 3],
20 | [1, 12, 0, 3],
21 | [1, 13, 0, 3],
22 | [1, 14, 0, 3],
23 | [2, 15, 0, 3],
24 | [2, 16, 0, 3],
25 | [3, 17, 0, 3],
26 | [3, 17, 0, 3],
27 | [3, 17, 0, 3],
28 | [3, 17, 0, 3],
29 | [3, 17, 0, 3],
30 | [3, 17, 0, 3],
31 | [3, 17, 0, 3],
32 | [3, 17, 0, 3],
33 | [3, 17, 0, 3],
34 | [3, 17, 0, 3],
35 | [3, 17, 0, 3],
36 | [3, 17, 0, 3],
37 | [3, 17, 0, 3],
38 | [3, 17, 0, 3],
39 | [3, 17, 0, 3],
40 | [3, 17, 0, 3],
41 | [3, 17, 0, 3],
42 | [3, 17, 0, 3],
43 | [3, 17, 0, 3],
44 | [3, 17, 0, 3],
45 | [3, 17, 0, 3],
46 | [3, 17, 0, 3],
47 | [3, 17, 0, 3],
48 | [3, 17, 0, 3],
49 | [3, 17, 0, 3],
50 | [3, 17, 0, 3],
51 | [3, 17, 0, 3]
52 | ],[
53 | [0, 0, 0, 0],
54 | [0, 0, 0, 0],
55 | [0, 0, 0, 0],
56 | [0, 0, 0, 0],
57 | [0, 0, 0, 0],
58 | [1, -3, 3, 3],
59 | [1, -2, 3, 3],
60 | [1, -1, 3, 3],
61 | [1, 0, 3, 3],
62 | [1, 1, 3, 3],
63 | [1, 2, 3, 3],
64 | [1, 3, 3, 3],
65 | [1, 4, 3, 3],
66 | [1, 5, 3, 3],
67 | [1, 6, 3, 3],
68 | [2, 7, 3, 3],
69 | [2, 8, 3, 3],
70 | [2, 9, 2, 3],
71 | [3, 10, 2, 3],
72 | [3, 11, 2, 3],
73 | [3, 12, 2, 3],
74 | [3, 13, 2, 3],
75 | [3, 14, 2, 3],
76 | [3, 15, 2, 3],
77 | [3, 16, 2, 3],
78 | [3, 16, 2, 3],
79 | [3, 16, 2, 3],
80 | [3, 16, 2, 3],
81 | [3, 16, 2, 3],
82 | [3, 16, 2, 3],
83 | [3, 16, 2, 3],
84 | [3, 16, 2, 3],
85 | [3, 16, 2, 3],
86 | [3, 16, 2, 3],
87 | [3, 16, 2, 3],
88 | [3, 16, 2, 3],
89 | [3, 16, 2, 3],
90 | [3, 16, 2, 3],
91 | [3, 16, 2, 3],
92 | [3, 16, 2, 3],
93 | [3, 16, 2, 3],
94 | [3, 16, 2, 3],
95 | [3, 16, 2, 3],
96 | [3, 16, 2, 3],
97 | [3, 16, 2, 3],
98 | [3, 16, 2, 3],
99 | [3, 16, 2, 3]
100 | ],[
101 | [0, 0, 0, 0],
102 | [0, 0, 0, 0],
103 | [0, 0, 0, 0],
104 | [0, 0, 0, 0],
105 | [0, 0, 0, 0],
106 | [0, 0, 0, 0],
107 | [0, 0, 0, 0],
108 | [0, 0, 0, 0],
109 | [0, 0, 0, 0],
110 | [0, 0, 0, 0],
111 | [0, 0, 0, 0],
112 | [2, -3, 1, 3],
113 | [2, -2, 1, 3],
114 | [2, -1, 1, 3],
115 | [2, 0, 1, 3],
116 | [2, 1, 1, 3],
117 | [2, 2, 1, 3],
118 | [2, 3, 1, 3],
119 | [2, 4, 1, 3],
120 | [2, 5, 1, 3],
121 | [2, 6, 1, 3],
122 | [2, 7, 1, 3],
123 | [2, 8, 0, 3],
124 | [2, 9, 0, 3],
125 | [3, 10, 0, 3],
126 | [3, 11, 0, 3],
127 | [3, 12, 0, 3],
128 | [3, 13, 0, 3],
129 | [3, 13, 0, 3],
130 | [3, 13, 0, 3],
131 | [3, 13, 0, 3],
132 | [3, 13, 0, 3],
133 | [3, 13, 0, 3],
134 | [3, 13, 0, 3],
135 | [3, 13, 0, 3],
136 | [3, 13, 0, 3],
137 | [3, 13, 0, 3],
138 | [3, 13, 0, 3],
139 | [3, 13, 0, 3],
140 | [3, 13, 0, 3],
141 | [3, 13, 0, 3],
142 | [3, 13, 0, 3],
143 | [3, 13, 0, 3],
144 | [3, 13, 0, 3],
145 | [3, 13, 0, 3],
146 | [3, 13, 0, 3],
147 | [3, 13, 0, 3]
148 | ],[
149 | [0, 0, 0, 0],
150 | [0, 0, 0, 0],
151 | [0, 0, 0, 0],
152 | [0, 0, 0, 0],
153 | [0, 0, 0, 0],
154 | [0, 0, 0, 0],
155 | [0, 0, 0, 0],
156 | [0, 0, 0, 0],
157 | [0, 0, 0, 0],
158 | [0, 0, 0, 0],
159 | [0, 0, 0, 0],
160 | [0, 0, 0, 0],
161 | [0, 0, 0, 0],
162 | [0, 0, 0, 0],
163 | [0, 0, 0, 0],
164 | [-1, -3, 1, 3],
165 | [-1, -2, 1, 3],
166 | [-1, -1, 1, 3],
167 | [-1, 0, 1, 3],
168 | [-1, 1, 1, 3],
169 | [-1, 2, 1, 3],
170 | [-1, 3, 1, 3],
171 | [-1, 4, 1, 3],
172 | [-1, 5, 1, 3],
173 | [-1, 6, 1, 3],
174 | [-1, 7, 1, 3],
175 | [-1, 8, 1, 3],
176 | [-1, 9, 0, 3],
177 | [-1, 10, 0, 3],
178 | [-1, 11, 0, 3],
179 | [-1, 12, 0, 3],
180 | [-1, 13, 0, 3],
181 | [-1, 13, 0, 3],
182 | [-1, 13, 0, 3],
183 | [-1, 13, 0, 3],
184 | [-1, 13, 0, 3],
185 | [-1, 13, 0, 3],
186 | [-1, 13, 0, 3],
187 | [-1, 13, 0, 3],
188 | [-1, 13, 0, 3],
189 | [-1, 13, 0, 3],
190 | [-1, 13, 0, 3],
191 | [-1, 13, 0, 3],
192 | [-1, 13, 0, 3],
193 | [-1, 13, 0, 3],
194 | [-1, 13, 0, 3],
195 | [-1, 13, 0, 3]
196 | ],[
197 | [0, 0, 0, 0],
198 | [0, 0, 0, 0],
199 | [0, 0, 0, 0],
200 | [0, 0, 0, 0],
201 | [0, 0, 0, 0],
202 | [0, 0, 0, 0],
203 | [0, 0, 0, 0],
204 | [0, 0, 0, 0],
205 | [0, 0, 0, 0],
206 | [0, 0, 0, 0],
207 | [0, 0, 0, 0],
208 | [0, 0, 0, 0],
209 | [0, 0, 0, 0],
210 | [0, 0, 0, 0],
211 | [0, 0, 0, 0],
212 | [0, 0, 0, 0],
213 | [0, 0, 0, 0],
214 | [0, 0, 0, 0],
215 | [1, -3, 0, 4],
216 | [1, -2, 0, 4],
217 | [1, -1, 0, 4],
218 | [1, 0, 0, 4],
219 | [1, 1, 0, 4],
220 | [1, 2, 0, 4],
221 | [1, 3, 0, 4],
222 | [1, 4, 0, 4],
223 | [1, 5, 0, 4],
224 | [1, 6, 0, 4],
225 | [1, 7, 0, 4],
226 | [1, 8, 0, 4],
227 | [1, 9, 0, 4],
228 | [1, 10, 0, 4],
229 | [1, 11, 0, 4],
230 | [1, 12, 0, 4],
231 | [1, 13, 0, 4],
232 | [1, 13, 0, 4],
233 | [1, 13, 0, 4],
234 | [1, 13, 0, 4],
235 | [1, 13, 0, 4],
236 | [1, 13, 0, 4],
237 | [1, 13, 0, 4],
238 | [1, 13, 0, 4],
239 | [1, 13, 0, 4],
240 | [1, 13, 0, 4],
241 | [1, 13, 0, 4],
242 | [1, 13, 0, 4],
243 | [1, 13, 0, 4]
244 | ],[
245 | [0, 0, 0, 0],
246 | [0, 0, 0, 0],
247 | [0, 0, 0, 0],
248 | [0, 0, 0, 0],
249 | [0, 0, 0, 0],
250 | [0, 0, 0, 0],
251 | [0, 0, 0, 0],
252 | [0, 0, 0, 0],
253 | [0, 0, 0, 0],
254 | [0, 0, 0, 0],
255 | [0, 0, 0, 0],
256 | [0, 0, 0, 0],
257 | [0, 0, 0, 0],
258 | [0, 0, 0, 0],
259 | [0, 0, 0, 0],
260 | [0, 0, 0, 0],
261 | [0, 0, 0, 0],
262 | [0, 0, 0, 0],
263 | [0, 0, 0, 0],
264 | [0, 0, 0, 0],
265 | [0, 0, 0, 0],
266 | [0, 0, 0, 0],
267 | [0, 0, 0, 0],
268 | [2, -3, 0, 1],
269 | [2, -2, 0, 1],
270 | [2, -1, 0, 1],
271 | [2, 0, 0, 1],
272 | [2, 1, 0, 1],
273 | [2, 2, 0, 1],
274 | [2, 3, 0, 1],
275 | [2, 4, 1, 1],
276 | [2, 5, 1, 1],
277 | [2, 6, 1, 1],
278 | [3, 7, 1, 1],
279 | [4, 8, 1, 1],
280 | [4, 9, 1, 1],
281 | [4, 10, 1, 1],
282 | [4, 11, 1, 1],
283 | [4, 11, 1, 1],
284 | [4, 11, 1, 1],
285 | [4, 11, 1, 1],
286 | [4, 11, 1, 1],
287 | [4, 11, 1, 1],
288 | [4, 11, 1, 1],
289 | [4, 11, 1, 1],
290 | [4, 11, 1, 1],
291 | [4, 11, 1, 1]
292 | ],[
293 | [0, 0, 0, 0],
294 | [0, 0, 0, 0],
295 | [0, 0, 0, 0],
296 | [0, 0, 0, 0],
297 | [0, 0, 0, 0],
298 | [0, 0, 0, 0],
299 | [0, 0, 0, 0],
300 | [0, 0, 0, 0],
301 | [0, 0, 0, 0],
302 | [0, 0, 0, 0],
303 | [0, 0, 0, 0],
304 | [0, 0, 0, 0],
305 | [0, 0, 0, 0],
306 | [0, 0, 0, 0],
307 | [0, 0, 0, 0],
308 | [0, 0, 0, 0],
309 | [0, 0, 0, 0],
310 | [0, 0, 0, 0],
311 | [0, 0, 0, 0],
312 | [0, 0, 0, 0],
313 | [0, 0, 0, 0],
314 | [0, 0, 0, 0],
315 | [0, 0, 0, 0],
316 | [0, 0, 0, 0],
317 | [0, 0, 0, 0],
318 | [-1, -3, 2, 3],
319 | [-1, -2, 2, 3],
320 | [-1, -1, 2, 3],
321 | [-1, 0, 2, 3],
322 | [-1, 1, 2, 3],
323 | [-1, 2, 2, 3],
324 | [-1, 3, 2, 3],
325 | [-1, 4, 2, 3],
326 | [-1, 5, 2, 3],
327 | [-1, 6, 2, 3],
328 | [-1, 7, 2, 3],
329 | [-1, 8, 2, 3],
330 | [-1, 9, 2, 3],
331 | [-1, 10, 2, 3],
332 | [-1, 11, 2, 3],
333 | [-1, 12, 2, 3],
334 | [-1, 12, 2, 3],
335 | [-1, 12, 2, 3],
336 | [-1, 12, 2, 3],
337 | [-1, 12, 2, 3],
338 | [-1, 12, 2, 3],
339 | [-1, 12, 2, 3]
340 | ],[
341 | [0, 0, 0, 0],
342 | [0, 0, 0, 0],
343 | [0, 0, 0, 0],
344 | [0, 0, 0, 0],
345 | [0, 0, 0, 0],
346 | [0, 0, 0, 0],
347 | [0, 0, 0, 0],
348 | [0, 0, 0, 0],
349 | [0, 0, 0, 0],
350 | [0, 0, 0, 0],
351 | [0, 0, 0, 0],
352 | [0, 0, 0, 0],
353 | [0, 0, 0, 0],
354 | [0, 0, 0, 0],
355 | [0, 0, 0, 0],
356 | [0, 0, 0, 0],
357 | [0, 0, 0, 0],
358 | [0, 0, 0, 0],
359 | [0, 0, 0, 0],
360 | [0, 0, 0, 0],
361 | [0, 0, 0, 0],
362 | [0, 0, 0, 0],
363 | [0, 0, 0, 0],
364 | [0, 0, 0, 0],
365 | [0, 0, 0, 0],
366 | [0, 0, 0, 0],
367 | [0, 0, 0, 0],
368 | [0, 0, 0, 0],
369 | [0, 0, 0, 0],
370 | [0, 0, 0, 0],
371 | [1, -3, 3, 2],
372 | [1, -2, 3, 2],
373 | [1, -1, 3, 2],
374 | [1, 0, 3, 2],
375 | [1, 1, 3, 2],
376 | [1, 2, 3, 2],
377 | [2, 3, 3, 2],
378 | [2, 4, 3, 2],
379 | [2, 5, 2, 2],
380 | [2, 6, 2, 2],
381 | [2, 7, 2, 2],
382 | [3, 8, 2, 2],
383 | [3, 9, 2, 2],
384 | [3, 10, 2, 2],
385 | [3, 10, 2, 2],
386 | [3, 10, 2, 2],
387 | [3, 10, 2, 2]
388 | ],[
389 | [0, 0, 0, 0],
390 | [0, 0, 0, 0],
391 | [0, 0, 0, 0],
392 | [0, 0, 0, 0],
393 | [0, 0, 0, 0],
394 | [0, 0, 0, 0],
395 | [0, 0, 0, 0],
396 | [0, 0, 0, 0],
397 | [0, 0, 0, 0],
398 | [0, 0, 0, 0],
399 | [0, 0, 0, 0],
400 | [0, 0, 0, 0],
401 | [0, 0, 0, 0],
402 | [0, 0, 0, 0],
403 | [0, 0, 0, 0],
404 | [0, 0, 0, 0],
405 | [0, 0, 0, 0],
406 | [0, 0, 0, 0],
407 | [0, 0, 0, 0],
408 | [0, 0, 0, 0],
409 | [0, 0, 0, 0],
410 | [0, 0, 0, 0],
411 | [0, 0, 0, 0],
412 | [0, 0, 0, 0],
413 | [0, 0, 0, 0],
414 | [0, 0, 0, 0],
415 | [0, 0, 0, 0],
416 | [0, 0, 0, 0],
417 | [0, 0, 0, 0],
418 | [0, 0, 0, 0],
419 | [0, 0, 0, 0],
420 | [0, 0, 0, 0],
421 | [0, 0, 0, 0],
422 | [0, 0, 0, 0],
423 | [-1, -3, 0, 4],
424 | [-1, -2, 0, 4],
425 | [-1, -1, 0, 4],
426 | [-1, 0, 0, 4],
427 | [-1, 1, 0, 4],
428 | [-1, 2, 0, 4],
429 | [-1, 3, 0, 4],
430 | [-1, 4, 0, 4],
431 | [-1, 5, 0, 4],
432 | [-1, 6, 0, 4],
433 | [-1, 7, 0, 4],
434 | [-1, 8, 0, 4],
435 | [-1, 9, 0, 4]
436 | ]
437 | ]
438 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/numbers/tetris_number5.json:
--------------------------------------------------------------------------------
1 | [
2 | [5,3,4,7,6,2,3,4,2,6,8],
3 | [
4 | [
5 | [0, -3, 2, 3],
6 | [0, -2, 2, 3],
7 | [0, -1, 2, 3],
8 | [0, 0, 2, 3],
9 | [0, 1, 2, 3],
10 | [0, 2, 2, 3],
11 | [0, 3, 2, 3],
12 | [0, 4, 2, 3],
13 | [0, 5, 2, 3],
14 | [0, 6, 2, 3],
15 | [0, 7, 2, 3],
16 | [0, 8, 2, 3],
17 | [0, 9, 2, 3],
18 | [0, 10, 2, 3],
19 | [0, 11, 2, 3],
20 | [0, 12, 3, 3],
21 | [1, 13, 3, 3],
22 | [2, 14, 3, 3],
23 | [2, 15, 3, 3],
24 | [2, 16, 3, 3],
25 | [2, 17, 3, 3],
26 | [2, 17, 3, 3],
27 | [2, 17, 3, 3],
28 | [2, 17, 3, 3],
29 | [2, 17, 3, 3],
30 | [2, 17, 3, 3],
31 | [2, 17, 3, 3],
32 | [2, 17, 3, 3],
33 | [2, 17, 3, 3],
34 | [2, 17, 3, 3],
35 | [2, 17, 3, 3],
36 | [2, 17, 3, 3],
37 | [2, 17, 3, 3],
38 | [2, 17, 3, 3],
39 | [2, 17, 3, 3],
40 | [2, 17, 3, 3],
41 | [2, 17, 3, 3],
42 | [2, 17, 3, 3],
43 | [2, 17, 3, 3],
44 | [2, 17, 3, 3],
45 | [2, 17, 3, 3],
46 | [2, 17, 3, 3],
47 | [2, 17, 3, 3],
48 | [2, 17, 3, 3],
49 | [2, 17, 3, 3],
50 | [2, 17, 3, 3],
51 | [2, 17, 3, 3],
52 | [2, 17, 3, 3],
53 | [2, 17, 3, 3],
54 | [2, 17, 3, 3],
55 | [2, 17, 3, 3]
56 | ],[
57 | [0, 0, 0, 0],
58 | [0, 0, 0, 0],
59 | [0, 0, 0, 0],
60 | [2, -3, 2, 3],
61 | [2, -2, 2, 3],
62 | [2, -1, 2, 3],
63 | [2, 0, 2, 3],
64 | [2, 1, 2, 3],
65 | [2, 2, 2, 3],
66 | [2, 3, 2, 3],
67 | [2, 4, 2, 3],
68 | [2, 5, 2, 3],
69 | [2, 6, 2, 3],
70 | [2, 7, 2, 3],
71 | [2, 8, 2, 3],
72 | [2, 9, 2, 3],
73 | [2, 10, 2, 3],
74 | [2, 11, 2, 3],
75 | [2, 12, 2, 3],
76 | [2, 13, 2, 3],
77 | [2, 14, 2, 3],
78 | [1, 15, 1, 3],
79 | [1, 16, 1, 3],
80 | [1, 17, 1, 3],
81 | [1, 17, 1, 3],
82 | [1, 17, 1, 3],
83 | [1, 17, 1, 3],
84 | [1, 17, 1, 3],
85 | [1, 17, 1, 3],
86 | [1, 17, 1, 3],
87 | [1, 17, 1, 3],
88 | [1, 17, 1, 3],
89 | [1, 17, 1, 3],
90 | [1, 17, 1, 3],
91 | [1, 17, 1, 3],
92 | [1, 17, 1, 3],
93 | [1, 17, 1, 3],
94 | [1, 17, 1, 3],
95 | [1, 17, 1, 3],
96 | [1, 17, 1, 3],
97 | [1, 17, 1, 3],
98 | [1, 17, 1, 3],
99 | [1, 17, 1, 3],
100 | [1, 17, 1, 3],
101 | [1, 17, 1, 3],
102 | [1, 17, 1, 3],
103 | [1, 17, 1, 3],
104 | [1, 17, 1, 3],
105 | [1, 17, 1, 3],
106 | [1, 17, 1, 3],
107 | [1, 17, 1, 3]
108 | ],[
109 | [0, 0, 0, 0],
110 | [0, 0, 0, 0],
111 | [0, 0, 0, 0],
112 | [0, 0, 0, 0],
113 | [0, 0, 0, 0],
114 | [0, 0, 0, 0],
115 | [-1, -3, 0, 4],
116 | [-1, -2, 0, 4],
117 | [-1, -1, 0, 4],
118 | [-1, 0, 0, 4],
119 | [-1, 1, 0, 4],
120 | [-1, 2, 0, 4],
121 | [-1, 3, 0, 4],
122 | [-1, 4, 0, 4],
123 | [-1, 5, 0, 4],
124 | [-1, 6, 0, 4],
125 | [-1, 7, 0, 4],
126 | [-1, 8, 0, 4],
127 | [-1, 9, 0, 4],
128 | [-1, 10, 0, 4],
129 | [-1, 11, 0, 4],
130 | [-1, 12, 0, 4],
131 | [-1, 13, 0, 4],
132 | [-1, 14, 0, 4],
133 | [-1, 15, 0, 4],
134 | [-1, 16, 0, 4],
135 | [-1, 17, 0, 4],
136 | [-1, 17, 0, 4],
137 | [-1, 17, 0, 4],
138 | [-1, 17, 0, 4],
139 | [-1, 17, 0, 4],
140 | [-1, 17, 0, 4],
141 | [-1, 17, 0, 4],
142 | [-1, 17, 0, 4],
143 | [-1, 17, 0, 4],
144 | [-1, 17, 0, 4],
145 | [-1, 17, 0, 4],
146 | [-1, 17, 0, 4],
147 | [-1, 17, 0, 4],
148 | [-1, 17, 0, 4],
149 | [-1, 17, 0, 4],
150 | [-1, 17, 0, 4],
151 | [-1, 17, 0, 4],
152 | [-1, 17, 0, 4],
153 | [-1, 17, 0, 4],
154 | [-1, 17, 0, 4],
155 | [-1, 17, 0, 4],
156 | [-1, 17, 0, 4],
157 | [-1, 17, 0, 4],
158 | [-1, 17, 0, 4],
159 | [-1, 17, 0, 4]
160 | ],[
161 | [0, 0, 0, 0],
162 | [0, 0, 0, 0],
163 | [0, 0, 0, 0],
164 | [0, 0, 0, 0],
165 | [0, 0, 0, 0],
166 | [0, 0, 0, 0],
167 | [0, 0, 0, 0],
168 | [0, 0, 0, 0],
169 | [0, 0, 0, 0],
170 | [0, 0, 0, 0],
171 | [0, 0, 0, 0],
172 | [3, -3, 0, 4],
173 | [3, -2, 0, 4],
174 | [3, -1, 0, 4],
175 | [3, 0, 0, 4],
176 | [3, 1, 0, 4],
177 | [3, 2, 0, 4],
178 | [3, 3, 0, 4],
179 | [3, 4, 0, 4],
180 | [3, 5, 0, 4],
181 | [3, 6, 0, 4],
182 | [3, 7, 0, 4],
183 | [3, 8, 0, 4],
184 | [3, 9, 0, 4],
185 | [3, 10, 0, 4],
186 | [3, 11, 0, 4],
187 | [3, 12, 0, 4],
188 | [3, 13, 0, 4],
189 | [3, 14, 0, 4],
190 | [3, 15, 0, 4],
191 | [3, 15, 0, 4],
192 | [3, 15, 0, 4],
193 | [3, 15, 0, 4],
194 | [3, 15, 0, 4],
195 | [3, 15, 0, 4],
196 | [3, 15, 0, 4],
197 | [3, 15, 0, 4],
198 | [3, 15, 0, 4],
199 | [3, 15, 0, 4],
200 | [3, 15, 0, 4],
201 | [3, 15, 0, 4],
202 | [3, 15, 0, 4],
203 | [3, 15, 0, 4],
204 | [3, 15, 0, 4],
205 | [3, 15, 0, 4],
206 | [3, 15, 0, 4],
207 | [3, 15, 0, 4],
208 | [3, 15, 0, 4],
209 | [3, 15, 0, 4],
210 | [3, 15, 0, 4],
211 | [3, 15, 0, 4]
212 | ],[
213 | [0, 0, 0, 0],
214 | [0, 0, 0, 0],
215 | [0, 0, 0, 0],
216 | [0, 0, 0, 0],
217 | [0, 0, 0, 0],
218 | [0, 0, 0, 0],
219 | [0, 0, 0, 0],
220 | [0, 0, 0, 0],
221 | [0, 0, 0, 0],
222 | [0, 0, 0, 0],
223 | [0, 0, 0, 0],
224 | [0, 0, 0, 0],
225 | [0, 0, 0, 0],
226 | [0, 0, 0, 0],
227 | [0, 0, 0, 0],
228 | [0, 0, 0, 0],
229 | [0, -3, 2, 2],
230 | [0, -2, 2, 2],
231 | [0, -1, 2, 2],
232 | [0, 0, 2, 2],
233 | [0, 1, 2, 2],
234 | [0, 2, 2, 2],
235 | [0, 3, 0, 2],
236 | [0, 4, 0, 2],
237 | [0, 5, 0, 2],
238 | [0, 6, 0, 2],
239 | [0, 7, 0, 2],
240 | [1, 8, 0, 2],
241 | [1, 9, 1, 2],
242 | [1, 10, 1, 2],
243 | [1, 11, 1, 2],
244 | [1, 12, 1, 2],
245 | [1, 13, 1, 2],
246 | [1, 13, 1, 2],
247 | [1, 13, 1, 2],
248 | [1, 13, 1, 2],
249 | [1, 13, 1, 2],
250 | [1, 13, 1, 2],
251 | [1, 13, 1, 2],
252 | [1, 13, 1, 2],
253 | [1, 13, 1, 2],
254 | [1, 13, 1, 2],
255 | [1, 13, 1, 2],
256 | [1, 13, 1, 2],
257 | [1, 13, 1, 2],
258 | [1, 13, 1, 2],
259 | [1, 13, 1, 2],
260 | [1, 13, 1, 2],
261 | [1, 13, 1, 2],
262 | [1, 13, 1, 2],
263 | [1, 13, 1, 2]
264 | ],[
265 | [0, 0, 0, 0],
266 | [0, 0, 0, 0],
267 | [0, 0, 0, 0],
268 | [0, 0, 0, 0],
269 | [0, 0, 0, 0],
270 | [0, 0, 0, 0],
271 | [0, 0, 0, 0],
272 | [0, 0, 0, 0],
273 | [0, 0, 0, 0],
274 | [0, 0, 0, 0],
275 | [0, 0, 0, 0],
276 | [0, 0, 0, 0],
277 | [0, 0, 0, 0],
278 | [0, 0, 0, 0],
279 | [0, 0, 0, 0],
280 | [0, 0, 0, 0],
281 | [0, 0, 0, 0],
282 | [0, 0, 0, 0],
283 | [0, 0, 0, 0],
284 | [0, 0, 0, 0],
285 | [2, -3, 2, 2],
286 | [2, -2, 2, 2],
287 | [2, -1, 2, 2],
288 | [2, 0, 2, 2],
289 | [2, 1, 2, 2],
290 | [2, 2, 2, 2],
291 | [2, 3, 2, 2],
292 | [2, 4, 2, 2],
293 | [1, 5, 2, 2],
294 | [1, 6, 2, 2],
295 | [1, 7, 2, 2],
296 | [1, 8, 2, 2],
297 | [1, 9, 2, 2],
298 | [1, 10, 3, 2],
299 | [2, 11, 3, 2],
300 | [2, 12, 3, 2],
301 | [2, 13, 3, 2],
302 | [2, 13, 3, 2],
303 | [2, 13, 3, 2],
304 | [2, 13, 3, 2],
305 | [2, 13, 3, 2],
306 | [2, 13, 3, 2],
307 | [2, 13, 3, 2],
308 | [2, 13, 3, 2],
309 | [2, 13, 3, 2],
310 | [2, 13, 3, 2],
311 | [2, 13, 3, 2],
312 | [2, 13, 3, 2],
313 | [2, 13, 3, 2],
314 | [2, 13, 3, 2],
315 | [2, 13, 3, 2]
316 | ],[
317 | [0, 0, 0, 0],
318 | [0, 0, 0, 0],
319 | [0, 0, 0, 0],
320 | [0, 0, 0, 0],
321 | [0, 0, 0, 0],
322 | [0, 0, 0, 0],
323 | [0, 0, 0, 0],
324 | [0, 0, 0, 0],
325 | [0, 0, 0, 0],
326 | [0, 0, 0, 0],
327 | [0, 0, 0, 0],
328 | [0, 0, 0, 0],
329 | [0, 0, 0, 0],
330 | [0, 0, 0, 0],
331 | [0, 0, 0, 0],
332 | [0, 0, 0, 0],
333 | [0, 0, 0, 0],
334 | [0, 0, 0, 0],
335 | [0, 0, 0, 0],
336 | [0, 0, 0, 0],
337 | [0, 0, 0, 0],
338 | [0, 0, 0, 0],
339 | [0, 0, 0, 0],
340 | [0, -4, 1, 1],
341 | [0, -3, 1, 1],
342 | [0, -2, 1, 1],
343 | [0, -1, 1, 1],
344 | [0, 0, 1, 1],
345 | [-1, 1, 1, 1],
346 | [-1, 2, 1, 1],
347 | [-1, 3, 1, 1],
348 | [-1, 4, 1, 1],
349 | [-1, 5, 1, 1],
350 | [-1, 6, 1, 1],
351 | [-1, 7, 1, 1],
352 | [-1, 8, 1, 1],
353 | [-1, 9, 1, 1],
354 | [-1, 10, 1, 1],
355 | [-1, 11, 1, 1],
356 | [-1, 12, 1, 1],
357 | [-1, 12, 1, 1],
358 | [-1, 12, 1, 1],
359 | [-1, 12, 1, 1],
360 | [-1, 12, 1, 1],
361 | [-1, 12, 1, 1],
362 | [-1, 12, 1, 1],
363 | [-1, 12, 1, 1],
364 | [-1, 12, 1, 1],
365 | [-1, 12, 1, 1],
366 | [-1, 12, 1, 1],
367 | [-1, 12, 1, 1]
368 | ],[
369 | [0, 0, 0, 0],
370 | [0, 0, 0, 0],
371 | [0, 0, 0, 0],
372 | [0, 0, 0, 0],
373 | [0, 0, 0, 0],
374 | [0, 0, 0, 0],
375 | [0, 0, 0, 0],
376 | [0, 0, 0, 0],
377 | [0, 0, 0, 0],
378 | [0, 0, 0, 0],
379 | [0, 0, 0, 0],
380 | [0, 0, 0, 0],
381 | [0, 0, 0, 0],
382 | [0, 0, 0, 0],
383 | [0, 0, 0, 0],
384 | [0, 0, 0, 0],
385 | [0, 0, 0, 0],
386 | [0, 0, 0, 0],
387 | [0, 0, 0, 0],
388 | [0, 0, 0, 0],
389 | [0, 0, 0, 0],
390 | [0, 0, 0, 0],
391 | [0, 0, 0, 0],
392 | [0, 0, 0, 0],
393 | [0, 0, 0, 0],
394 | [0, 0, 0, 0],
395 | [0, 0, 0, 0],
396 | [2, -3, 0, 1],
397 | [2, -2, 0, 1],
398 | [2, -1, 0, 1],
399 | [2, 0, 0, 1],
400 | [2, 1, 0, 1],
401 | [2, 2, 0, 1],
402 | [2, 3, 0, 1],
403 | [2, 4, 0, 1],
404 | [2, 5, 0, 1],
405 | [2, 6, 0, 1],
406 | [2, 7, 1, 1],
407 | [1, 8, 1, 1],
408 | [0, 9, 1, 1],
409 | [0, 10, 1, 1],
410 | [0, 11, 1, 1],
411 | [0, 12, 1, 1],
412 | [0, 12, 1, 1],
413 | [0, 12, 1, 1],
414 | [0, 12, 1, 1],
415 | [0, 12, 1, 1],
416 | [0, 12, 1, 1],
417 | [0, 12, 1, 1],
418 | [0, 12, 1, 1],
419 | [0, 12, 1, 1]
420 | ],[
421 | [0, 0, 0, 0],
422 | [0, 0, 0, 0],
423 | [0, 0, 0, 0],
424 | [0, 0, 0, 0],
425 | [0, 0, 0, 0],
426 | [0, 0, 0, 0],
427 | [0, 0, 0, 0],
428 | [0, 0, 0, 0],
429 | [0, 0, 0, 0],
430 | [0, 0, 0, 0],
431 | [0, 0, 0, 0],
432 | [0, 0, 0, 0],
433 | [0, 0, 0, 0],
434 | [0, 0, 0, 0],
435 | [0, 0, 0, 0],
436 | [0, 0, 0, 0],
437 | [0, 0, 0, 0],
438 | [0, 0, 0, 0],
439 | [0, 0, 0, 0],
440 | [0, 0, 0, 0],
441 | [0, 0, 0, 0],
442 | [0, 0, 0, 0],
443 | [0, 0, 0, 0],
444 | [0, 0, 0, 0],
445 | [0, 0, 0, 0],
446 | [0, 0, 0, 0],
447 | [0, 0, 0, 0],
448 | [0, 0, 0, 0],
449 | [0, 0, 0, 0],
450 | [0, 0, 0, 0],
451 | [0, 0, 0, 0],
452 | [0, 0, 0, 0],
453 | [0, 0, 0, 0],
454 | [0, -3, 1, 2],
455 | [0, -2, 1, 2],
456 | [0, -1, 1, 2],
457 | [0, 0, 1, 2],
458 | [0, 1, 1, 2],
459 | [0, 2, 1, 2],
460 | [0, 3, 1, 2],
461 | [0, 4, 1, 2],
462 | [0, 5, 1, 2],
463 | [0, 6, 1, 2],
464 | [0, 7, 1, 2],
465 | [0, 8, 1, 2],
466 | [1, 9, 1, 2],
467 | [1, 9, 1, 2],
468 | [1, 9, 1, 2],
469 | [1, 9, 1, 2],
470 | [1, 9, 1, 2],
471 | [1, 9, 1, 2]
472 | ],[
473 | [0, 0, 0, 0],
474 | [0, 0, 0, 0],
475 | [0, 0, 0, 0],
476 | [0, 0, 0, 0],
477 | [0, 0, 0, 0],
478 | [0, 0, 0, 0],
479 | [0, 0, 0, 0],
480 | [0, 0, 0, 0],
481 | [0, 0, 0, 0],
482 | [0, 0, 0, 0],
483 | [0, 0, 0, 0],
484 | [0, 0, 0, 0],
485 | [0, 0, 0, 0],
486 | [0, 0, 0, 0],
487 | [0, 0, 0, 0],
488 | [0, 0, 0, 0],
489 | [0, 0, 0, 0],
490 | [0, 0, 0, 0],
491 | [0, 0, 0, 0],
492 | [0, 0, 0, 0],
493 | [0, 0, 0, 0],
494 | [0, 0, 0, 0],
495 | [0, 0, 0, 0],
496 | [0, 0, 0, 0],
497 | [0, 0, 0, 0],
498 | [0, 0, 0, 0],
499 | [0, 0, 0, 0],
500 | [0, 0, 0, 0],
501 | [0, 0, 0, 0],
502 | [0, 0, 0, 0],
503 | [0, 0, 0, 0],
504 | [0, 0, 0, 0],
505 | [0, 0, 0, 0],
506 | [0, 0, 0, 0],
507 | [0, 0, 0, 0],
508 | [3, -3, 2, 2],
509 | [3, -2, 2, 2],
510 | [3, -1, 2, 2],
511 | [3, 0, 2, 2],
512 | [3, 1, 2, 2],
513 | [3, 2, 2, 2],
514 | [3, 3, 2, 2],
515 | [3, 4, 2, 2],
516 | [2, 5, 2, 2],
517 | [2, 6, 2, 2],
518 | [2, 7, 3, 2],
519 | [2, 8, 3, 2],
520 | [2, 9, 3, 2],
521 | [2, 9, 3, 2],
522 | [2, 9, 3, 2],
523 | [2, 9, 3, 2]
524 | ],[
525 | [0, 0, 0, 0],
526 | [0, 0, 0, 0],
527 | [0, 0, 0, 0],
528 | [0, 0, 0, 0],
529 | [0, 0, 0, 0],
530 | [0, 0, 0, 0],
531 | [0, 0, 0, 0],
532 | [0, 0, 0, 0],
533 | [0, 0, 0, 0],
534 | [0, 0, 0, 0],
535 | [0, 0, 0, 0],
536 | [0, 0, 0, 0],
537 | [0, 0, 0, 0],
538 | [0, 0, 0, 0],
539 | [0, 0, 0, 0],
540 | [0, 0, 0, 0],
541 | [0, 0, 0, 0],
542 | [0, 0, 0, 0],
543 | [0, 0, 0, 0],
544 | [0, 0, 0, 0],
545 | [0, 0, 0, 0],
546 | [0, 0, 0, 0],
547 | [0, 0, 0, 0],
548 | [0, 0, 0, 0],
549 | [0, 0, 0, 0],
550 | [0, 0, 0, 0],
551 | [0, 0, 0, 0],
552 | [0, 0, 0, 0],
553 | [0, 0, 0, 0],
554 | [0, 0, 0, 0],
555 | [0, 0, 0, 0],
556 | [0, 0, 0, 0],
557 | [0, 0, 0, 0],
558 | [0, 0, 0, 0],
559 | [0, 0, 0, 0],
560 | [0, 0, 0, 0],
561 | [0, 0, 0, 0],
562 | [0, 0, 0, 0],
563 | [-1, -3, 0, 4],
564 | [-1, -2, 0, 4],
565 | [-1, -1, 0, 4],
566 | [-1, 0, 0, 4],
567 | [-1, 1, 0, 4],
568 | [-1, 2, 0, 4],
569 | [-1, 3, 0, 4],
570 | [-1, 4, 0, 4],
571 | [-1, 5, 0, 4],
572 | [-1, 6, 0, 4],
573 | [-1, 7, 0, 4],
574 | [-1, 8, 0, 4],
575 | [-1, 9, 0, 4]
576 | ]
577 | ]
578 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/numbers/tetris_number7.json:
--------------------------------------------------------------------------------
1 | [
2 | [3,6,4,7,5,2,3],
3 | [
4 | [
5 | [2, -3, 0, 4],
6 | [2, -2, 0, 4],
7 | [2, -1, 0, 4],
8 | [2, 0, 0, 4],
9 | [2, 1, 0, 4],
10 | [2, 2, 0, 4],
11 | [2, 3, 0, 4],
12 | [2, 4, 0, 4],
13 | [2, 5, 0, 4],
14 | [2, 6, 0, 4],
15 | [2, 7, 0, 4],
16 | [2, 8, 0, 4],
17 | [2, 9, 0, 4],
18 | [2, 10, 0, 4],
19 | [2, 11, 0, 4],
20 | [2, 12, 0, 4],
21 | [2, 13, 0, 4],
22 | [2, 14, 0, 4],
23 | [2, 15, 0, 4],
24 | [3, 15, 0, 4],
25 | [3, 16, 0, 4],
26 | [3, 17, 0, 4],
27 | [3, 17, 0, 4],
28 | [3, 17, 0, 4],
29 | [3, 17, 0, 4],
30 | [3, 17, 0, 4],
31 | [3, 17, 0, 4],
32 | [3, 17, 0, 4],
33 | [3, 17, 0, 4],
34 | [3, 17, 0, 4],
35 | [3, 17, 0, 4],
36 | [3, 17, 0, 4],
37 | [3, 17, 0, 4],
38 | [3, 17, 0, 4],
39 | [3, 17, 0, 4],
40 | [3, 17, 0, 4],
41 | [3, 17, 0, 4],
42 | [3, 17, 0, 4]
43 | ],[
44 | [0, 0, 0, 0],
45 | [0, 0, 0, 0],
46 | [0, 0, 0, 0],
47 | [0, 0, 0, 0],
48 | [0, 0, 0, 0],
49 | [1, -3, 0, 2],
50 | [1, -2, 0, 2],
51 | [1, -1, 0, 2],
52 | [1, 0, 0, 2],
53 | [1, 1, 0, 2],
54 | [1, 2, 0, 2],
55 | [1, 3, 0, 2],
56 | [1, 4, 0, 2],
57 | [1, 5, 0, 2],
58 | [1, 6, 0, 2],
59 | [1, 7, 0, 2],
60 | [1, 8, 0, 2],
61 | [1, 9, 0, 2],
62 | [1, 10, 0, 2],
63 | [1, 11, 0, 2],
64 | [2, 12, 0, 2],
65 | [3, 13, 0, 2],
66 | [3, 14, 0, 2],
67 | [3, 15, 0, 2],
68 | [3, 15, 0, 2],
69 | [3, 15, 0, 2],
70 | [3, 15, 0, 2],
71 | [3, 15, 0, 2],
72 | [3, 15, 0, 2],
73 | [3, 15, 0, 2],
74 | [3, 15, 0, 2],
75 | [3, 15, 0, 2],
76 | [3, 15, 0, 2],
77 | [3, 15, 0, 2],
78 | [3, 15, 0, 2],
79 | [3, 15, 0, 2],
80 | [3, 15, 0, 2],
81 | [3, 15, 0, 2]
82 | ],[
83 | [0, 0, 0, 0],
84 | [0, 0, 0, 0],
85 | [0, 0, 0, 0],
86 | [0, 0, 0, 0],
87 | [0, 0, 0, 0],
88 | [0, 0, 0, 0],
89 | [0, 0, 0, 0],
90 | [0, 0, 0, 0],
91 | [0, 0, 0, 0],
92 | [0, 0, 0, 0],
93 | [0, -3, 3, 2],
94 | [1, -2, 3, 2],
95 | [1, -1, 3, 2],
96 | [1, 0, 3, 2],
97 | [1, 1, 3, 2],
98 | [1, 2, 3, 2],
99 | [1, 3, 3, 2],
100 | [1, 4, 3, 2],
101 | [1, 5, 3, 2],
102 | [1, 6, 3, 2],
103 | [1, 7, 3, 2],
104 | [1, 8, 3, 2],
105 | [1, 9, 2, 2],
106 | [2, 10, 2, 2],
107 | [3, 11, 2, 2],
108 | [3, 12, 2, 2],
109 | [3, 13, 2, 2],
110 | [3, 14, 2, 2],
111 | [3, 14, 2, 2],
112 | [3, 14, 2, 2],
113 | [3, 14, 2, 2],
114 | [3, 14, 2, 2],
115 | [3, 14, 2, 2],
116 | [3, 14, 2, 2],
117 | [3, 14, 2, 2],
118 | [3, 14, 2, 2],
119 | [3, 14, 2, 2],
120 | [3, 14, 2, 2]
121 | ],[
122 | [0, 0, 0, 0],
123 | [0, 0, 0, 0],
124 | [0, 0, 0, 0],
125 | [0, 0, 0, 0],
126 | [0, 0, 0, 0],
127 | [0, 0, 0, 0],
128 | [0, 0, 0, 0],
129 | [0, 0, 0, 0],
130 | [0, 0, 0, 0],
131 | [0, 0, 0, 0],
132 | [0, 0, 0, 0],
133 | [0, 0, 0, 0],
134 | [0, 0, 0, 0],
135 | [0, 0, 0, 0],
136 | [1, -3, 0, 4],
137 | [1, -2, 0, 4],
138 | [1, -1, 0, 4],
139 | [1, 0, 0, 4],
140 | [1, 1, 0, 4],
141 | [1, 2, 0, 4],
142 | [1, 3, 0, 4],
143 | [1, 4, 0, 4],
144 | [1, 5, 0, 4],
145 | [1, 6, 0, 4],
146 | [2, 7, 0, 4],
147 | [2, 8, 0, 4],
148 | [3, 9, 0, 4],
149 | [3, 10, 0, 4],
150 | [3, 11, 0, 4],
151 | [3, 11, 0, 4],
152 | [3, 11, 0, 4],
153 | [3, 11, 0, 4],
154 | [3, 11, 0, 4],
155 | [3, 11, 0, 4],
156 | [3, 11, 0, 4],
157 | [3, 11, 0, 4],
158 | [3, 11, 0, 4],
159 | [3, 11, 0, 4]
160 | ],[
161 | [0, 0, 0, 0],
162 | [0, 0, 0, 0],
163 | [0, 0, 0, 0],
164 | [0, 0, 0, 0],
165 | [0, 0, 0, 0],
166 | [0, 0, 0, 0],
167 | [0, 0, 0, 0],
168 | [0, 0, 0, 0],
169 | [0, 0, 0, 0],
170 | [0, 0, 0, 0],
171 | [0, 0, 0, 0],
172 | [0, 0, 0, 0],
173 | [0, 0, 0, 0],
174 | [0, 0, 0, 0],
175 | [0, 0, 0, 0],
176 | [0, 0, 0, 0],
177 | [0, 0, 0, 0],
178 | [0, 0, 0, 0],
179 | [0, -4, 1, 1],
180 | [0, -3, 1, 1],
181 | [0, -2, 1, 1],
182 | [0, -1, 1, 1],
183 | [0, 0, 1, 1],
184 | [0, 1, 1, 1],
185 | [0, 2, 1, 1],
186 | [0, 3, 1, 1],
187 | [0, 4, 1, 1],
188 | [1, 5, 1, 1],
189 | [1, 6, 1, 1],
190 | [1, 7, 0, 1],
191 | [1, 8, 0, 1],
192 | [1, 9, 0, 1],
193 | [1, 9, 0, 1],
194 | [1, 9, 0, 1],
195 | [1, 9, 0, 1],
196 | [1, 9, 0, 1],
197 | [1, 9, 0, 1],
198 | [1, 9, 0, 1]
199 | ],[
200 | [0, 0, 0, 0],
201 | [0, 0, 0, 0],
202 | [0, 0, 0, 0],
203 | [0, 0, 0, 0],
204 | [0, 0, 0, 0],
205 | [0, 0, 0, 0],
206 | [0, 0, 0, 0],
207 | [0, 0, 0, 0],
208 | [0, 0, 0, 0],
209 | [0, 0, 0, 0],
210 | [0, 0, 0, 0],
211 | [0, 0, 0, 0],
212 | [0, 0, 0, 0],
213 | [0, 0, 0, 0],
214 | [0, 0, 0, 0],
215 | [0, 0, 0, 0],
216 | [0, 0, 0, 0],
217 | [0, 0, 0, 0],
218 | [0, 0, 0, 0],
219 | [0, 0, 0, 0],
220 | [0, 0, 0, 0],
221 | [0, 0, 0, 0],
222 | [2, -3, 3, 2],
223 | [2, -2, 3, 2],
224 | [2, -1, 3, 2],
225 | [2, 0, 3, 2],
226 | [2, 1, 3, 2],
227 | [2, 2, 3, 2],
228 | [2, 3, 3, 2],
229 | [2, 4, 3, 2],
230 | [2, 5, 3, 2],
231 | [2, 6, 3, 2],
232 | [2, 7, 3, 2],
233 | [2, 8, 3, 2],
234 | [2, 9, 3, 2],
235 | [2, 9, 3, 2],
236 | [2, 9, 3, 2],
237 | [2, 9, 3, 2]
238 | ],[
239 | [0, 0, 0, 0],
240 | [0, 0, 0, 0],
241 | [0, 0, 0, 0],
242 | [0, 0, 0, 0],
243 | [0, 0, 0, 0],
244 | [0, 0, 0, 0],
245 | [0, 0, 0, 0],
246 | [0, 0, 0, 0],
247 | [0, 0, 0, 0],
248 | [0, 0, 0, 0],
249 | [0, 0, 0, 0],
250 | [0, 0, 0, 0],
251 | [0, 0, 0, 0],
252 | [0, 0, 0, 0],
253 | [0, 0, 0, 0],
254 | [0, 0, 0, 0],
255 | [0, 0, 0, 0],
256 | [0, 0, 0, 0],
257 | [0, 0, 0, 0],
258 | [0, 0, 0, 0],
259 | [0, 0, 0, 0],
260 | [0, 0, 0, 0],
261 | [0, 0, 0, 0],
262 | [0, 0, 0, 0],
263 | [0, 0, 0, 0],
264 | [-1, -3, 2, 3],
265 | [-1, -2, 2, 3],
266 | [-1, -1, 2, 3],
267 | [-1, 0, 2, 3],
268 | [-1, 1, 2, 3],
269 | [-1, 2, 2, 3],
270 | [-1, 3, 2, 3],
271 | [-1, 4, 2, 3],
272 | [-1, 5, 2, 3],
273 | [-1, 6, 1, 3],
274 | [-1, 7, 1, 3],
275 | [-1, 8, 1, 3],
276 | [-1, 9, 1, 3]
277 | ]
278 | ]
279 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/numbers/tetris_number9.json:
--------------------------------------------------------------------------------
1 | [
2 | [3,4,7,8,5,6,3,4,6,7,8,2],
3 | [
4 | [
5 | [1, -3, 3, 3],
6 | [1, -2, 3, 3],
7 | [1, -1, 3, 3],
8 | [1, 0, 3, 3],
9 | [1, 1, 3, 3],
10 | [1, 2, 3, 3],
11 | [1, 3, 3, 3],
12 | [1, 4, 3, 3],
13 | [1, 5, 3, 3],
14 | [1, 6, 3, 3],
15 | [1, 7, 3, 3],
16 | [1, 8, 3, 3],
17 | [1, 9, 3, 3],
18 | [1, 10, 3, 3],
19 | [1, 11, 3, 3],
20 | [1, 12, 3, 3],
21 | [1, 13, 3, 3],
22 | [1, 14, 3, 3],
23 | [1, 15, 3, 3],
24 | [2, 16, 3, 3],
25 | [2, 17, 3, 3],
26 | [2, 17, 3, 3],
27 | [2, 17, 3, 3],
28 | [2, 17, 3, 3],
29 | [2, 17, 3, 3],
30 | [2, 17, 3, 3],
31 | [2, 17, 3, 3],
32 | [2, 17, 3, 3],
33 | [2, 17, 3, 3],
34 | [2, 17, 3, 3],
35 | [2, 17, 3, 3],
36 | [2, 17, 3, 3],
37 | [2, 17, 3, 3],
38 | [2, 17, 3, 3],
39 | [2, 17, 3, 3],
40 | [2, 17, 3, 3],
41 | [2, 17, 3, 3],
42 | [2, 17, 3, 3],
43 | [2, 17, 3, 3],
44 | [2, 17, 3, 3],
45 | [2, 17, 3, 3],
46 | [2, 17, 3, 3],
47 | [2, 17, 3, 3],
48 | [2, 17, 3, 3],
49 | [2, 17, 3, 3],
50 | [2, 17, 3, 3],
51 | [2, 17, 3, 3],
52 | [2, 17, 3, 3],
53 | [2, 17, 3, 3],
54 | [2, 17, 3, 3],
55 | [2, 17, 3, 3],
56 | [2, 17, 3, 3],
57 | [2, 17, 3, 3]
58 | ],[
59 | [0, 0, 0, 0],
60 | [0, 0, 0, 0],
61 | [0, 0, 0, 0],
62 | [2, -3, 1, 3],
63 | [2, -2, 1, 3],
64 | [2, -1, 1, 3],
65 | [2, 0, 1, 3],
66 | [2, 1, 1, 3],
67 | [2, 2, 1, 3],
68 | [2, 3, 1, 3],
69 | [2, 4, 1, 3],
70 | [2, 5, 1, 3],
71 | [2, 6, 1, 3],
72 | [2, 7, 1, 3],
73 | [2, 8, 1, 3],
74 | [2, 9, 1, 3],
75 | [2, 10, 1, 3],
76 | [2, 11, 1, 3],
77 | [2, 12, 1, 3],
78 | [2, 13, 1, 3],
79 | [2, 14, 1, 3],
80 | [2, 15, 1, 3],
81 | [1, 16, 1, 3],
82 | [1, 17, 1, 3],
83 | [1, 17, 1, 3],
84 | [1, 17, 1, 3],
85 | [1, 17, 1, 3],
86 | [1, 17, 1, 3],
87 | [1, 17, 1, 3],
88 | [1, 17, 1, 3],
89 | [1, 17, 1, 3],
90 | [1, 17, 1, 3],
91 | [1, 17, 1, 3],
92 | [1, 17, 1, 3],
93 | [1, 17, 1, 3],
94 | [1, 17, 1, 3],
95 | [1, 17, 1, 3],
96 | [1, 17, 1, 3],
97 | [1, 17, 1, 3],
98 | [1, 17, 1, 3],
99 | [1, 17, 1, 3],
100 | [1, 17, 1, 3],
101 | [1, 17, 1, 3],
102 | [1, 17, 1, 3],
103 | [1, 17, 1, 3],
104 | [1, 17, 1, 3],
105 | [1, 17, 1, 3],
106 | [1, 17, 1, 3],
107 | [1, 17, 1, 3],
108 | [1, 17, 1, 3],
109 | [1, 17, 1, 3],
110 | [1, 17, 1, 3],
111 | [1, 17, 1, 3]
112 | ],[
113 | [0, 0, 0, 0],
114 | [0, 0, 0, 0],
115 | [0, 0, 0, 0],
116 | [0, 0, 0, 0],
117 | [0, 0, 0, 0],
118 | [0, 0, 0, 0],
119 | [0, -3, 0, 4],
120 | [0, -2, 0, 4],
121 | [0, -1, 0, 4],
122 | [0, 0, 0, 4],
123 | [0, 1, 0, 4],
124 | [0, 2, 0, 4],
125 | [0, 3, 0, 4],
126 | [0, 4, 0, 4],
127 | [0, 5, 0, 4],
128 | [0, 6, 0, 4],
129 | [0, 7, 0, 4],
130 | [0, 8, 0, 4],
131 | [0, 9, 0, 4],
132 | [0, 10, 0, 4],
133 | [0, 11, 0, 4],
134 | [-1, 12, 0, 4],
135 | [-1, 13, 0, 4],
136 | [-1, 14, 0, 4],
137 | [-1, 15, 0, 4],
138 | [-1, 16, 0, 4],
139 | [-1, 17, 0, 4],
140 | [-1, 17, 0, 4],
141 | [-1, 17, 0, 4],
142 | [-1, 17, 0, 4],
143 | [-1, 17, 0, 4],
144 | [-1, 17, 0, 4],
145 | [-1, 17, 0, 4],
146 | [-1, 17, 0, 4],
147 | [-1, 17, 0, 4],
148 | [-1, 17, 0, 4],
149 | [-1, 17, 0, 4],
150 | [-1, 17, 0, 4],
151 | [-1, 17, 0, 4],
152 | [-1, 17, 0, 4],
153 | [-1, 17, 0, 4],
154 | [-1, 17, 0, 4],
155 | [-1, 17, 0, 4],
156 | [-1, 17, 0, 4],
157 | [-1, 17, 0, 4],
158 | [-1, 17, 0, 4],
159 | [-1, 17, 0, 4],
160 | [-1, 17, 0, 4],
161 | [-1, 17, 0, 4],
162 | [-1, 17, 0, 4],
163 | [-1, 17, 0, 4],
164 | [-1, 17, 0, 4],
165 | [-1, 17, 0, 4]
166 | ],[
167 | [0, 0, 0, 0],
168 | [0, 0, 0, 0],
169 | [0, 0, 0, 0],
170 | [0, 0, 0, 0],
171 | [0, 0, 0, 0],
172 | [0, 0, 0, 0],
173 | [0, 0, 0, 0],
174 | [0, 0, 0, 0],
175 | [0, 0, 0, 0],
176 | [0, 0, 0, 0],
177 | [0, 0, 0, 0],
178 | [1, -3, 0, 4],
179 | [1, -2, 0, 4],
180 | [1, -1, 0, 4],
181 | [1, 0, 0, 4],
182 | [1, 1, 0, 4],
183 | [1, 2, 0, 4],
184 | [1, 3, 0, 4],
185 | [1, 4, 0, 4],
186 | [1, 5, 0, 4],
187 | [1, 6, 0, 4],
188 | [1, 7, 0, 4],
189 | [1, 8, 0, 4],
190 | [1, 9, 0, 4],
191 | [1, 10, 0, 4],
192 | [1, 11, 0, 4],
193 | [1, 12, 0, 4],
194 | [2, 13, 0, 4],
195 | [3, 14, 0, 4],
196 | [3, 15, 0, 4],
197 | [3, 15, 0, 4],
198 | [3, 15, 0, 4],
199 | [3, 15, 0, 4],
200 | [3, 15, 0, 4],
201 | [3, 15, 0, 4],
202 | [3, 15, 0, 4],
203 | [3, 15, 0, 4],
204 | [3, 15, 0, 4],
205 | [3, 15, 0, 4],
206 | [3, 15, 0, 4],
207 | [3, 15, 0, 4],
208 | [3, 15, 0, 4],
209 | [3, 15, 0, 4],
210 | [3, 15, 0, 4],
211 | [3, 15, 0, 4],
212 | [3, 15, 0, 4],
213 | [3, 15, 0, 4],
214 | [3, 15, 0, 4],
215 | [3, 15, 0, 4],
216 | [3, 15, 0, 4],
217 | [3, 15, 0, 4],
218 | [3, 15, 0, 4],
219 | [3, 15, 0, 4]
220 | ],[
221 | [0, 0, 0, 0],
222 | [0, 0, 0, 0],
223 | [0, 0, 0, 0],
224 | [0, 0, 0, 0],
225 | [0, 0, 0, 0],
226 | [0, 0, 0, 0],
227 | [0, 0, 0, 0],
228 | [0, 0, 0, 0],
229 | [0, 0, 0, 0],
230 | [0, 0, 0, 0],
231 | [0, 0, 0, 0],
232 | [0, 0, 0, 0],
233 | [0, 0, 0, 0],
234 | [0, 0, 0, 0],
235 | [0, 0, 0, 0],
236 | [2, -3, 1, 2],
237 | [2, -2, 1, 2],
238 | [2, -1, 1, 2],
239 | [2, 0, 1, 2],
240 | [2, 1, 1, 2],
241 | [2, 2, 1, 2],
242 | [2, 3, 1, 2],
243 | [2, 4, 1, 2],
244 | [2, 5, 1, 2],
245 | [2, 6, 1, 2],
246 | [2, 7, 1, 2],
247 | [2, 8, 1, 2],
248 | [2, 9, 1, 2],
249 | [2, 10, 1, 2],
250 | [2, 11, 0, 2],
251 | [3, 12, 0, 2],
252 | [3, 13, 0, 2],
253 | [3, 13, 0, 2],
254 | [3, 13, 0, 2],
255 | [3, 13, 0, 2],
256 | [3, 13, 0, 2],
257 | [3, 13, 0, 2],
258 | [3, 13, 0, 2],
259 | [3, 13, 0, 2],
260 | [3, 13, 0, 2],
261 | [3, 13, 0, 2],
262 | [3, 13, 0, 2],
263 | [3, 13, 0, 2],
264 | [3, 13, 0, 2],
265 | [3, 13, 0, 2],
266 | [3, 13, 0, 2],
267 | [3, 13, 0, 2],
268 | [3, 13, 0, 2],
269 | [3, 13, 0, 2],
270 | [3, 13, 0, 2],
271 | [3, 13, 0, 2],
272 | [3, 13, 0, 2],
273 | [3, 13, 0, 2]
274 | ],[
275 | [0, 0, 0, 0],
276 | [0, 0, 0, 0],
277 | [0, 0, 0, 0],
278 | [0, 0, 0, 0],
279 | [0, 0, 0, 0],
280 | [0, 0, 0, 0],
281 | [0, 0, 0, 0],
282 | [0, 0, 0, 0],
283 | [0, 0, 0, 0],
284 | [0, 0, 0, 0],
285 | [0, 0, 0, 0],
286 | [0, 0, 0, 0],
287 | [0, 0, 0, 0],
288 | [0, 0, 0, 0],
289 | [0, 0, 0, 0],
290 | [0, 0, 0, 0],
291 | [0, 0, 0, 0],
292 | [0, 0, 0, 0],
293 | [-1, -3, 0, 3],
294 | [-1, -2, 0, 3],
295 | [-1, -1, 0, 3],
296 | [-1, 0, 0, 3],
297 | [-1, 1, 0, 3],
298 | [-1, 2, 0, 3],
299 | [-1, 3, 0, 3],
300 | [-1, 4, 0, 3],
301 | [-1, 5, 0, 3],
302 | [-1, 6, 0, 3],
303 | [-1, 7, 0, 3],
304 | [-1, 8, 0, 3],
305 | [-1, 9, 0, 3],
306 | [-1, 10, 0, 3],
307 | [-1, 11, 0, 3],
308 | [-1, 12, 0, 3],
309 | [-1, 13, 0, 3],
310 | [-1, 13, 0, 3],
311 | [-1, 13, 0, 3],
312 | [-1, 13, 0, 3],
313 | [-1, 13, 0, 3],
314 | [-1, 13, 0, 3],
315 | [-1, 13, 0, 3],
316 | [-1, 13, 0, 3],
317 | [-1, 13, 0, 3],
318 | [-1, 13, 0, 3],
319 | [-1, 13, 0, 3],
320 | [-1, 13, 0, 3],
321 | [-1, 13, 0, 3],
322 | [-1, 13, 0, 3],
323 | [-1, 13, 0, 3],
324 | [-1, 13, 0, 3],
325 | [-1, 13, 0, 3],
326 | [-1, 13, 0, 3],
327 | [-1, 13, 0, 3]
328 | ],[
329 | [0, 0, 0, 0],
330 | [0, 0, 0, 0],
331 | [0, 0, 0, 0],
332 | [0, 0, 0, 0],
333 | [0, 0, 0, 0],
334 | [0, 0, 0, 0],
335 | [0, 0, 0, 0],
336 | [0, 0, 0, 0],
337 | [0, 0, 0, 0],
338 | [0, 0, 0, 0],
339 | [0, 0, 0, 0],
340 | [0, 0, 0, 0],
341 | [0, 0, 0, 0],
342 | [0, 0, 0, 0],
343 | [0, 0, 0, 0],
344 | [0, 0, 0, 0],
345 | [0, 0, 0, 0],
346 | [0, 0, 0, 0],
347 | [0, 0, 0, 0],
348 | [0, 0, 0, 0],
349 | [2, -3, 1, 6],
350 | [2, -2, 1, 6],
351 | [2, -1, 1, 6],
352 | [2, 0, 1, 6],
353 | [2, 1, 1, 6],
354 | [2, 2, 1, 6],
355 | [2, 3, 1, 6],
356 | [2, 4, 1, 6],
357 | [2, 5, 1, 6],
358 | [2, 6, 1, 6],
359 | [2, 7, 1, 6],
360 | [2, 8, 1, 6],
361 | [2, 9, 1, 6],
362 | [1, 10, 1, 6],
363 | [1, 11, 0, 6],
364 | [1, 12, 0, 6],
365 | [1, 13, 0, 6],
366 | [1, 13, 0, 6],
367 | [1, 13, 0, 6],
368 | [1, 13, 0, 6],
369 | [1, 13, 0, 6],
370 | [1, 13, 0, 6],
371 | [1, 13, 0, 6],
372 | [1, 13, 0, 6],
373 | [1, 13, 0, 6],
374 | [1, 13, 0, 6],
375 | [1, 13, 0, 6],
376 | [1, 13, 0, 6],
377 | [1, 13, 0, 6],
378 | [1, 13, 0, 6],
379 | [1, 13, 0, 6],
380 | [1, 13, 0, 6],
381 | [1, 13, 0, 6]
382 | ],[
383 | [0, 0, 0, 0],
384 | [0, 0, 0, 0],
385 | [0, 0, 0, 0],
386 | [0, 0, 0, 0],
387 | [0, 0, 0, 0],
388 | [0, 0, 0, 0],
389 | [0, 0, 0, 0],
390 | [0, 0, 0, 0],
391 | [0, 0, 0, 0],
392 | [0, 0, 0, 0],
393 | [0, 0, 0, 0],
394 | [0, 0, 0, 0],
395 | [0, 0, 0, 0],
396 | [0, 0, 0, 0],
397 | [0, 0, 0, 0],
398 | [0, 0, 0, 0],
399 | [0, 0, 0, 0],
400 | [0, 0, 0, 0],
401 | [0, 0, 0, 0],
402 | [0, 0, 0, 0],
403 | [0, 0, 0, 0],
404 | [0, 0, 0, 0],
405 | [0, 0, 0, 0],
406 | [0, 0, 0, 0],
407 | [0, 0, 0, 0],
408 | [0, -3, 1, 3],
409 | [0, -2, 1, 3],
410 | [0, -1, 1, 3],
411 | [0, 0, 1, 3],
412 | [0, 1, 1, 3],
413 | [0, 2, 1, 3],
414 | [0, 3, 1, 3],
415 | [0, 4, 1, 3],
416 | [0, 5, 1, 3],
417 | [0, 6, 1, 3],
418 | [0, 7, 1, 3],
419 | [0, 8, 1, 3],
420 | [0, 9, 1, 3],
421 | [0, 10, 0, 3],
422 | [0, 11, 0, 3],
423 | [0, 12, 0, 3],
424 | [0, 12, 0, 3],
425 | [0, 12, 0, 3],
426 | [0, 12, 0, 3],
427 | [0, 12, 0, 3],
428 | [0, 12, 0, 3],
429 | [0, 12, 0, 3],
430 | [0, 12, 0, 3],
431 | [0, 12, 0, 3],
432 | [0, 12, 0, 3],
433 | [0, 12, 0, 3],
434 | [0, 12, 0, 3],
435 | [0, 12, 0, 3]
436 | ],[
437 | [0, 0, 0, 0],
438 | [0, 0, 0, 0],
439 | [0, 0, 0, 0],
440 | [0, 0, 0, 0],
441 | [0, 0, 0, 0],
442 | [0, 0, 0, 0],
443 | [0, 0, 0, 0],
444 | [0, 0, 0, 0],
445 | [0, 0, 0, 0],
446 | [0, 0, 0, 0],
447 | [0, 0, 0, 0],
448 | [0, 0, 0, 0],
449 | [0, 0, 0, 0],
450 | [0, 0, 0, 0],
451 | [0, 0, 0, 0],
452 | [0, 0, 0, 0],
453 | [0, 0, 0, 0],
454 | [0, 0, 0, 0],
455 | [0, 0, 0, 0],
456 | [0, 0, 0, 0],
457 | [0, 0, 0, 0],
458 | [0, 0, 0, 0],
459 | [0, 0, 0, 0],
460 | [0, 0, 0, 0],
461 | [0, 0, 0, 0],
462 | [0, 0, 0, 0],
463 | [0, 0, 0, 0],
464 | [0, 0, 0, 0],
465 | [0, 0, 0, 0],
466 | [2, -3, 0, 7],
467 | [2, -2, 0, 7],
468 | [2, -1, 0, 7],
469 | [2, 0, 0, 7],
470 | [2, 1, 0, 7],
471 | [2, 2, 0, 7],
472 | [2, 3, 0, 7],
473 | [2, 4, 0, 7],
474 | [2, 5, 0, 7],
475 | [2, 6, 0, 7],
476 | [2, 7, 0, 7],
477 | [2, 8, 1, 7],
478 | [3, 9, 1, 7],
479 | [3, 10, 1, 7],
480 | [3, 11, 1, 7],
481 | [3, 11, 1, 7],
482 | [3, 11, 1, 7],
483 | [3, 11, 1, 7],
484 | [3, 11, 1, 7],
485 | [3, 11, 1, 7],
486 | [3, 11, 1, 7],
487 | [3, 11, 1, 7],
488 | [3, 11, 1, 7],
489 | [3, 11, 1, 7]
490 | ],[
491 | [0, 0, 0, 0],
492 | [0, 0, 0, 0],
493 | [0, 0, 0, 0],
494 | [0, 0, 0, 0],
495 | [0, 0, 0, 0],
496 | [0, 0, 0, 0],
497 | [0, 0, 0, 0],
498 | [0, 0, 0, 0],
499 | [0, 0, 0, 0],
500 | [0, 0, 0, 0],
501 | [0, 0, 0, 0],
502 | [0, 0, 0, 0],
503 | [0, 0, 0, 0],
504 | [0, 0, 0, 0],
505 | [0, 0, 0, 0],
506 | [0, 0, 0, 0],
507 | [0, 0, 0, 0],
508 | [0, 0, 0, 0],
509 | [0, 0, 0, 0],
510 | [0, 0, 0, 0],
511 | [0, 0, 0, 0],
512 | [0, 0, 0, 0],
513 | [0, 0, 0, 0],
514 | [0, 0, 0, 0],
515 | [0, 0, 0, 0],
516 | [0, 0, 0, 0],
517 | [0, 0, 0, 0],
518 | [0, 0, 0, 0],
519 | [0, 0, 0, 0],
520 | [0, 0, 0, 0],
521 | [0, 0, 0, 0],
522 | [0, 0, 0, 0],
523 | [0, 0, 0, 0],
524 | [-2, -3, 1, 5],
525 | [-2, -2, 1, 5],
526 | [-2, -1, 1, 5],
527 | [-2, 0, 1, 5],
528 | [-2, 1, 1, 5],
529 | [-2, 2, 1, 5],
530 | [-2, 3, 1, 5],
531 | [-2, 4, 1, 5],
532 | [-2, 5, 1, 5],
533 | [-2, 6, 1, 5],
534 | [-2, 7, 1, 5],
535 | [-2, 8, 1, 5],
536 | [-2, 9, 1, 5],
537 | [-2, 10, 1, 5],
538 | [-2, 10, 1, 5],
539 | [-2, 10, 1, 5],
540 | [-2, 10, 1, 5],
541 | [-2, 10, 1, 5],
542 | [-2, 10, 1, 5],
543 | [-2, 10, 1, 5]
544 | ],[
545 | [0, 0, 0, 0],
546 | [0, 0, 0, 0],
547 | [0, 0, 0, 0],
548 | [0, 0, 0, 0],
549 | [0, 0, 0, 0],
550 | [0, 0, 0, 0],
551 | [0, 0, 0, 0],
552 | [0, 0, 0, 0],
553 | [0, 0, 0, 0],
554 | [0, 0, 0, 0],
555 | [0, 0, 0, 0],
556 | [0, 0, 0, 0],
557 | [0, 0, 0, 0],
558 | [0, 0, 0, 0],
559 | [0, 0, 0, 0],
560 | [0, 0, 0, 0],
561 | [0, 0, 0, 0],
562 | [0, 0, 0, 0],
563 | [0, 0, 0, 0],
564 | [0, 0, 0, 0],
565 | [0, 0, 0, 0],
566 | [0, 0, 0, 0],
567 | [0, 0, 0, 0],
568 | [0, 0, 0, 0],
569 | [0, 0, 0, 0],
570 | [0, 0, 0, 0],
571 | [0, 0, 0, 0],
572 | [0, 0, 0, 0],
573 | [0, 0, 0, 0],
574 | [0, 0, 0, 0],
575 | [0, 0, 0, 0],
576 | [0, 0, 0, 0],
577 | [0, 0, 0, 0],
578 | [0, 0, 0, 0],
579 | [0, 0, 0, 0],
580 | [0, 0, 0, 0],
581 | [0, 0, 0, 0],
582 | [0, -3, 1, 7],
583 | [0, -2, 1, 7],
584 | [0, -1, 1, 7],
585 | [0, 0, 1, 7],
586 | [0, 1, 1, 7],
587 | [0, 2, 1, 7],
588 | [0, 3, 1, 7],
589 | [0, 4, 1, 7],
590 | [0, 5, 1, 7],
591 | [0, 6, 0, 7],
592 | [0, 7, 0, 7],
593 | [0, 8, 0, 7],
594 | [0, 9, 0, 7],
595 | [0, 9, 0, 7],
596 | [0, 9, 0, 7],
597 | [0, 9, 0, 7]
598 | ],[
599 | [0, 0, 0, 0],
600 | [0, 0, 0, 0],
601 | [0, 0, 0, 0],
602 | [0, 0, 0, 0],
603 | [0, 0, 0, 0],
604 | [0, 0, 0, 0],
605 | [0, 0, 0, 0],
606 | [0, 0, 0, 0],
607 | [0, 0, 0, 0],
608 | [0, 0, 0, 0],
609 | [0, 0, 0, 0],
610 | [0, 0, 0, 0],
611 | [0, 0, 0, 0],
612 | [0, 0, 0, 0],
613 | [0, 0, 0, 0],
614 | [0, 0, 0, 0],
615 | [0, 0, 0, 0],
616 | [0, 0, 0, 0],
617 | [0, 0, 0, 0],
618 | [0, 0, 0, 0],
619 | [0, 0, 0, 0],
620 | [0, 0, 0, 0],
621 | [0, 0, 0, 0],
622 | [0, 0, 0, 0],
623 | [0, 0, 0, 0],
624 | [0, 0, 0, 0],
625 | [0, 0, 0, 0],
626 | [0, 0, 0, 0],
627 | [0, 0, 0, 0],
628 | [0, 0, 0, 0],
629 | [0, 0, 0, 0],
630 | [0, 0, 0, 0],
631 | [0, 0, 0, 0],
632 | [0, 0, 0, 0],
633 | [0, 0, 0, 0],
634 | [0, 0, 0, 0],
635 | [0, 0, 0, 0],
636 | [0, 0, 0, 0],
637 | [0, 0, 0, 0],
638 | [0, 0, 0, 0],
639 | [2, -3, 2, 5],
640 | [2, -2, 2, 5],
641 | [2, -1, 2, 5],
642 | [2, 0, 2, 5],
643 | [2, 1, 2, 5],
644 | [2, 2, 2, 5],
645 | [2, 3, 2, 5],
646 | [2, 4, 2, 5],
647 | [2, 5, 2, 5],
648 | [2, 6, 2, 5],
649 | [2, 7, 2, 5],
650 | [2, 8, 2, 5],
651 | [2, 9, 2, 5]
652 | ]
653 | ]
654 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/splash_screen.json:
--------------------------------------------------------------------------------
1 |
2 | [
3 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
4 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
5 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
6 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
7 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
8 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
9 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
10 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
11 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
12 | [0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
13 | [0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
14 | [0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
15 | [0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
16 | [0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
17 | [0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
18 | [0,0,0,0,0,0,0,0,0,7,0,7,0,7,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0],
19 | [0,0,0,0,0,0,0,0,0,7,0,7,0,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0],
20 | [0,0,0,0,0,0,0,0,0,7,0,7,0,7,0,0,5,5,5,5,5,5,5,0,0,0,0,0,0,0],
21 | [0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0],
22 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0],
23 | [0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
24 | [0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0],
25 | [0,0,0,0,0,0,0,6,6,6,6,6,6,0,0,0,4,0,4,4,4,4,4,0,0,0,0,0,0,0],
26 | [0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0],
27 | [0,0,0,0,0,0,0,0,0,6,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
28 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,0,0,0,0,0,0,0],
29 | [0,0,0,0,0,0,0,0,0,3,3,3,3,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
30 | [0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,2,2,2,2,0,0,0,0,0,0,0],
31 | [0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0],
32 | [0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,2,2,2,2,0,0,0,0,0,0,0],
33 | [0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
34 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,0,0,0,0,0,0,0,0],
35 | [0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,7,0,7,0,7,0,0,0,0,0,0,0],
36 | [0,0,0,0,0,0,0,8,0,8,8,8,8,8,0,0,0,0,7,0,7,0,7,0,0,0,0,0,0,0],
37 | [0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,7,0,7,0,7,0,0,0,0,0,0,0],
38 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0],
39 | [0,0,0,0,0,0,0,0,0,0,5,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
40 | [0,0,0,0,0,0,0,0,0,5,0,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
41 | [0,0,0,0,0,0,0,0,0,5,0,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
42 | [0,0,0,0,0,0,0,0,0,5,0,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
43 | [0,0,0,0,0,0,0,0,0,5,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
44 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
45 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
46 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
47 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
48 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
49 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
50 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
51 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
52 | [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
53 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/tetris_blocks.json:
--------------------------------------------------------------------------------
1 |
2 | [
3 | [
4 | [[0,0,0,0],
5 | [0,0,0,0],
6 | [0,0,0,0],
7 | [0,0,0,0]],
8 | [[0,0,0,0],
9 | [0,0,0,0],
10 | [0,0,0,0],
11 | [0,0,0,0]],
12 | [[0,0,0,0],
13 | [0,0,0,0],
14 | [0,0,0,0],
15 | [0,0,0,0]],
16 | [[0,0,0,0],
17 | [0,0,0,0],
18 | [0,0,0,0],
19 | [0,0,0,0]]
20 | ],[
21 | [[0,0,0,0],
22 | [0,0,0,0],
23 | [1,1,1,1],
24 | [0,0,0,0]],
25 | [[0,1,0,0],
26 | [0,1,0,0],
27 | [0,1,0,0],
28 | [0,1,0,0]],
29 | [[0,0,0,0],
30 | [0,0,0,0],
31 | [1,1,1,1],
32 | [0,0,0,0]],
33 | [[0,1,0,0],
34 | [0,1,0,0],
35 | [1,1,0,0],
36 | [0,1,0,0]]
37 | ],[
38 | [[0,0,1,0],
39 | [0,0,1,0],
40 | [0,1,1,0],
41 | [0,0,0,0]],
42 | [[0,0,0,0],
43 | [0,1,0,0],
44 | [0,1,1,1],
45 | [0,0,0,0]],
46 | [[0,1,1,0],
47 | [0,1,0,0],
48 | [0,1,0,0],
49 | [0,0,0,0]],
50 | [[0,0,0,0],
51 | [0,1,1,1],
52 | [0,0,0,1],
53 | [0,0,0,0]]
54 | ],[
55 | [[0,1,0,0],
56 | [0,1,0,0],
57 | [0,1,1,0],
58 | [0,0,0,0]],
59 | [[0,0,0,0],
60 | [0,1,1,1],
61 | [0,1,0,0],
62 | [0,0,0,0]],
63 | [[0,1,1,0],
64 | [0,0,1,0],
65 | [0,0,1,0],
66 | [0,0,0,0]],
67 | [[0,0,0,0],
68 | [0,0,0,1],
69 | [0,1,1,1],
70 | [0,0,0,0]]
71 | ],[
72 | [[0,0,0,0],
73 | [0,1,1,0],
74 | [0,1,1,0],
75 | [0,0,0,0]],
76 | [[0,0,0,0],
77 | [0,1,1,0],
78 | [0,1,1,0],
79 | [0,0,0,0]],
80 | [[0,0,0,0],
81 | [0,1,1,0],
82 | [0,1,1,0],
83 | [0,0,0,0]],
84 | [[0,0,0,0],
85 | [0,1,1,0],
86 | [0,1,1,0],
87 | [0,0,0,0]]
88 | ],[
89 | [[0,0,0,0],
90 | [0,0,1,0],
91 | [0,1,1,1],
92 | [0,0,0,0]],
93 | [[0,0,1,0],
94 | [0,0,1,1],
95 | [0,0,1,0],
96 | [0,0,0,0]],
97 | [[0,0,0,0],
98 | [0,1,1,1],
99 | [0,0,1,0],
100 | [0,0,0,0]],
101 | [[0,0,1,0],
102 | [0,1,1,0],
103 | [0,0,1,0],
104 | [0,0,0,0]]
105 | ],[
106 | [[0,0,0,0],
107 | [0,0,1,1],
108 | [0,1,1,0],
109 | [0,0,0,0]],
110 | [[0,1,0,0],
111 | [0,1,1,0],
112 | [0,0,1,0],
113 | [0,0,0,0]],
114 | [[0,0,0,0],
115 | [0,0,1,1],
116 | [0,1,1,0],
117 | [0,0,0,0]],
118 | [[0,1,0,0],
119 | [0,1,1,0],
120 | [0,0,1,0],
121 | [0,0,0,0]]
122 | ],[
123 | [[0,0,0,0],
124 | [0,1,1,0],
125 | [0,0,1,1],
126 | [0,0,0,0]],
127 | [[0,0,1,0],
128 | [0,1,1,0],
129 | [0,1,0,0],
130 | [0,0,0,0]],
131 | [[0,0,0,0],
132 | [0,1,1,0],
133 | [0,0,1,1],
134 | [0,0,0,0]],
135 | [[0,0,1,0],
136 | [0,1,1,0],
137 | [0,1,0,0],
138 | [0,0,0,0]]
139 | ]
140 | ]
141 |
--------------------------------------------------------------------------------
/tetris_clock/assets/weather/cloudy.json:
--------------------------------------------------------------------------------
1 | [1200,
2 | [
3 | [
4 | [ 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0, 0],
5 | [ 0,10,10,10,10,10,10,10,10,10, 0, 0, 0],
6 | [10,10,10,10, 9, 9, 9, 9,10,10,10, 0, 0],
7 | [10,10,10, 9, 9, 9, 9, 9, 9,10,10, 0, 0],
8 | [10,10,10,10, 9, 9, 9,10,10,10,10, 0, 0],
9 | [ 0,10,10,10,10,10,10,10,10, 0, 0, 0, 0]
10 | ],[
11 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
12 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
13 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
14 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
15 | [ 0,10,10,10,10, 9, 9, 9,10,10,10,10, 0],
16 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0]
17 | ],[
18 | [ 0, 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0],
19 | [ 0, 0, 0,10,10,10,10,10,10,10,10,10, 0],
20 | [ 0, 0,10,10, 9, 9, 9, 9,10,10,10,10,10],
21 | [ 0, 0,10, 9, 9, 9, 9, 9, 9,10,10,10,10],
22 | [ 0, 0,10,10,10, 9, 9, 9,10,10,10,10,10],
23 | [ 0, 0, 0,10,10,10,10,10,10,10,10, 0, 0]
24 | ],[
25 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
26 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
27 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
28 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
29 | [ 0,10,10,10, 9, 9, 9,10,10,10,10,10, 0],
30 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0]
31 | ]
32 | ]
33 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/weather/foggy.json:
--------------------------------------------------------------------------------
1 | [ 2000,
2 | [
3 | [
4 | [0,0,0,0,0,0,0,0,0,0,0],
5 | [0,0,0,0,0,0,0,0,0,0,0],
6 | [0,9,9,9,9,9,9,0,0,0,0],
7 | [0,0,0,0,0,0,0,0,0,0,0],
8 | [0,0,0,9,9,9,9,9,9,0,0],
9 | [0,0,0,0,0,0,0,0,0,0,0],
10 | [0,9,9,9,9,9,9,0,0,0,0]
11 | ],[
12 | [0,0,0,0,0,0,0,0,0,0,0],
13 | [0,0,0,0,0,0,0,0,0,0,0],
14 | [0,0,9,9,9,9,9,9,0,0,0],
15 | [0,0,0,0,0,0,0,0,0,0,0],
16 | [0,0,9,9,9,9,9,9,0,0,0],
17 | [0,0,0,0,0,0,0,0,0,0,0],
18 | [0,0,9,9,9,9,9,9,0,0,0]
19 | ],[
20 | [0,0,0,0,0,0,0,0,0,0,0],
21 | [0,0,0,0,0,0,0,0,0,0,0],
22 | [0,0,0,9,9,9,9,9,9,0,0],
23 | [0,0,0,0,0,0,0,0,0,0,0],
24 | [0,9,9,9,9,9,9,0,0,0,0],
25 | [0,0,0,0,0,0,0,0,0,0,0],
26 | [0,0,0,9,9,9,9,9,9,0,0]
27 | ],[
28 | [0,0,0,0,0,0,0,0,0,0,0],
29 | [0,0,0,0,0,0,0,0,0,0,0],
30 | [0,0,9,9,9,9,9,9,0,0,0],
31 | [0,0,0,0,0,0,0,0,0,0,0],
32 | [0,0,9,9,9,9,9,9,0,0,0],
33 | [0,0,0,0,0,0,0,0,0,0,0],
34 | [0,0,9,9,9,9,9,9,0,0,0]
35 | ]
36 | ]
37 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/weather/rainy.json:
--------------------------------------------------------------------------------
1 | [1000,
2 | [
3 | [
4 | [ 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0, 0],
5 | [ 0,10,10,10,10,10,10,10,10,10, 0, 0, 0],
6 | [10,10,10,10, 9, 9, 9, 9,10,10,10, 0, 0],
7 | [10,10,10, 9, 9, 9, 9, 9, 9,10,10, 0, 0],
8 | [10,10,10,10, 9, 9, 9,10,10,10,10, 0, 0],
9 | [ 0,10,10,10,10,10,10,10,10, 0, 0, 0, 0],
10 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
11 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
12 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0]
13 | ],[
14 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
15 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
16 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
17 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
18 | [ 0,10,10,10,10, 9, 9, 9,10,10,10,10, 0],
19 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
20 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
21 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
22 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0]
23 | ],[
24 | [ 0, 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0],
25 | [ 0, 0, 0,10,10,10,10,10,10,10,10,10, 0],
26 | [ 0, 0,10,10, 9, 9, 9, 9,10,10,10,10,10],
27 | [ 0, 0,10, 9, 9, 9, 9, 9, 9,10,10,10,10],
28 | [ 0, 0,10,10,10, 9, 9, 9,10,10,10,10,10],
29 | [ 0, 0, 0,10,10,10,10,10,10,10,10, 0, 0],
30 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
31 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
32 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0]
33 | ],[
34 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
35 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
36 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
37 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
38 | [ 0,10,10,10, 9, 9, 9,10,10,10,10,10, 0],
39 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
40 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
41 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
42 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0]
43 | ]
44 | ]
45 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/weather/snowy.json:
--------------------------------------------------------------------------------
1 | [ 1100,
2 | [
3 | [
4 | [ 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0, 0],
5 | [ 0,10,10,10,10,10,10,10,10,10, 0, 0, 0],
6 | [10,10,10,10, 9, 9, 9, 9,10,10,10, 0, 0],
7 | [10,10,10, 9, 9, 9, 9, 9, 9,10,10, 0, 0],
8 | [10,10,10,10, 9, 9, 9,10,10,10,10, 0, 0],
9 | [ 0,10,10,10,10,10,10,10,10, 0, 0, 0, 0],
10 | [ 0, 9, 0, 9, 0, 0, 0, 0, 0, 9, 0, 9, 0],
11 | [ 0, 0, 9, 0, 0, 9, 0, 9, 0, 0, 9, 0, 0],
12 | [ 0, 9, 0, 9, 0, 0, 9, 0, 0, 9, 0, 9, 0],
13 | [ 0, 0, 0, 0, 0, 9, 0, 9, 0, 0, 0, 0, 0]
14 | ],[
15 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
16 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
17 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
18 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
19 | [ 0,10,10,10,10, 9, 9, 9,10,10,10,10, 0],
20 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
21 | [ 0, 0, 0, 0, 0, 9, 0, 9, 0, 0, 0, 0, 0],
22 | [ 0, 9, 0, 9, 0, 0, 9, 0, 0, 9, 0, 9, 0],
23 | [ 0, 0, 9, 0, 0, 9, 0, 9, 0, 0, 9, 0, 0],
24 | [ 0, 9, 0, 9, 0, 0, 0, 0, 0, 9, 0, 9, 0]
25 | ],[
26 | [ 0, 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0],
27 | [ 0, 0, 0,10,10,10,10,10,10,10,10,10, 0],
28 | [ 0, 0,10,10, 9, 9, 9, 9,10,10,10,10,10],
29 | [ 0, 0,10, 9, 9, 9, 9, 9, 9,10,10,10,10],
30 | [ 0, 0,10,10,10, 9, 9, 9,10,10,10,10,10],
31 | [ 0, 0, 0,10,10,10,10,10,10,10,10, 0, 0],
32 | [ 0, 9, 0, 9, 0, 0, 0, 0, 0, 9, 0, 9, 0],
33 | [ 0, 0, 9, 0, 0, 9, 0, 9, 0, 0, 9, 0, 0],
34 | [ 0, 9, 0, 9, 0, 0, 9, 0, 0, 9, 0, 9, 0],
35 | [ 0, 0, 0, 0, 0, 9, 0, 9, 0, 0, 0, 0, 0]
36 | ],[
37 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
38 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
39 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
40 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
41 | [ 0,10,10,10, 9, 9, 9,10,10,10,10,10, 0],
42 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
43 | [ 0, 0, 0, 0, 0, 9, 0, 9, 0, 0, 0, 0, 0],
44 | [ 0, 9, 0, 9, 0, 0, 9, 0, 0, 9, 0, 9, 0],
45 | [ 0, 0, 9, 0, 0, 9, 0, 9, 0, 0, 9, 0, 0],
46 | [ 0, 9, 0, 9, 0, 0, 0, 0, 0, 9, 0, 9, 0]
47 | ]
48 | ]
49 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/weather/sun.json:
--------------------------------------------------------------------------------
1 | [ 1600,
2 | [
3 | [
4 | [7,7,7,7,7,7,0,0,0,0,0],
5 | [7,7,7,7,7,7,0,7,7,0,0],
6 | [7,7,7,7,7,0,0,0,0,0,0],
7 | [7,7,7,7,7,0,7,7,0,0,0],
8 | [7,7,7,7,0,0,0,0,0,0,0],
9 | [7,7,0,0,0,7,0,0,0,0,0],
10 | [0,0,0,7,0,0,7,0,0,0,0],
11 | [0,7,0,7,0,0,0,0,0,0,0],
12 | [0,7,0,0,0,0,0,0,0,0,0],
13 | [0,0,0,0,0,0,0,0,0,0,0],
14 | [0,0,0,0,0,0,0,0,0,0,0]
15 | ],[
16 | [7,7,7,7,7,7,0,0,0,0,0],
17 | [7,7,7,7,7,7,0,0,7,7,0],
18 | [7,7,7,7,7,0,0,0,0,0,0],
19 | [7,7,7,7,7,0,0,7,0,0,0],
20 | [7,7,7,7,0,0,0,0,7,0,0],
21 | [7,7,0,0,0,0,0,0,0,0,0],
22 | [0,0,0,0,0,0,7,0,0,0,0],
23 | [0,0,0,7,0,0,0,7,0,0,0],
24 | [0,7,0,0,7,0,0,0,0,0,0],
25 | [0,7,0,0,0,0,0,0,0,0,0],
26 | [0,0,0,0,0,0,0,0,0,0,0]
27 | ]
28 | ]
29 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/weather/thunderstorm.json:
--------------------------------------------------------------------------------
1 | [ 300,
2 | [
3 | [
4 | [ 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0, 0],
5 | [ 0,10,10,10,10,10,10,10,10,10, 0, 0, 0],
6 | [10,10,10,10,10, 9, 9, 9,10,10,10, 0, 0],
7 | [10,10,10,10, 9, 9, 9, 9, 9,10,10, 0, 0],
8 | [10,10,10,10, 9, 9, 9,10,10,10,10, 0, 0],
9 | [ 0,10,10,10,10,10,10,10,10, 0, 0, 0, 0],
10 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
11 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
12 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
13 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
14 | ],[
15 | [ 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0, 0],
16 | [ 0,10,10,10,10,10,10,10,10,10, 0, 0, 0],
17 | [10,10,10,10,10, 9, 9, 9,10,10,10, 0, 0],
18 | [10,10,10,10, 9, 7, 9, 9, 9,10,10, 0, 0],
19 | [10,10,10, 7, 7, 7, 9,10,10,10,10, 0, 0],
20 | [ 0,10,10, 7,10,10,10,10,10, 0, 0, 0, 0],
21 | [ 0, 0, 0, 9, 7, 0, 0, 9, 0, 0, 0, 0, 0],
22 | [ 0, 0, 0, 9, 7, 9, 0, 9, 0, 9, 0, 0, 0],
23 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
24 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
25 | ],[
26 | [ 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0, 0],
27 | [ 0,10,10,10,10,10,10,10,10,10, 0, 0, 0],
28 | [10,10,10,10,10, 9, 9, 9,10,10,10, 0, 0],
29 | [10,10,10,10, 9, 9, 9, 9, 9,10,10, 0, 0],
30 | [10,10,10,10, 9, 9, 9,10,10,10,10, 0, 0],
31 | [ 0,10,10,10,10,10,10,10,10, 0, 0, 0, 0],
32 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
33 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
34 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
35 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
36 | ],[
37 | [ 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0, 0],
38 | [ 0,10,10,10,10,10,10,10,10,10, 0, 0, 0],
39 | [10,10,10,10,10, 9, 9, 9,10,10,10, 0, 0],
40 | [10,10,10,10, 9, 7, 9, 9, 9,10,10, 0, 0],
41 | [10,10,10, 7, 7, 7, 9,10,10,10,10, 0, 0],
42 | [ 0,10,10, 7,10,10,10,10,10, 0, 0, 0, 0],
43 | [ 0, 0, 0, 9, 7, 0, 0, 9, 0, 0, 0, 0, 0],
44 | [ 0, 0, 0, 9, 7, 9, 0, 9, 0, 9, 0, 0, 0],
45 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
46 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
47 | ],[
48 | [ 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0, 0],
49 | [ 0,10,10,10,10,10,10,10,10,10, 0, 0, 0],
50 | [10,10,10,10,10, 9, 9, 9,10,10,10, 0, 0],
51 | [10,10,10,10, 9, 9, 9, 9, 9,10,10, 0, 0],
52 | [10,10,10,10, 9, 9, 9,10,10,10,10, 0, 0],
53 | [ 0,10,10,10,10,10,10,10,10, 0, 0, 0, 0],
54 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
55 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
56 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
57 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
58 | ],[
59 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
60 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
61 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
62 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
63 | [ 0,10,10,10,10, 9, 9, 9,10,10,10,10, 0],
64 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
65 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
66 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
67 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
68 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
69 | ],[
70 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
71 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
72 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
73 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
74 | [ 0,10,10,10,10, 9, 9, 9,10,10,10,10, 0],
75 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
76 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
77 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
78 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
79 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
80 | ],[
81 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
82 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
83 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
84 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
85 | [ 0,10,10,10,10, 9, 9, 9,10,10,10,10, 0],
86 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
87 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
88 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
89 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
90 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
91 | ],[
92 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
93 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
94 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
95 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
96 | [ 0,10,10,10,10, 9, 9, 9,10,10,10,10, 0],
97 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
98 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
99 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
100 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
101 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
102 | ],[
103 | [ 0, 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0],
104 | [ 0, 0, 0,10,10,10,10,10,10,10,10,10, 0],
105 | [ 0, 0,10,10, 9, 9, 9, 9,10,10,10,10,10],
106 | [ 0, 0,10, 9, 9, 9, 9, 9, 9,10,10,10,10],
107 | [ 0, 0,10,10,10, 9, 9, 9,10,10,10,10,10],
108 | [ 0, 0, 0,10,10,10,10,10,10,10,10, 0, 0],
109 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
110 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
111 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
112 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
113 | ],[
114 | [ 0, 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0],
115 | [ 0, 0, 0,10,10,10,10,10,10,10,10,10, 0],
116 | [ 0, 0,10,10, 9, 9, 9, 9, 7,10,10,10,10],
117 | [ 0, 0,10, 9, 9, 9, 9, 7, 9,10,10,10,10],
118 | [ 0, 0,10,10,10, 9, 9, 7, 7, 7,10,10,10],
119 | [ 0, 0, 0,10,10,10,10,10,10, 7,10, 0, 0],
120 | [ 0, 0, 0, 9, 0, 0, 0, 9, 7, 0, 0, 0, 0],
121 | [ 0, 0, 0, 9, 0, 9, 0, 9, 7, 9, 0, 0, 0],
122 | [ 0, 0, 0, 0, 0, 9, 0, 7, 0, 9, 0, 0, 0],
123 | [ 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0]
124 | ],[
125 | [ 0, 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0],
126 | [ 0, 0, 0,10,10,10,10,10,10,10,10,10, 0],
127 | [ 0, 0,10,10, 9, 9, 9, 9,10,10,10,10,10],
128 | [ 0, 0,10, 9, 9, 9, 9, 9, 9,10,10,10,10],
129 | [ 0, 0,10,10,10, 9, 9, 9,10,10,10,10,10],
130 | [ 0, 0, 0,10,10,10,10,10,10,10,10, 0, 0],
131 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
132 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
133 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
134 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
135 | ],[
136 | [ 0, 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0],
137 | [ 0, 0, 0,10,10,10,10,10,10,10,10,10, 0],
138 | [ 0, 0,10,10, 9, 9, 9, 9, 7,10,10,10,10],
139 | [ 0, 0,10, 9, 9, 9, 9, 7, 9,10,10,10,10],
140 | [ 0, 0,10,10,10, 9, 9, 7, 7, 7,10,10,10],
141 | [ 0, 0, 0,10,10,10,10,10,10, 7,10, 0, 0],
142 | [ 0, 0, 0, 9, 0, 0, 0, 9, 7, 0, 0, 0, 0],
143 | [ 0, 0, 0, 9, 0, 9, 0, 9, 7, 9, 0, 0, 0],
144 | [ 0, 0, 0, 0, 0, 9, 0, 7, 0, 9, 0, 0, 0],
145 | [ 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0]
146 | ],[
147 | [ 0, 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0],
148 | [ 0, 0, 0,10,10,10,10,10,10,10,10,10, 0],
149 | [ 0, 0,10,10, 9, 9, 9, 9,10,10,10,10,10],
150 | [ 0, 0,10, 9, 9, 9, 9, 9, 9,10,10,10,10],
151 | [ 0, 0,10,10,10, 9, 9, 9,10,10,10,10,10],
152 | [ 0, 0, 0,10,10,10,10,10,10,10,10, 0, 0],
153 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
154 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
155 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
156 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
157 | ], [
158 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
159 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
160 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
161 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
162 | [ 0,10,10,10, 9, 9, 9,10,10,10,10,10, 0],
163 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
164 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
165 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
166 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
167 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
168 | ],[
169 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
170 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
171 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
172 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
173 | [ 0,10,10,10, 9, 9, 9,10,10,10,10,10, 0],
174 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
175 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
176 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
177 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
178 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
179 | ],[
180 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
181 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
182 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
183 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
184 | [ 0,10,10,10, 9, 9, 9,10,10,10,10,10, 0],
185 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
186 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
187 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
188 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
189 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
190 | ],[
191 | [ 0, 0, 0,10,10, 0, 0,10,10,10, 0, 0, 0],
192 | [ 0, 0,10,10,10,10,10,10,10,10,10, 0, 0],
193 | [ 0,10,10,10, 9, 9, 9, 9,10,10,10,10, 0],
194 | [ 0,10,10, 9, 9, 9, 9, 9, 9,10,10,10, 0],
195 | [ 0,10,10,10, 9, 9, 9,10,10,10,10,10, 0],
196 | [ 0, 0,10,10,10,10,10,10,10,10, 0, 0, 0],
197 | [ 0, 0, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0],
198 | [ 0, 0, 0, 9, 0, 9, 0, 9, 0, 9, 0, 0, 0],
199 | [ 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 0, 0],
200 | [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
201 | ]
202 | ]
203 | ]
--------------------------------------------------------------------------------
/tetris_clock/assets/weather/windy.json:
--------------------------------------------------------------------------------
1 | [ 200,
2 | [
3 | [
4 | [0,0,0,0,0,9,0,0,0,0,0,0,0],
5 | [0,0,0,0,0,0,9,0,0,0,0,9,0],
6 | [9,9,9,9,9,9,0,0,0,0,0,0,9],
7 | [0,0,0,0,0,0,9,9,9,9,9,9,0],
8 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
9 | [0,0,0,9,9,9,9,9,9,0,0,0,0],
10 | [0,0,0,0,0,0,0,0,0,9,0,0,0],
11 | [0,0,0,0,0,0,0,0,9,0,0,0,0]
12 | ],[
13 | [0,0,0,0,0,9,0,0,0,0,0,0,0],
14 | [0,0,0,0,0,0,9,0,0,0,0,9,0],
15 | [0,9,9,9,9,9,0,0,0,0,0,0,9],
16 | [0,0,0,0,0,0,0,9,9,9,9,9,0],
17 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
18 | [0,0,0,0,9,9,9,9,9,0,0,0,0],
19 | [0,0,0,0,0,0,0,0,0,9,0,0,0],
20 | [0,0,0,0,0,0,0,0,9,0,0,0,0]
21 | ],[
22 | [0,0,0,0,0,9,0,0,0,0,0,0,0],
23 | [0,0,0,0,0,0,9,0,0,0,0,9,0],
24 | [0,0,9,9,9,9,0,0,0,0,0,0,9],
25 | [0,0,0,0,0,0,0,0,9,9,9,9,0],
26 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
27 | [0,0,0,0,0,9,9,9,9,0,0,0,0],
28 | [0,0,0,0,0,0,0,0,0,9,0,0,0],
29 | [0,0,0,0,0,0,0,0,9,0,0,0,0]
30 | ],[
31 | [0,0,0,0,0,9,0,0,0,0,0,0,0],
32 | [0,0,0,0,0,0,9,0,0,0,0,9,0],
33 | [9,0,0,9,9,9,0,0,0,0,0,0,9],
34 | [0,0,0,0,0,0,9,0,0,9,9,9,0],
35 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
36 | [0,0,0,9,0,0,9,9,9,0,0,0,0],
37 | [0,0,0,0,0,0,0,0,0,9,0,0,0],
38 | [0,0,0,0,0,0,0,0,9,0,0,0,0]
39 | ],[
40 | [0,0,0,0,0,9,0,0,0,0,0,0,0],
41 | [0,0,0,0,0,0,9,0,0,0,0,9,0],
42 | [9,9,0,0,9,9,0,0,0,0,0,0,9],
43 | [0,0,0,0,0,0,9,9,0,0,9,9,0],
44 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
45 | [0,0,0,9,9,0,0,9,9,0,0,0,0],
46 | [0,0,0,0,0,0,0,0,0,9,0,0,0],
47 | [0,0,0,0,0,0,0,0,9,0,0,0,0]
48 | ],[
49 | [0,0,0,0,0,9,0,0,0,0,0,0,0],
50 | [0,0,0,0,0,0,9,0,0,0,0,9,0],
51 | [9,9,9,0,0,9,0,0,0,0,0,0,9],
52 | [0,0,0,0,0,0,9,9,9,0,0,9,0],
53 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
54 | [0,0,0,9,9,9,0,0,9,0,0,0,0],
55 | [0,0,0,0,0,0,0,0,0,9,0,0,0],
56 | [0,0,0,0,0,0,0,0,9,0,0,0,0]
57 | ],[
58 | [0,0,0,0,0,9,0,0,0,0,0,0,0],
59 | [0,0,0,0,0,0,9,0,0,0,0,9,0],
60 | [9,9,9,9,0,0,0,0,0,0,0,0,9],
61 | [0,0,0,0,0,0,9,9,9,9,0,0,0],
62 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
63 | [0,0,0,9,9,9,9,0,0,0,0,0,0],
64 | [0,0,0,0,0,0,0,0,0,9,0,0,0],
65 | [0,0,0,0,0,0,0,0,9,0,0,0,0]
66 | ],[
67 | [0,0,0,0,0,9,0,0,0,0,0,0,0],
68 | [0,0,0,0,0,0,0,0,0,0,0,9,0],
69 | [9,9,9,9,9,0,0,0,0,0,0,0,0],
70 | [0,0,0,0,0,0,9,9,9,9,9,0,0],
71 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
72 | [0,0,0,9,9,9,9,9,0,0,0,0,0],
73 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
74 | [0,0,0,0,0,0,0,0,9,0,0,0,0]
75 | ],[
76 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
77 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
78 | [9,9,9,9,9,9,0,0,0,0,0,0,0],
79 | [0,0,0,0,0,0,9,9,9,9,9,9,0],
80 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
81 | [0,0,0,9,9,9,9,9,9,0,0,0,0],
82 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
83 | [0,0,0,0,0,0,0,0,0,0,0,0,0]
84 | ],[
85 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
86 | [0,0,0,0,0,0,9,0,0,0,0,0,0],
87 | [9,9,9,9,9,9,0,0,0,0,0,0,9],
88 | [0,0,0,0,0,0,9,9,9,9,9,9,0],
89 | [0,0,0,0,0,0,0,0,0,0,0,0,0],
90 | [0,0,0,9,9,9,9,9,9,0,0,0,0],
91 | [0,0,0,0,0,0,0,0,0,9,0,0,0],
92 | [0,0,0,0,0,0,0,0,0,0,0,0,0]
93 | ]
94 | ]
95 | ]
--------------------------------------------------------------------------------
/tetris_clock/digital.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/tetris_clock/digital.gif
--------------------------------------------------------------------------------
/tetris_clock/digital_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/tetris_clock/digital_dark.png
--------------------------------------------------------------------------------
/tetris_clock/digital_light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/msoftware/flutter_clock/51d62e6cc24813fa956cbdf3b2c68059854db84a/tetris_clock/digital_light.png
--------------------------------------------------------------------------------
/tetris_clock/lib/main.dart:
--------------------------------------------------------------------------------
1 | // Copyright 2019 The Chromium Authors. All rights reserved.
2 | // Use of this source code is governed by a BSD-style license that can be
3 | // found in the LICENSE file.
4 |
5 | import 'dart:io';
6 |
7 | import 'package:flutter_clock_helper/customizer.dart';
8 | import 'package:flutter_clock_helper/model.dart';
9 | import 'package:flutter/foundation.dart';
10 | import 'package:flutter/material.dart';
11 |
12 | import 'tetris_time.dart';
13 |
14 | void main() {
15 | // A temporary measure until Platform supports web and TargetPlatform supports
16 | // macOS.
17 | if (!kIsWeb && Platform.isMacOS) {
18 | // TODO(gspencergoog): Update this when TargetPlatform includes macOS.
19 | // https://github.com/flutter/flutter/issues/31366
20 | // See https://github.com/flutter/flutter/wiki/Desktop-shells#target-platform-override.
21 | debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
22 | }
23 |
24 | // This creates a clock that enables you to customize it.
25 | //
26 | // The [ClockCustomizer] takes in a [ClockBuilder] that consists of:
27 | // - A clock widget (in this case, [DigitalClock])
28 | // - A model (provided to you by [ClockModel])
29 | // For more information, see the flutter_clock_helper package.
30 | //
31 | // Your job is to edit [DigitalClock], or replace it with your
32 | // own clock widget. (Look in digital_clock.dart for more details!)
33 | runApp(ClockCustomizer((ClockModel model) => TetrisClock(model)));
34 | }
35 |
--------------------------------------------------------------------------------
/tetris_clock/pubspec.lock:
--------------------------------------------------------------------------------
1 | # Generated by pub
2 | # See https://dart.dev/tools/pub/glossary#lockfile
3 | packages:
4 | archive:
5 | dependency: transitive
6 | description:
7 | name: archive
8 | url: "https://pub.dartlang.org"
9 | source: hosted
10 | version: "2.0.11"
11 | args:
12 | dependency: transitive
13 | description:
14 | name: args
15 | url: "https://pub.dartlang.org"
16 | source: hosted
17 | version: "1.5.2"
18 | async:
19 | dependency: transitive
20 | description:
21 | name: async
22 | url: "https://pub.dartlang.org"
23 | source: hosted
24 | version: "2.4.0"
25 | boolean_selector:
26 | dependency: transitive
27 | description:
28 | name: boolean_selector
29 | url: "https://pub.dartlang.org"
30 | source: hosted
31 | version: "1.0.5"
32 | charcode:
33 | dependency: transitive
34 | description:
35 | name: charcode
36 | url: "https://pub.dartlang.org"
37 | source: hosted
38 | version: "1.1.2"
39 | collection:
40 | dependency: transitive
41 | description:
42 | name: collection
43 | url: "https://pub.dartlang.org"
44 | source: hosted
45 | version: "1.14.11"
46 | convert:
47 | dependency: transitive
48 | description:
49 | name: convert
50 | url: "https://pub.dartlang.org"
51 | source: hosted
52 | version: "2.1.1"
53 | crypto:
54 | dependency: transitive
55 | description:
56 | name: crypto
57 | url: "https://pub.dartlang.org"
58 | source: hosted
59 | version: "2.1.3"
60 | cupertino_icons:
61 | dependency: "direct main"
62 | description:
63 | name: cupertino_icons
64 | url: "https://pub.dartlang.org"
65 | source: hosted
66 | version: "0.1.3"
67 | flutter:
68 | dependency: "direct main"
69 | description: flutter
70 | source: sdk
71 | version: "0.0.0"
72 | flutter_clock_helper:
73 | dependency: "direct main"
74 | description:
75 | path: "../flutter_clock_helper"
76 | relative: true
77 | source: path
78 | version: "1.0.0+1"
79 | flutter_test:
80 | dependency: "direct dev"
81 | description: flutter
82 | source: sdk
83 | version: "0.0.0"
84 | image:
85 | dependency: transitive
86 | description:
87 | name: image
88 | url: "https://pub.dartlang.org"
89 | source: hosted
90 | version: "2.1.4"
91 | intl:
92 | dependency: transitive
93 | description:
94 | name: intl
95 | url: "https://pub.dartlang.org"
96 | source: hosted
97 | version: "0.16.1"
98 | matcher:
99 | dependency: transitive
100 | description:
101 | name: matcher
102 | url: "https://pub.dartlang.org"
103 | source: hosted
104 | version: "0.12.6"
105 | meta:
106 | dependency: transitive
107 | description:
108 | name: meta
109 | url: "https://pub.dartlang.org"
110 | source: hosted
111 | version: "1.1.8"
112 | path:
113 | dependency: transitive
114 | description:
115 | name: path
116 | url: "https://pub.dartlang.org"
117 | source: hosted
118 | version: "1.6.4"
119 | pedantic:
120 | dependency: transitive
121 | description:
122 | name: pedantic
123 | url: "https://pub.dartlang.org"
124 | source: hosted
125 | version: "1.8.0+1"
126 | petitparser:
127 | dependency: transitive
128 | description:
129 | name: petitparser
130 | url: "https://pub.dartlang.org"
131 | source: hosted
132 | version: "2.4.0"
133 | quiver:
134 | dependency: transitive
135 | description:
136 | name: quiver
137 | url: "https://pub.dartlang.org"
138 | source: hosted
139 | version: "2.0.5"
140 | sky_engine:
141 | dependency: transitive
142 | description: flutter
143 | source: sdk
144 | version: "0.0.99"
145 | source_span:
146 | dependency: transitive
147 | description:
148 | name: source_span
149 | url: "https://pub.dartlang.org"
150 | source: hosted
151 | version: "1.5.5"
152 | stack_trace:
153 | dependency: transitive
154 | description:
155 | name: stack_trace
156 | url: "https://pub.dartlang.org"
157 | source: hosted
158 | version: "1.9.3"
159 | stream_channel:
160 | dependency: transitive
161 | description:
162 | name: stream_channel
163 | url: "https://pub.dartlang.org"
164 | source: hosted
165 | version: "2.0.0"
166 | string_scanner:
167 | dependency: transitive
168 | description:
169 | name: string_scanner
170 | url: "https://pub.dartlang.org"
171 | source: hosted
172 | version: "1.0.5"
173 | term_glyph:
174 | dependency: transitive
175 | description:
176 | name: term_glyph
177 | url: "https://pub.dartlang.org"
178 | source: hosted
179 | version: "1.1.0"
180 | test_api:
181 | dependency: transitive
182 | description:
183 | name: test_api
184 | url: "https://pub.dartlang.org"
185 | source: hosted
186 | version: "0.2.11"
187 | typed_data:
188 | dependency: transitive
189 | description:
190 | name: typed_data
191 | url: "https://pub.dartlang.org"
192 | source: hosted
193 | version: "1.1.6"
194 | vector_math:
195 | dependency: transitive
196 | description:
197 | name: vector_math
198 | url: "https://pub.dartlang.org"
199 | source: hosted
200 | version: "2.0.8"
201 | xml:
202 | dependency: transitive
203 | description:
204 | name: xml
205 | url: "https://pub.dartlang.org"
206 | source: hosted
207 | version: "3.5.0"
208 | sdks:
209 | dart: ">=2.5.0 <3.0.0"
210 |
--------------------------------------------------------------------------------
/tetris_clock/pubspec.yaml:
--------------------------------------------------------------------------------
1 | name: tetris_clock
2 | description: Tetris clock.
3 | version: 1.0.0+1
4 | environment:
5 | sdk: ">=2.1.0 <3.0.0"
6 |
7 | dependencies:
8 | flutter:
9 | sdk: flutter
10 | flutter_clock_helper:
11 | path: ../flutter_clock_helper
12 | cupertino_icons: ^0.1.2
13 | # screen: 0.0.5
14 |
15 | dev_dependencies:
16 | flutter_test:
17 | sdk: flutter
18 |
19 | flutter:
20 | uses-material-design: true
21 |
22 | assets:
23 | - assets/
24 | - assets/numbers/
25 | - assets/weather/
--------------------------------------------------------------------------------
/tetris_clock/test/widget_test.dart:
--------------------------------------------------------------------------------
1 | // This is a basic Flutter widget test.
2 | //
3 | // To perform an interaction with a widget in your test, use the WidgetTester
4 | // utility that Flutter provides. For example, you can send tap and scroll
5 | // gestures. You can also use WidgetTester to find child widgets in the widget
6 | // tree, read text, and verify that the values of widget properties are correct.
7 |
8 | import 'package:flutter/material.dart';
9 | import 'package:flutter_test/flutter_test.dart';
10 |
11 | import 'package:tetris_clock/main.dart';
12 |
13 | void main() {
14 | testWidgets('Counter increments smoke test', (WidgetTester tester) async {
15 | // Build our app and trigger a frame.
16 | await tester.pumpWidget(MyApp());
17 |
18 | // Verify that our counter starts at 0.
19 | expect(find.text('0'), findsOneWidget);
20 | expect(find.text('1'), findsNothing);
21 |
22 | // Tap the '+' icon and trigger a frame.
23 | await tester.tap(find.byIcon(Icons.add));
24 | await tester.pump();
25 |
26 | // Verify that our counter has incremented.
27 | expect(find.text('0'), findsNothing);
28 | expect(find.text('1'), findsOneWidget);
29 | });
30 | }
31 |
--------------------------------------------------------------------------------