├── Hangman ├── .flutter-plugins-dependencies ├── .gitignore ├── .metadata ├── AppIcons.zip ├── Json │ └── animals.json ├── README.md ├── android │ ├── app │ │ ├── build.gradle │ │ ├── google-services.json │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ ├── local.properties │ │ ├── release │ │ │ └── app.aab │ │ └── src │ │ │ ├── debug │ │ │ ├── AndroidManifest.xml │ │ │ └── google-services.json │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── camrinfilms │ │ │ │ │ └── hangman │ │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ │ ├── ApeToolsGeneratedAssets.zip │ │ │ │ ├── ApeToolsGeneratedAssets │ │ │ │ └── bundle │ │ │ │ │ └── android │ │ │ │ │ ├── drawable-hdpi │ │ │ │ │ ├── icon.png │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-land-hdpi │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-land-ldpi │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-land-mdpi │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-land-xhdpi │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-land-xxhdpi │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-land-xxxhdpi │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-land │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-ldpi │ │ │ │ │ ├── icon.png │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-mdpi │ │ │ │ │ ├── icon.png │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ ├── icon.png │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-xxhdpi │ │ │ │ │ ├── icon.png │ │ │ │ │ └── screen.png │ │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ │ ├── icon.png │ │ │ │ │ └── screen.png │ │ │ │ │ └── drawable │ │ │ │ │ ├── icon.png │ │ │ │ │ └── screen.png │ │ │ │ ├── drawable-mdpi │ │ │ │ ├── icon.png │ │ │ │ └── screen.png │ │ │ │ ├── drawable │ │ │ │ └── launch_background.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ ├── flare-assets │ │ │ │ │ ├── architecture.png │ │ │ │ │ ├── bettercode.png │ │ │ │ │ ├── codeprinciples.png │ │ │ │ │ ├── filledstacks.png │ │ │ │ │ ├── mobilephone.png │ │ │ │ │ └── production.png │ │ │ │ └── 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 │ ├── key.jks │ ├── key.properties │ ├── settings.gradle │ └── settings_aar.gradle ├── assets │ └── flares │ │ └── flareintro.flr ├── fonts │ ├── Butcherman.zip │ ├── Butcherman │ │ ├── Butcherman-Regular.ttf │ │ └── OFL.txt │ ├── Caesar_Dressing.zip │ ├── Caesar_Dressing │ │ ├── CaesarDressing-Regular.ttf │ │ └── OFL.txt │ ├── IndieFlower-Regular.ttf │ ├── Indie_Flower.zip │ ├── Lato-Black.ttf │ ├── Lato-BlackItalic.ttf │ ├── Lato-Bold.ttf │ ├── Lato-BoldItalic.ttf │ ├── Lato-Light.ttf │ ├── Lato-LightItalic.ttf │ ├── Lato-Regular.ttf │ ├── Lato-RegularItalic.ttf │ ├── Lato-Thin.ttf │ ├── Lato-ThinItalic.ttf │ ├── Lato │ │ ├── Lato-Black.ttf │ │ ├── Lato-BlackItalic.ttf │ │ ├── Lato-Bold.ttf │ │ ├── Lato-BoldItalic.ttf │ │ ├── Lato-Light.ttf │ │ ├── Lato-LightItalic.ttf │ │ ├── Lato-Regular.ttf │ │ ├── Lato-RegularItalic.ttf │ │ ├── Lato-Thin.ttf │ │ ├── Lato-ThinItalic.ttf │ │ └── OFL.txt │ ├── OFL.txt │ ├── UnifrakturCook (1).zip │ ├── UnifrakturCook (1) │ │ ├── OFL.txt │ │ └── UnifrakturCook-Bold.ttf │ ├── UnifrakturCook-Bold.ttf │ ├── UnifrakturCook.zip │ └── UnifrakturCook │ │ ├── OFL.txt │ │ └── UnifrakturCook-Bold.ttf ├── images │ ├── 0_6WFhG2qCe5dPH1Fz.jpeg │ ├── Hangman-Logo.png │ ├── fail.jpeg │ ├── google_logo.png │ ├── hangman │ │ ├── 0hangman.png │ │ ├── 1hangman.png │ │ ├── 2hangman.png │ │ ├── 3hangman.png │ │ ├── 4hangman.png │ │ ├── 5hangman.png │ │ ├── 6hangman.png │ │ ├── 7hangman.png │ │ ├── 8hangman.png │ │ ├── 9hangman.png │ │ └── background_image.png │ ├── hangman_logo.png │ ├── hangman_logo_page.png │ ├── icon.jpeg │ ├── icon.png │ ├── loss.jpeg │ ├── main.png │ ├── sucess.jpeg │ ├── tellmewow.png │ └── undermaintance.jpg ├── ios │ ├── Flutter │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ ├── Release.xcconfig │ │ └── flutter_export_environment.sh │ ├── Runner.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace │ │ └── contents.xcworkspacedata │ └── Runner │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── 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 │ │ └── main.m ├── lib │ ├── NextPage.dart │ ├── Sizeconfiq.dart │ ├── api │ │ └── rest_data_source.dart │ ├── dao │ │ └── hm_words.dart │ ├── disable_button.dart │ ├── hangman.json │ ├── hangmanApi.dart │ ├── main.dart │ ├── one_player_page.dart │ ├── screens │ │ ├── HomePage.dart │ │ ├── first_screen.dart │ │ ├── login_page.dart │ │ ├── sign_in.dart │ │ ├── tutorial.dart │ │ └── words │ │ │ ├── get_words_list.dart │ │ │ └── get_words_list_presenter.dart │ ├── shared_preferences.dart │ ├── test.dart │ └── utils │ │ └── network_util.dart ├── pubspec.lock ├── pubspec.yaml ├── test │ └── widget_test.dart └── video │ ├── gamemusic.mp4 │ └── music.mp4 ├── README.md └── dream11 └── dream.json /Hangman/.flutter-plugins-dependencies: -------------------------------------------------------------------------------- 1 | {"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"firebase_auth","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.16.1/","dependencies":["firebase_core"]},{"name":"firebase_core","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.4.5/","dependencies":[]},{"name":"google_sign_in","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in-4.0.14/","dependencies":[]},{"name":"screenshot_and_share","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/screenshot_and_share-0.0.2/","dependencies":[]},{"name":"shared_preferences","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.4.3/","dependencies":[]},{"name":"sqflite","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-0.11.2+4/","dependencies":[]},{"name":"url_launcher","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/","dependencies":[]},{"name":"video_player","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/video_player-0.10.1+6/","dependencies":[]}],"android":[{"name":"firebase_auth","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.16.1/","dependencies":["firebase_core"]},{"name":"firebase_core","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.4.5/","dependencies":[]},{"name":"google_sign_in","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/google_sign_in-4.0.14/","dependencies":[]},{"name":"screenshot_and_share","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/screenshot_and_share-0.0.2/","dependencies":[]},{"name":"shared_preferences","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.4.3/","dependencies":[]},{"name":"sqflite","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-0.11.2+4/","dependencies":[]},{"name":"url_launcher","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-3.0.3/","dependencies":[]},{"name":"video_player","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/video_player-0.10.1+6/","dependencies":[]}],"macos":[{"name":"firebase_auth","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth-0.16.1/","dependencies":["firebase_core"]},{"name":"firebase_core","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.4.5/","dependencies":[]}],"linux":[],"windows":[],"web":[{"name":"firebase_auth_web","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_auth_web-0.1.3+1/","dependencies":[]},{"name":"firebase_core_web","path":"/home/jerald/flutter/.pub-cache/hosted/pub.dartlang.org/firebase_core_web-0.1.1+2/","dependencies":[]}]},"dependencyGraph":[{"name":"firebase_auth","dependencies":["firebase_core","firebase_auth_web"]},{"name":"firebase_auth_web","dependencies":[]},{"name":"firebase_core","dependencies":["firebase_core_web"]},{"name":"firebase_core_web","dependencies":[]},{"name":"google_sign_in","dependencies":[]},{"name":"screenshot_and_share","dependencies":[]},{"name":"shared_preferences","dependencies":[]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":[]},{"name":"video_player","dependencies":[]}],"date_created":"2020-06-18 15:16:15.209761","version":"1.17.3"} -------------------------------------------------------------------------------- /Hangman/.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 | # Android related 33 | **/android/**/gradle-wrapper.jar 34 | **/android/.gradle 35 | **/android/captures/ 36 | **/android/gradlew 37 | **/android/gradlew.bat 38 | **/android/local.properties 39 | **/android/**/GeneratedPluginRegistrant.java 40 | 41 | # iOS/XCode related 42 | **/ios/**/*.mode1v3 43 | **/ios/**/*.mode2v3 44 | **/ios/**/*.moved-aside 45 | **/ios/**/*.pbxuser 46 | **/ios/**/*.perspectivev3 47 | **/ios/**/*sync/ 48 | **/ios/**/.sconsign.dblite 49 | **/ios/**/.tags* 50 | **/ios/**/.vagrant/ 51 | **/ios/**/DerivedData/ 52 | **/ios/**/Icon? 53 | **/ios/**/Pods/ 54 | **/ios/**/.symlinks/ 55 | **/ios/**/profile 56 | **/ios/**/xcuserdata 57 | **/ios/.generated/ 58 | **/ios/Flutter/App.framework 59 | **/ios/Flutter/Flutter.framework 60 | **/ios/Flutter/Generated.xcconfig 61 | **/ios/Flutter/app.flx 62 | **/ios/Flutter/app.zip 63 | **/ios/Flutter/flutter_assets/ 64 | **/ios/ServiceDefinitions.json 65 | **/ios/Runner/GeneratedPluginRegistrant.* 66 | 67 | # Exceptions to above rules. 68 | !**/ios/**/default.mode1v3 69 | !**/ios/**/default.mode2v3 70 | !**/ios/**/default.pbxuser 71 | !**/ios/**/default.perspectivev3 72 | !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages 73 | -------------------------------------------------------------------------------- /Hangman/.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: 20e59316b8b8474554b38493b8ca888794b0234a 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /Hangman/AppIcons.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/AppIcons.zip -------------------------------------------------------------------------------- /Hangman/Json/animals.json: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "items": ["meerkat", "aardvark", "addax", "alligator", "alpaca", "anteater", "antelope", "aoudad", "ape", "argali", "armadillo", "baboon", "badger", "basilisk", "bat", "bear", "beaver", "bighorn", "bison", "boar", "budgerigar", "buffalo", "bull", "bunny", "burro", "camel", "canary", "capybara", "cat", "chameleon", "chamois", "cheetah", "chimpanzee", "chinchilla", "chipmunk", "civet", "coati", "colt", "cougar", "cow", "coyote", "crocodile", "crow", "deer", "dingo", "doe", "dung beetle", "dog", "donkey", "dormouse", "dromedary", "duckbill platypus", "dugong", "eland", "elephant", "elk", "ermine", "ewe", "fawn", "ferret", "finch", "fish", "fox", "frog", "gazelle", "gemsbok", "gila monster", "giraffe", "gnu", "goat", "gopher", "gorilla", "grizzly bear", "ground hog", "guanaco", "guinea pig", "hamster", "hare", "hartebeest", "hedgehog", "highland cow", "hippopotamus", "hog", "horse", "hyena", "ibex", "iguana", "impala", "jackal", "jaguar", "jerboa", "kangaroo", "kitten", "koala", "lamb", "lemur", "leopard", "lion", "lizard", "llama", "lovebird", "lynx", "mandrill", "mare", "marmoset", "marten", "mink", "mole", "mongoose", "monkey", "moose", "mountain goat", "mouse", "mule", "musk deer", "musk-ox", "muskrat", "mustang", "mynah bird", "newt", "ocelot", "okapi", "opossum", "orangutan", "oryx", "otter", "ox", "panda", "panther", "parakeet", "parrot", "peccary", "pig", "octopus", "thorny devil", "starfish", "blue crab", "snowy owl", "chicken", "rooster", "bumble bee", "eagle owl", "polar bear", "pony", "porcupine", "porpoise", "prairie dog", "pronghorn", "puma", "puppy", "quagga", "rabbit", "raccoon", "ram", "rat", "reindeer", "rhinoceros", "salamander", "seal", "sheep", "shrew", "silver fox", "skunk", "sloth", "snake", "springbok", "squirrel", "stallion", "steer", "tapir", "tiger", "toad", "turtle", "vicuna", "walrus", "warthog", "waterbuck", "weasel", "whale", "wildcat", "bald eagle", "wolf", "wolverine", "wombat", "woodchuck", "yak", "zebra", "zebu"], 4 | "meta": { 5 | "img": { 6 | "local": true, 7 | "prefix": "/img/animals/", 8 | "suffix": ".jpg" 9 | } 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /Hangman/README.md: -------------------------------------------------------------------------------- 1 | # Hangman 2 | ## Getting Started 3 | 4 | Hangman-Game 5 | A new Flutter application. 6 | 7 |

Description

8 | 9 | Simply begin typing to enter your guesses 10 | You only have 5 guesses until the current word is cleared and the next one is loaded 11 | Your wins and failed attempts are recorded 12 | 13 |

Requirements

14 | 20 | 21 |

Technologies Used

22 | 23 | 27 | 28 |

Code Explanation

29 | 30 | Basically, the meat and potatoes of the code is in the dart file, where the variables and game logic is stored 31 | The Flutter UI sets up the basic elements of the game such as the title, pictures and audio, text elements indicating progress and points, etc. 32 | 33 | 34 | 35 | This project is a starting point for a Flutter application. 36 | 37 | A few resources to get you started if this is your first Flutter project: 38 | 39 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) 40 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) 41 | 42 | For help getting started with Flutter, view our 43 | [online documentation](https://flutter.dev/docs), which offers tutorials, 44 | samples, guidance on mobile development, and a full API reference. 45 | -------------------------------------------------------------------------------- /Hangman/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 from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" 26 | 27 | def keystorePropertiesFile=rootProject.file("key.properties") 28 | def keystoreProperties = new Properties() 29 | keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) 30 | android { 31 | compileSdkVersion 28 32 | 33 | lintOptions { 34 | disable 'InvalidPackage' 35 | } 36 | 37 | defaultConfig { 38 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). 39 | applicationId "com.camrinfilms.hangman" 40 | minSdkVersion 16 41 | targetSdkVersion 28 42 | versionCode flutterVersionCode.toInteger() 43 | versionName "1.0" 44 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 45 | } 46 | signingConfigs { 47 | release { 48 | storeFile file(keystoreProperties['storeFile']) 49 | storePassword keystoreProperties['storePassword'] 50 | keyAlias keystoreProperties['keyAlias'] 51 | keyPassword keystoreProperties['keyPassword'] 52 | 53 | } 54 | 55 | 56 | } 57 | buildTypes { 58 | release { 59 | // TODO: Add your own signing config for the release build. 60 | // Signing with the debug keys for now, so `flutter run --release` works. 61 | signingConfig signingConfigs.release 62 | } 63 | } 64 | } 65 | 66 | flutter { 67 | source '../..' 68 | } 69 | apply plugin: 'com.android.application' 70 | dependencies { 71 | testImplementation 'junit:junit:4.12' 72 | implementation 'com.google.firebase:firebase-analytics:17.2.0' 73 | androidTestImplementation 'androidx.test:runner:1.1.1' 74 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' 75 | } 76 | apply plugin: 'com.google.gms.google-services' -------------------------------------------------------------------------------- /Hangman/android/app/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "478782562387", 4 | "firebase_url": "https://myhangman-11dcd.firebaseio.com", 5 | "project_id": "myhangman-11dcd", 6 | "storage_bucket": "myhangman-11dcd.appspot.com" 7 | }, 8 | "client": [ 9 | { 10 | "client_info": { 11 | "mobilesdk_app_id": "1:478782562387:android:5953c040e2792e8bfee6a6", 12 | "android_client_info": { 13 | "package_name": "com.camrinfilms.hangman" 14 | } 15 | }, 16 | "oauth_client": [ 17 | { 18 | "client_id": "478782562387-39lhfltts5qlger67uondaadosmn8ci4.apps.googleusercontent.com", 19 | "client_type": 1, 20 | "android_info": { 21 | "package_name": "com.camrinfilms.hangman", 22 | "certificate_hash": "4817ce53037ca3e23acb3481d7673f33dcfe877d" 23 | } 24 | }, 25 | { 26 | "client_id": "478782562387-jd193bnp7qrajluia6popps791fq3ame.apps.googleusercontent.com", 27 | "client_type": 3 28 | } 29 | ], 30 | "api_key": [ 31 | { 32 | "current_key": "AIzaSyAXE5H7JzRl6-5hW6qKWJHZxOybLBRaCvY" 33 | } 34 | ], 35 | "services": { 36 | "appinvite_service": { 37 | "other_platform_oauth_client": [ 38 | { 39 | "client_id": "478782562387-jd193bnp7qrajluia6popps791fq3ame.apps.googleusercontent.com", 40 | "client_type": 3 41 | } 42 | ] 43 | } 44 | } 45 | } 46 | ], 47 | "configuration_version": "1" 48 | } -------------------------------------------------------------------------------- /Hangman/android/app/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 12 14:30:03 IST 2020 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-6.1.1-all.zip 7 | -------------------------------------------------------------------------------- /Hangman/android/app/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Attempt to set APP_HOME 10 | # Resolve links: $0 may be a link 11 | PRG="$0" 12 | # Need this for relative symlinks. 13 | while [ -h "$PRG" ] ; do 14 | ls=`ls -ld "$PRG"` 15 | link=`expr "$ls" : '.*-> \(.*\)$'` 16 | if expr "$link" : '/.*' > /dev/null; then 17 | PRG="$link" 18 | else 19 | PRG=`dirname "$PRG"`"/$link" 20 | fi 21 | done 22 | SAVED="`pwd`" 23 | cd "`dirname \"$PRG\"`/" >/dev/null 24 | APP_HOME="`pwd -P`" 25 | cd "$SAVED" >/dev/null 26 | 27 | APP_NAME="Gradle" 28 | APP_BASE_NAME=`basename "$0"` 29 | 30 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 31 | DEFAULT_JVM_OPTS="" 32 | 33 | # Use the maximum available, or set MAX_FD != -1 to use that value. 34 | MAX_FD="maximum" 35 | 36 | warn () { 37 | echo "$*" 38 | } 39 | 40 | die () { 41 | echo 42 | echo "$*" 43 | echo 44 | exit 1 45 | } 46 | 47 | # OS specific support (must be 'true' or 'false'). 48 | cygwin=false 49 | msys=false 50 | darwin=false 51 | nonstop=false 52 | case "`uname`" in 53 | CYGWIN* ) 54 | cygwin=true 55 | ;; 56 | Darwin* ) 57 | darwin=true 58 | ;; 59 | MINGW* ) 60 | msys=true 61 | ;; 62 | NONSTOP* ) 63 | nonstop=true 64 | ;; 65 | esac 66 | 67 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 68 | 69 | # Determine the Java command to use to start the JVM. 70 | if [ -n "$JAVA_HOME" ] ; then 71 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 72 | # IBM's JDK on AIX uses strange locations for the executables 73 | JAVACMD="$JAVA_HOME/jre/sh/java" 74 | else 75 | JAVACMD="$JAVA_HOME/bin/java" 76 | fi 77 | if [ ! -x "$JAVACMD" ] ; then 78 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 79 | 80 | Please set the JAVA_HOME variable in your environment to match the 81 | location of your Java installation." 82 | fi 83 | else 84 | JAVACMD="java" 85 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 86 | 87 | Please set the JAVA_HOME variable in your environment to match the 88 | location of your Java installation." 89 | fi 90 | 91 | # Increase the maximum file descriptors if we can. 92 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 93 | MAX_FD_LIMIT=`ulimit -H -n` 94 | if [ $? -eq 0 ] ; then 95 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 96 | MAX_FD="$MAX_FD_LIMIT" 97 | fi 98 | ulimit -n $MAX_FD 99 | if [ $? -ne 0 ] ; then 100 | warn "Could not set maximum file descriptor limit: $MAX_FD" 101 | fi 102 | else 103 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 104 | fi 105 | fi 106 | 107 | # For Darwin, add options to specify how the application appears in the dock 108 | if $darwin; then 109 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 110 | fi 111 | 112 | # For Cygwin, switch paths to Windows format before running java 113 | if $cygwin ; then 114 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 115 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 116 | JAVACMD=`cygpath --unix "$JAVACMD"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Escape application args 158 | save () { 159 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 160 | echo " " 161 | } 162 | APP_ARGS=$(save "$@") 163 | 164 | # Collect all arguments for the java command, following the shell quoting and substitution rules 165 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 166 | 167 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong 168 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then 169 | cd "$(dirname "$0")" 170 | fi 171 | 172 | exec "$JAVACMD" "$@" 173 | -------------------------------------------------------------------------------- /Hangman/android/app/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | set DIRNAME=%~dp0 12 | if "%DIRNAME%" == "" set DIRNAME=. 13 | set APP_BASE_NAME=%~n0 14 | set APP_HOME=%DIRNAME% 15 | 16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 17 | set DEFAULT_JVM_OPTS= 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windows variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | 53 | :win9xME_args 54 | @rem Slurp the command line arguments. 55 | set CMD_LINE_ARGS= 56 | set _SKIP=2 57 | 58 | :win9xME_args_slurp 59 | if "x%~1" == "x" goto execute 60 | 61 | set CMD_LINE_ARGS=%* 62 | 63 | :execute 64 | @rem Setup the command line 65 | 66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 67 | 68 | @rem Execute Gradle 69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 70 | 71 | :end 72 | @rem End local scope for the variables with windows NT shell 73 | if "%ERRORLEVEL%"=="0" goto mainEnd 74 | 75 | :fail 76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 77 | rem the _cmd.exe /c_ return code! 78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 79 | exit /b 1 80 | 81 | :mainEnd 82 | if "%OS%"=="Windows_NT" endlocal 83 | 84 | :omega 85 | -------------------------------------------------------------------------------- /Hangman/android/app/local.properties: -------------------------------------------------------------------------------- 1 | ## This file must *NOT* be checked into Version Control Systems, 2 | # as it contains information specific to your local configuration. 3 | # 4 | # Location of the SDK. This is only used by Gradle. 5 | # For customization when using a Version Control System, please read the 6 | # header note. 7 | #Fri Jun 12 14:29:56 IST 2020 8 | sdk.dir=/home/jerald/Android/Sdk 9 | -------------------------------------------------------------------------------- /Hangman/android/app/release/app.aab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/release/app.aab -------------------------------------------------------------------------------- /Hangman/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Hangman/android/app/src/debug/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "478782562387", 4 | "firebase_url": "https://myhangman-11dcd.firebaseio.com", 5 | "project_id": "myhangman-11dcd", 6 | "storage_bucket": "myhangman-11dcd.appspot.com" 7 | }, 8 | "client": [ 9 | { 10 | "client_info": { 11 | "mobilesdk_app_id": "1:478782562387:android:5953c040e2792e8bfee6a6", 12 | "android_client_info": { 13 | "package_name": "com.camrinfilms.hangman" 14 | } 15 | }, 16 | "oauth_client": [ 17 | { 18 | "client_id": "478782562387-39lhfltts5qlger67uondaadosmn8ci4.apps.googleusercontent.com", 19 | "client_type": 1, 20 | "android_info": { 21 | "package_name": "com.camrinfilms.hangman", 22 | "certificate_hash": "4817ce53037ca3e23acb3481d7673f33dcfe877d" 23 | } 24 | }, 25 | { 26 | "client_id": "478782562387-jd193bnp7qrajluia6popps791fq3ame.apps.googleusercontent.com", 27 | "client_type": 3 28 | } 29 | ], 30 | "api_key": [ 31 | { 32 | "current_key": "AIzaSyAXE5H7JzRl6-5hW6qKWJHZxOybLBRaCvY" 33 | } 34 | ], 35 | "services": { 36 | "appinvite_service": { 37 | "other_platform_oauth_client": [ 38 | { 39 | "client_id": "478782562387-jd193bnp7qrajluia6popps791fq3ame.apps.googleusercontent.com", 40 | "client_type": 3 41 | } 42 | ] 43 | } 44 | } 45 | } 46 | ], 47 | "configuration_version": "1" 48 | } -------------------------------------------------------------------------------- /Hangman/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 13 | 20 | 24 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /Hangman/android/app/src/main/java/com/camrinfilms/hangman/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.camrinfilms.hangman; 2 | 3 | import android.os.Bundle; 4 | import io.flutter.app.FlutterActivity; 5 | import io.flutter.plugins.GeneratedPluginRegistrant; 6 | 7 | public class MainActivity extends FlutterActivity { 8 | @Override 9 | protected void onCreate(Bundle savedInstanceState) { 10 | super.onCreate(savedInstanceState); 11 | GeneratedPluginRegistrant.registerWith(this); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets.zip -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-hdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-hdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-hdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-hdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-ldpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-ldpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-mdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-mdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-xhdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-xhdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-xxhdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-xxhdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-xxxhdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land-xxxhdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-land/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-ldpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-ldpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-mdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-mdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xhdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xhdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xxhdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xxhdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xxxhdpi/icon.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xxxhdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable-xxxhdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable/icon.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/ApeToolsGeneratedAssets/bundle/android/drawable/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/drawable-mdpi/screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/drawable-mdpi/screen.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/architecture.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/bettercode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/bettercode.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/codeprinciples.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/codeprinciples.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/filledstacks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/filledstacks.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/mobilephone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/mobilephone.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/production.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-hdpi/flare-assets/production.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Hangman/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | -------------------------------------------------------------------------------- /Hangman/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Hangman/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | google() 4 | jcenter() 5 | } 6 | 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:3.2.1' 9 | classpath 'com.google.gms:google-services:4.3.2' 10 | } 11 | } 12 | 13 | allprojects { 14 | repositories { 15 | google() 16 | jcenter() 17 | } 18 | } 19 | 20 | rootProject.buildDir = '../build' 21 | subprojects { 22 | project.buildDir = "${rootProject.buildDir}/${project.name}" 23 | } 24 | subprojects { 25 | project.evaluationDependsOn(':app') 26 | } 27 | 28 | task clean(type: Delete) { 29 | delete rootProject.buildDir 30 | } 31 | -------------------------------------------------------------------------------- /Hangman/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | android.enableR8=true 5 | -------------------------------------------------------------------------------- /Hangman/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-4.10.2-all.zip 7 | -------------------------------------------------------------------------------- /Hangman/android/key.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/android/key.jks -------------------------------------------------------------------------------- /Hangman/android/key.properties: -------------------------------------------------------------------------------- 1 | storePassword=Jerald@123 2 | keyPassword=Jerald@123 3 | keyAlias=hangmanKey 4 | storeFile=/home/jerald/Documents/myown/flutter-game/Flutter-Apps/Hangman/android/key.jks 5 | -------------------------------------------------------------------------------- /Hangman/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 | -------------------------------------------------------------------------------- /Hangman/android/settings_aar.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Hangman/assets/flares/flareintro.flr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/assets/flares/flareintro.flr -------------------------------------------------------------------------------- /Hangman/fonts/Butcherman.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Butcherman.zip -------------------------------------------------------------------------------- /Hangman/fonts/Butcherman/Butcherman-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Butcherman/Butcherman-Regular.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Butcherman/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011, Typomondo, 2 | with Reserved Font Name "Caesar_Dressing". 3 | 4 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 5 | This license is copied below, and is also available with a FAQ at: 6 | http://scripts.sil.org/OFL 7 | 8 | 9 | ----------------------------------------------------------- 10 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 11 | ----------------------------------------------------------- 12 | 13 | PREAMBLE 14 | The goals of the Open Font License (OFL) are to stimulate worldwide 15 | development of collaborative font projects, to support the font creation 16 | efforts of academic and linguistic communities, and to provide a free and 17 | open framework in which fonts may be shared and improved in partnership 18 | with others. 19 | 20 | The OFL allows the licensed fonts to be used, studied, modified and 21 | redistributed freely as long as they are not sold by themselves. The 22 | fonts, including any derivative works, can be bundled, embedded, 23 | redistributed and/or sold with any software provided that any reserved 24 | names are not used by derivative works. The fonts and derivatives, 25 | however, cannot be released under any other type of license. The 26 | requirement for fonts to remain under this license does not apply 27 | to any document created using the fonts or their derivatives. 28 | 29 | DEFINITIONS 30 | "Font Software" refers to the set of files released by the Copyright 31 | Holder(s) under this license and clearly marked as such. This may 32 | include source files, build scripts and documentation. 33 | 34 | "Reserved Font Name" refers to any names specified as such after the 35 | copyright statement(s). 36 | 37 | "Original Version" refers to the collection of Font Software components as 38 | distributed by the Copyright Holder(s). 39 | 40 | "Modified Version" refers to any derivative made by adding to, deleting, 41 | or substituting -- in part or in whole -- any of the components of the 42 | Original Version, by changing formats or by porting the Font Software to a 43 | new environment. 44 | 45 | "Author" refers to any designer, engineer, programmer, technical 46 | writer or other person who contributed to the Font Software. 47 | 48 | PERMISSION & CONDITIONS 49 | Permission is hereby granted, free of charge, to any person obtaining 50 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 51 | redistribute, and sell modified and unmodified copies of the Font 52 | Software, subject to the following conditions: 53 | 54 | 1) Neither the Font Software nor any of its individual components, 55 | in Original or Modified Versions, may be sold by itself. 56 | 57 | 2) Original or Modified Versions of the Font Software may be bundled, 58 | redistributed and/or sold with any software, provided that each copy 59 | contains the above copyright notice and this license. These can be 60 | included either as stand-alone text files, human-readable headers or 61 | in the appropriate machine-readable metadata fields within text or 62 | binary files as long as those fields can be easily viewed by the user. 63 | 64 | 3) No Modified Version of the Font Software may use the Reserved Font 65 | Name(s) unless explicit written permission is granted by the corresponding 66 | Copyright Holder. This restriction only applies to the primary font name as 67 | presented to the users. 68 | 69 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 70 | Software shall not be used to promote, endorse or advertise any 71 | Modified Version, except to acknowledge the contribution(s) of the 72 | Copyright Holder(s) and the Author(s) or with their explicit written 73 | permission. 74 | 75 | 5) The Font Software, modified or unmodified, in part or in whole, 76 | must be distributed entirely under this license, and must not be 77 | distributed under any other license. The requirement for fonts to 78 | remain under this license does not apply to any document created 79 | using the Font Software. 80 | 81 | TERMINATION 82 | This license becomes null and void if any of the above conditions are 83 | not met. 84 | 85 | DISCLAIMER 86 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 87 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 88 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 89 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 90 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 91 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 92 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 93 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 94 | OTHER DEALINGS IN THE FONT SOFTWARE. 95 | -------------------------------------------------------------------------------- /Hangman/fonts/Caesar_Dressing.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Caesar_Dressing.zip -------------------------------------------------------------------------------- /Hangman/fonts/Caesar_Dressing/CaesarDressing-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Caesar_Dressing/CaesarDressing-Regular.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Caesar_Dressing/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011, Open Window (https://profiles.google.com/openwindowfonts/about), 2 | with Reserved Font Name "Caesar Dressing". 3 | 4 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 5 | This license is copied below, and is also available with a FAQ at: 6 | http://scripts.sil.org/OFL 7 | 8 | 9 | ----------------------------------------------------------- 10 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 11 | ----------------------------------------------------------- 12 | 13 | PREAMBLE 14 | The goals of the Open Font License (OFL) are to stimulate worldwide 15 | development of collaborative font projects, to support the font creation 16 | efforts of academic and linguistic communities, and to provide a free and 17 | open framework in which fonts may be shared and improved in partnership 18 | with others. 19 | 20 | The OFL allows the licensed fonts to be used, studied, modified and 21 | redistributed freely as long as they are not sold by themselves. The 22 | fonts, including any derivative works, can be bundled, embedded, 23 | redistributed and/or sold with any software provided that any reserved 24 | names are not used by derivative works. The fonts and derivatives, 25 | however, cannot be released under any other type of license. The 26 | requirement for fonts to remain under this license does not apply 27 | to any document created using the fonts or their derivatives. 28 | 29 | DEFINITIONS 30 | "Font Software" refers to the set of files released by the Copyright 31 | Holder(s) under this license and clearly marked as such. This may 32 | include source files, build scripts and documentation. 33 | 34 | "Reserved Font Name" refers to any names specified as such after the 35 | copyright statement(s). 36 | 37 | "Original Version" refers to the collection of Font Software components as 38 | distributed by the Copyright Holder(s). 39 | 40 | "Modified Version" refers to any derivative made by adding to, deleting, 41 | or substituting -- in part or in whole -- any of the components of the 42 | Original Version, by changing formats or by porting the Font Software to a 43 | new environment. 44 | 45 | "Author" refers to any designer, engineer, programmer, technical 46 | writer or other person who contributed to the Font Software. 47 | 48 | PERMISSION & CONDITIONS 49 | Permission is hereby granted, free of charge, to any person obtaining 50 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 51 | redistribute, and sell modified and unmodified copies of the Font 52 | Software, subject to the following conditions: 53 | 54 | 1) Neither the Font Software nor any of its individual components, 55 | in Original or Modified Versions, may be sold by itself. 56 | 57 | 2) Original or Modified Versions of the Font Software may be bundled, 58 | redistributed and/or sold with any software, provided that each copy 59 | contains the above copyright notice and this license. These can be 60 | included either as stand-alone text files, human-readable headers or 61 | in the appropriate machine-readable metadata fields within text or 62 | binary files as long as those fields can be easily viewed by the user. 63 | 64 | 3) No Modified Version of the Font Software may use the Reserved Font 65 | Name(s) unless explicit written permission is granted by the corresponding 66 | Copyright Holder. This restriction only applies to the primary font name as 67 | presented to the users. 68 | 69 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 70 | Software shall not be used to promote, endorse or advertise any 71 | Modified Version, except to acknowledge the contribution(s) of the 72 | Copyright Holder(s) and the Author(s) or with their explicit written 73 | permission. 74 | 75 | 5) The Font Software, modified or unmodified, in part or in whole, 76 | must be distributed entirely under this license, and must not be 77 | distributed under any other license. The requirement for fonts to 78 | remain under this license does not apply to any document created 79 | using the Font Software. 80 | 81 | TERMINATION 82 | This license becomes null and void if any of the above conditions are 83 | not met. 84 | 85 | DISCLAIMER 86 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 87 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 88 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 89 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 90 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 91 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 92 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 93 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 94 | OTHER DEALINGS IN THE FONT SOFTWARE. 95 | -------------------------------------------------------------------------------- /Hangman/fonts/IndieFlower-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/IndieFlower-Regular.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Indie_Flower.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Indie_Flower.zip -------------------------------------------------------------------------------- /Hangman/fonts/Lato-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato-Black.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato-BlackItalic.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato-Bold.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato-BoldItalic.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato-Light.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato-LightItalic.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato-Regular.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato-RegularItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato-RegularItalic.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato-Thin.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato-ThinItalic.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/Lato-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato/Lato-Black.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/Lato-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato/Lato-BlackItalic.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/Lato-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato/Lato-Bold.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/Lato-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato/Lato-BoldItalic.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/Lato-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato/Lato-Light.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/Lato-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato/Lato-LightItalic.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/Lato-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato/Lato-Regular.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/Lato-RegularItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato/Lato-RegularItalic.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/Lato-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato/Lato-Thin.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/Lato-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/Lato/Lato-ThinItalic.ttf -------------------------------------------------------------------------------- /Hangman/fonts/Lato/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name "Lato" 2 | 3 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 4 | This license is copied below, and is also available with a FAQ at: 5 | http://scripts.sil.org/OFL 6 | 7 | 8 | ----------------------------------------------------------- 9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 10 | ----------------------------------------------------------- 11 | 12 | PREAMBLE 13 | The goals of the Open Font License (OFL) are to stimulate worldwide 14 | development of collaborative font projects, to support the font creation 15 | efforts of academic and linguistic communities, and to provide a free and 16 | open framework in which fonts may be shared and improved in partnership 17 | with others. 18 | 19 | The OFL allows the licensed fonts to be used, studied, modified and 20 | redistributed freely as long as they are not sold by themselves. The 21 | fonts, including any derivative works, can be bundled, embedded, 22 | redistributed and/or sold with any software provided that any reserved 23 | names are not used by derivative works. The fonts and derivatives, 24 | however, cannot be released under any other type of license. The 25 | requirement for fonts to remain under this license does not apply 26 | to any document created using the fonts or their derivatives. 27 | 28 | DEFINITIONS 29 | "Font Software" refers to the set of files released by the Copyright 30 | Holder(s) under this license and clearly marked as such. This may 31 | include source files, build scripts and documentation. 32 | 33 | "Reserved Font Name" refers to any names specified as such after the 34 | copyright statement(s). 35 | 36 | "Original Version" refers to the collection of Font Software components as 37 | distributed by the Copyright Holder(s). 38 | 39 | "Modified Version" refers to any derivative made by adding to, deleting, 40 | or substituting -- in part or in whole -- any of the components of the 41 | Original Version, by changing formats or by porting the Font Software to a 42 | new environment. 43 | 44 | "Author" refers to any designer, engineer, programmer, technical 45 | writer or other person who contributed to the Font Software. 46 | 47 | PERMISSION & CONDITIONS 48 | Permission is hereby granted, free of charge, to any person obtaining 49 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 50 | redistribute, and sell modified and unmodified copies of the Font 51 | Software, subject to the following conditions: 52 | 53 | 1) Neither the Font Software nor any of its individual components, 54 | in Original or Modified Versions, may be sold by itself. 55 | 56 | 2) Original or Modified Versions of the Font Software may be bundled, 57 | redistributed and/or sold with any software, provided that each copy 58 | contains the above copyright notice and this license. These can be 59 | included either as stand-alone text files, human-readable headers or 60 | in the appropriate machine-readable metadata fields within text or 61 | binary files as long as those fields can be easily viewed by the user. 62 | 63 | 3) No Modified Version of the Font Software may use the Reserved Font 64 | Name(s) unless explicit written permission is granted by the corresponding 65 | Copyright Holder. This restriction only applies to the primary font name as 66 | presented to the users. 67 | 68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 69 | Software shall not be used to promote, endorse or advertise any 70 | Modified Version, except to acknowledge the contribution(s) of the 71 | Copyright Holder(s) and the Author(s) or with their explicit written 72 | permission. 73 | 74 | 5) The Font Software, modified or unmodified, in part or in whole, 75 | must be distributed entirely under this license, and must not be 76 | distributed under any other license. The requirement for fonts to 77 | remain under this license does not apply to any document created 78 | using the Font Software. 79 | 80 | TERMINATION 81 | This license becomes null and void if any of the above conditions are 82 | not met. 83 | 84 | DISCLAIMER 85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 93 | OTHER DEALINGS IN THE FONT SOFTWARE. 94 | -------------------------------------------------------------------------------- /Hangman/fonts/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010, Kimberly Geswein (kimberlygeswein.com) 2 | 3 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 4 | This license is copied below, and is also available with a FAQ at: 5 | http://scripts.sil.org/OFL 6 | 7 | 8 | ----------------------------------------------------------- 9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 10 | ----------------------------------------------------------- 11 | 12 | PREAMBLE 13 | The goals of the Open Font License (OFL) are to stimulate worldwide 14 | development of collaborative font projects, to support the font creation 15 | efforts of academic and linguistic communities, and to provide a free and 16 | open framework in which fonts may be shared and improved in partnership 17 | with others. 18 | 19 | The OFL allows the licensed fonts to be used, studied, modified and 20 | redistributed freely as long as they are not sold by themselves. The 21 | fonts, including any derivative works, can be bundled, embedded, 22 | redistributed and/or sold with any software provided that any reserved 23 | names are not used by derivative works. The fonts and derivatives, 24 | however, cannot be released under any other type of license. The 25 | requirement for fonts to remain under this license does not apply 26 | to any document created using the fonts or their derivatives. 27 | 28 | DEFINITIONS 29 | "Font Software" refers to the set of files released by the Copyright 30 | Holder(s) under this license and clearly marked as such. This may 31 | include source files, build scripts and documentation. 32 | 33 | "Reserved Font Name" refers to any names specified as such after the 34 | copyright statement(s). 35 | 36 | "Original Version" refers to the collection of Font Software components as 37 | distributed by the Copyright Holder(s). 38 | 39 | "Modified Version" refers to any derivative made by adding to, deleting, 40 | or substituting -- in part or in whole -- any of the components of the 41 | Original Version, by changing formats or by porting the Font Software to a 42 | new environment. 43 | 44 | "Author" refers to any designer, engineer, programmer, technical 45 | writer or other person who contributed to the Font Software. 46 | 47 | PERMISSION & CONDITIONS 48 | Permission is hereby granted, free of charge, to any person obtaining 49 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 50 | redistribute, and sell modified and unmodified copies of the Font 51 | Software, subject to the following conditions: 52 | 53 | 1) Neither the Font Software nor any of its individual components, 54 | in Original or Modified Versions, may be sold by itself. 55 | 56 | 2) Original or Modified Versions of the Font Software may be bundled, 57 | redistributed and/or sold with any software, provided that each copy 58 | contains the above copyright notice and this license. These can be 59 | included either as stand-alone text files, human-readable headers or 60 | in the appropriate machine-readable metadata fields within text or 61 | binary files as long as those fields can be easily viewed by the user. 62 | 63 | 3) No Modified Version of the Font Software may use the Reserved Font 64 | Name(s) unless explicit written permission is granted by the corresponding 65 | Copyright Holder. This restriction only applies to the primary font name as 66 | presented to the users. 67 | 68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 69 | Software shall not be used to promote, endorse or advertise any 70 | Modified Version, except to acknowledge the contribution(s) of the 71 | Copyright Holder(s) and the Author(s) or with their explicit written 72 | permission. 73 | 74 | 5) The Font Software, modified or unmodified, in part or in whole, 75 | must be distributed entirely under this license, and must not be 76 | distributed under any other license. The requirement for fonts to 77 | remain under this license does not apply to any document created 78 | using the Font Software. 79 | 80 | TERMINATION 81 | This license becomes null and void if any of the above conditions are 82 | not met. 83 | 84 | DISCLAIMER 85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 93 | OTHER DEALINGS IN THE FONT SOFTWARE. 94 | -------------------------------------------------------------------------------- /Hangman/fonts/UnifrakturCook (1).zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/UnifrakturCook (1).zip -------------------------------------------------------------------------------- /Hangman/fonts/UnifrakturCook (1)/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010, j. 'mach' wust, with Reserved Font Name UnifrakturCook. 2 | Copyright (c) 2009, Peter Wiegel. 3 | 4 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 5 | This license is copied below, and is also available with a FAQ at: 6 | http://scripts.sil.org/OFL 7 | 8 | 9 | ----------------------------------------------------------- 10 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 11 | ----------------------------------------------------------- 12 | 13 | PREAMBLE 14 | The goals of the Open Font License (OFL) are to stimulate worldwide 15 | development of collaborative font projects, to support the font creation 16 | efforts of academic and linguistic communities, and to provide a free and 17 | open framework in which fonts may be shared and improved in partnership 18 | with others. 19 | 20 | The OFL allows the licensed fonts to be used, studied, modified and 21 | redistributed freely as long as they are not sold by themselves. The 22 | fonts, including any derivative works, can be bundled, embedded, 23 | redistributed and/or sold with any software provided that any reserved 24 | names are not used by derivative works. The fonts and derivatives, 25 | however, cannot be released under any other type of license. The 26 | requirement for fonts to remain under this license does not apply 27 | to any document created using the fonts or their derivatives. 28 | 29 | DEFINITIONS 30 | "Font Software" refers to the set of files released by the Copyright 31 | Holder(s) under this license and clearly marked as such. This may 32 | include source files, build scripts and documentation. 33 | 34 | "Reserved Font Name" refers to any names specified as such after the 35 | copyright statement(s). 36 | 37 | "Original Version" refers to the collection of Font Software components as 38 | distributed by the Copyright Holder(s). 39 | 40 | "Modified Version" refers to any derivative made by adding to, deleting, 41 | or substituting -- in part or in whole -- any of the components of the 42 | Original Version, by changing formats or by porting the Font Software to a 43 | new environment. 44 | 45 | "Author" refers to any designer, engineer, programmer, technical 46 | writer or other person who contributed to the Font Software. 47 | 48 | PERMISSION & CONDITIONS 49 | Permission is hereby granted, free of charge, to any person obtaining 50 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 51 | redistribute, and sell modified and unmodified copies of the Font 52 | Software, subject to the following conditions: 53 | 54 | 1) Neither the Font Software nor any of its individual components, 55 | in Original or Modified Versions, may be sold by itself. 56 | 57 | 2) Original or Modified Versions of the Font Software may be bundled, 58 | redistributed and/or sold with any software, provided that each copy 59 | contains the above copyright notice and this license. These can be 60 | included either as stand-alone text files, human-readable headers or 61 | in the appropriate machine-readable metadata fields within text or 62 | binary files as long as those fields can be easily viewed by the user. 63 | 64 | 3) No Modified Version of the Font Software may use the Reserved Font 65 | Name(s) unless explicit written permission is granted by the corresponding 66 | Copyright Holder. This restriction only applies to the primary font name as 67 | presented to the users. 68 | 69 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 70 | Software shall not be used to promote, endorse or advertise any 71 | Modified Version, except to acknowledge the contribution(s) of the 72 | Copyright Holder(s) and the Author(s) or with their explicit written 73 | permission. 74 | 75 | 5) The Font Software, modified or unmodified, in part or in whole, 76 | must be distributed entirely under this license, and must not be 77 | distributed under any other license. The requirement for fonts to 78 | remain under this license does not apply to any document created 79 | using the Font Software. 80 | 81 | TERMINATION 82 | This license becomes null and void if any of the above conditions are 83 | not met. 84 | 85 | DISCLAIMER 86 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 87 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 88 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 89 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 90 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 91 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 92 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 93 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 94 | OTHER DEALINGS IN THE FONT SOFTWARE. 95 | -------------------------------------------------------------------------------- /Hangman/fonts/UnifrakturCook (1)/UnifrakturCook-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/UnifrakturCook (1)/UnifrakturCook-Bold.ttf -------------------------------------------------------------------------------- /Hangman/fonts/UnifrakturCook-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/UnifrakturCook-Bold.ttf -------------------------------------------------------------------------------- /Hangman/fonts/UnifrakturCook.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/UnifrakturCook.zip -------------------------------------------------------------------------------- /Hangman/fonts/UnifrakturCook/OFL.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010, j. 'mach' wust, with Reserved Font Name UnifrakturCook. 2 | Copyright (c) 2009, Peter Wiegel. 3 | 4 | This Font Software is licensed under the SIL Open Font License, Version 1.1. 5 | This license is copied below, and is also available with a FAQ at: 6 | http://scripts.sil.org/OFL 7 | 8 | 9 | ----------------------------------------------------------- 10 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 11 | ----------------------------------------------------------- 12 | 13 | PREAMBLE 14 | The goals of the Open Font License (OFL) are to stimulate worldwide 15 | development of collaborative font projects, to support the font creation 16 | efforts of academic and linguistic communities, and to provide a free and 17 | open framework in which fonts may be shared and improved in partnership 18 | with others. 19 | 20 | The OFL allows the licensed fonts to be used, studied, modified and 21 | redistributed freely as long as they are not sold by themselves. The 22 | fonts, including any derivative works, can be bundled, embedded, 23 | redistributed and/or sold with any software provided that any reserved 24 | names are not used by derivative works. The fonts and derivatives, 25 | however, cannot be released under any other type of license. The 26 | requirement for fonts to remain under this license does not apply 27 | to any document created using the fonts or their derivatives. 28 | 29 | DEFINITIONS 30 | "Font Software" refers to the set of files released by the Copyright 31 | Holder(s) under this license and clearly marked as such. This may 32 | include source files, build scripts and documentation. 33 | 34 | "Reserved Font Name" refers to any names specified as such after the 35 | copyright statement(s). 36 | 37 | "Original Version" refers to the collection of Font Software components as 38 | distributed by the Copyright Holder(s). 39 | 40 | "Modified Version" refers to any derivative made by adding to, deleting, 41 | or substituting -- in part or in whole -- any of the components of the 42 | Original Version, by changing formats or by porting the Font Software to a 43 | new environment. 44 | 45 | "Author" refers to any designer, engineer, programmer, technical 46 | writer or other person who contributed to the Font Software. 47 | 48 | PERMISSION & CONDITIONS 49 | Permission is hereby granted, free of charge, to any person obtaining 50 | a copy of the Font Software, to use, study, copy, merge, embed, modify, 51 | redistribute, and sell modified and unmodified copies of the Font 52 | Software, subject to the following conditions: 53 | 54 | 1) Neither the Font Software nor any of its individual components, 55 | in Original or Modified Versions, may be sold by itself. 56 | 57 | 2) Original or Modified Versions of the Font Software may be bundled, 58 | redistributed and/or sold with any software, provided that each copy 59 | contains the above copyright notice and this license. These can be 60 | included either as stand-alone text files, human-readable headers or 61 | in the appropriate machine-readable metadata fields within text or 62 | binary files as long as those fields can be easily viewed by the user. 63 | 64 | 3) No Modified Version of the Font Software may use the Reserved Font 65 | Name(s) unless explicit written permission is granted by the corresponding 66 | Copyright Holder. This restriction only applies to the primary font name as 67 | presented to the users. 68 | 69 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font 70 | Software shall not be used to promote, endorse or advertise any 71 | Modified Version, except to acknowledge the contribution(s) of the 72 | Copyright Holder(s) and the Author(s) or with their explicit written 73 | permission. 74 | 75 | 5) The Font Software, modified or unmodified, in part or in whole, 76 | must be distributed entirely under this license, and must not be 77 | distributed under any other license. The requirement for fonts to 78 | remain under this license does not apply to any document created 79 | using the Font Software. 80 | 81 | TERMINATION 82 | This license becomes null and void if any of the above conditions are 83 | not met. 84 | 85 | DISCLAIMER 86 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 87 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF 88 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 89 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE 90 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 91 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL 92 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 93 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM 94 | OTHER DEALINGS IN THE FONT SOFTWARE. 95 | -------------------------------------------------------------------------------- /Hangman/fonts/UnifrakturCook/UnifrakturCook-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/fonts/UnifrakturCook/UnifrakturCook-Bold.ttf -------------------------------------------------------------------------------- /Hangman/images/0_6WFhG2qCe5dPH1Fz.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/0_6WFhG2qCe5dPH1Fz.jpeg -------------------------------------------------------------------------------- /Hangman/images/Hangman-Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/Hangman-Logo.png -------------------------------------------------------------------------------- /Hangman/images/fail.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/fail.jpeg -------------------------------------------------------------------------------- /Hangman/images/google_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/google_logo.png -------------------------------------------------------------------------------- /Hangman/images/hangman/0hangman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/0hangman.png -------------------------------------------------------------------------------- /Hangman/images/hangman/1hangman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/1hangman.png -------------------------------------------------------------------------------- /Hangman/images/hangman/2hangman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/2hangman.png -------------------------------------------------------------------------------- /Hangman/images/hangman/3hangman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/3hangman.png -------------------------------------------------------------------------------- /Hangman/images/hangman/4hangman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/4hangman.png -------------------------------------------------------------------------------- /Hangman/images/hangman/5hangman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/5hangman.png -------------------------------------------------------------------------------- /Hangman/images/hangman/6hangman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/6hangman.png -------------------------------------------------------------------------------- /Hangman/images/hangman/7hangman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/7hangman.png -------------------------------------------------------------------------------- /Hangman/images/hangman/8hangman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/8hangman.png -------------------------------------------------------------------------------- /Hangman/images/hangman/9hangman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/9hangman.png -------------------------------------------------------------------------------- /Hangman/images/hangman/background_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman/background_image.png -------------------------------------------------------------------------------- /Hangman/images/hangman_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman_logo.png -------------------------------------------------------------------------------- /Hangman/images/hangman_logo_page.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/hangman_logo_page.png -------------------------------------------------------------------------------- /Hangman/images/icon.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/icon.jpeg -------------------------------------------------------------------------------- /Hangman/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/icon.png -------------------------------------------------------------------------------- /Hangman/images/loss.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/loss.jpeg -------------------------------------------------------------------------------- /Hangman/images/main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/main.png -------------------------------------------------------------------------------- /Hangman/images/sucess.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/sucess.jpeg -------------------------------------------------------------------------------- /Hangman/images/tellmewow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/tellmewow.png -------------------------------------------------------------------------------- /Hangman/images/undermaintance.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/images/undermaintance.jpg -------------------------------------------------------------------------------- /Hangman/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 | -------------------------------------------------------------------------------- /Hangman/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /Hangman/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /Hangman/ios/Flutter/flutter_export_environment.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # This is a generated file; do not edit or check into version control. 3 | export "FLUTTER_ROOT=/home/jerald/flutter" 4 | export "FLUTTER_APPLICATION_PATH=/home/jerald/Documents/myown/flutter-game/Flutter-Apps/Hangman" 5 | export "FLUTTER_TARGET=lib/main.dart" 6 | export "FLUTTER_BUILD_DIR=build" 7 | export "SYMROOT=${SOURCE_ROOT}/../build/ios" 8 | export "OTHER_LDFLAGS=$(inherited) -framework Flutter" 9 | export "FLUTTER_FRAMEWORK_DIR=/home/jerald/flutter/bin/cache/artifacts/engine/ios" 10 | export "FLUTTER_BUILD_NAME=1.0.0" 11 | export "FLUTTER_BUILD_NUMBER=1" 12 | -------------------------------------------------------------------------------- /Hangman/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Hangman/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 | -------------------------------------------------------------------------------- /Hangman/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Hangman/ios/Runner/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : FlutterAppDelegate 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /Hangman/ios/Runner/AppDelegate.m: -------------------------------------------------------------------------------- 1 | #include "AppDelegate.h" 2 | #include "GeneratedPluginRegistrant.h" 3 | 4 | @implementation AppDelegate 5 | 6 | - (BOOL)application:(UIApplication *)application 7 | didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 8 | [GeneratedPluginRegistrant registerWithRegistry:self]; 9 | // Override point for customization after application launch. 10 | return [super application:application didFinishLaunchingWithOptions:launchOptions]; 11 | } 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Hangman/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 | -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /Hangman/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 | -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /Hangman/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /Hangman/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. -------------------------------------------------------------------------------- /Hangman/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 | -------------------------------------------------------------------------------- /Hangman/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 | -------------------------------------------------------------------------------- /Hangman/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 | hangman 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 | -------------------------------------------------------------------------------- /Hangman/ios/Runner/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char* argv[]) { 6 | @autoreleasepool { 7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Hangman/lib/Sizeconfiq.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/widgets.dart'; 2 | 3 | class SizeConfig { 4 | static MediaQueryData _mediaQueryData; 5 | static double screenWidth; 6 | static double screenHeight; 7 | static double blockSizeHorizontal; 8 | static double blockSizeVertical; 9 | 10 | static double _safeAreaHorizontal; 11 | static double _safeAreaVertical; 12 | static double safeBlockHorizontal; 13 | static double safeBlockVertical; 14 | static double smallestSize; 15 | static double largestSize; 16 | 17 | void init(BuildContext context) { 18 | _mediaQueryData = MediaQuery.of(context); 19 | screenWidth = _mediaQueryData.size.width; 20 | screenHeight = _mediaQueryData.size.height; 21 | blockSizeHorizontal = screenWidth / 100; 22 | blockSizeVertical = screenHeight / 100; 23 | smallestSize = blockSizeVertical < blockSizeHorizontal ? blockSizeVertical : blockSizeHorizontal; 24 | largestSize = blockSizeVertical > blockSizeHorizontal ? blockSizeVertical : blockSizeHorizontal; 25 | 26 | _safeAreaHorizontal = _mediaQueryData.padding.left + _mediaQueryData.padding.right; 27 | _safeAreaVertical = _mediaQueryData.padding.top + _mediaQueryData.padding.bottom; 28 | safeBlockHorizontal = (screenWidth - _safeAreaHorizontal) / 100; 29 | safeBlockVertical = (screenHeight - _safeAreaVertical) / 100; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Hangman/lib/api/rest_data_source.dart: -------------------------------------------------------------------------------- 1 | import 'dart:convert'; 2 | 3 | import 'package:flutter/material.dart'; 4 | import 'package:hangman/dao/hm_words.dart'; 5 | import 'package:hangman/utils/network_util.dart'; 6 | 7 | class RestDataSource { 8 | NetworkUtil _networkUtil = new NetworkUtil(); 9 | static final BASE_URL = "https://github.com/boennemann/animals/blob/master/words.json"; 10 | 11 | // static final BASE_URL="https://www.randomlists.com/data/vocabulary-words.json"; 12 | Future getWordsList() async { 13 | // EduPlusSharedPreference prefs = new EduPlusSharedPreference(); 14 | // bool isAuthenticated = await prefs.getBool(PreferenceKey.IS_USER_LOGGED_IN); 15 | // if (!isAuthenticated) { 16 | // throw EduPlusError.unAuthorizeAccess; 17 | // } 18 | 19 | var params = Map(); 20 | // params["type"] = 1; //required field : 1 => Diary, 2 => Homework 21 | // params["limit"] = defaultLimit; 22 | // params["page"] = defaultPage; 23 | // params["sortOrder"] = "DESC"; 24 | 25 | var headers = Map(); 26 | headers["Content-Type"] = "application/json"; 27 | //String authToken = await prefs.getString(PreferenceKey.AUTH_TOKEN); 28 | //headers["authToken"] = authToken; 29 | 30 | Future responseData = 31 | _networkUtil.get(BASE_URL,headers: headers); 32 | return responseData.then((ParsedResponse res) { 33 | print("Get Diary List Response :: " + res.toString()); 34 | if (res.isOk()) { 35 | HMWordsList dataList = new HMWordsList(jsonDecode(res.response)); 36 | return dataList; 37 | } else if (res.statusCode == 401) { 38 | // throw EduPlusError.unAuthorizeAccess; 39 | // if (globals.logout == false) { 40 | // globals.logout = true; 41 | // Navigator.push( 42 | // context, 43 | // MaterialPageRoute(builder: (context) => LogoutDialog()), 44 | // ); 45 | // } 46 | // } else { 47 | // throw EduPlusError.serverError; 48 | // } 49 | } 50 | }).catchError((Object e) { 51 | throw e; 52 | }); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Hangman/lib/dao/hm_words.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | class HMWordsList { 4 | static const LIMIT = 10; 5 | List diaryList = new List(); 6 | int lastUpdateDate; 7 | 8 | /// Parse the server response 9 | HMWordsList(Map responseMap, {int trackableId}) { 10 | if (null != responseMap && responseMap.isNotEmpty) { 11 | lastUpdateDate = responseMap["lastUpdateDate"]; 12 | print("Dairy List - Last updated : $lastUpdateDate "); 13 | 14 | dynamic results = responseMap["data"]; 15 | for (dynamic result in results) { 16 | HMWords diary = new HMWords(result); 17 | diaryList.add(diary); 18 | } 19 | } 20 | } 21 | 22 | static Future insertAllToDb(List list) async { 23 | List> wordsInsertMaps = List>(); 24 | for (HMWords diary in list) { 25 | var insertMap = diary.getInsertMap(); 26 | if (null != insertMap) { 27 | wordsInsertMaps.add(insertMap); 28 | } 29 | } 30 | if (wordsInsertMaps.isNotEmpty) { 31 | int rowsUpdated = await HMWords.insert(wordsInsertMaps); 32 | print("Diary List Inserted to DB, Rows Updated :::: $rowsUpdated"); 33 | return rowsUpdated; 34 | } 35 | return -1; 36 | } 37 | } 38 | 39 | class HMWords { 40 | static const tableName = "hm_words"; 41 | static const tableSchema = [ 42 | ['name', 'TEXT', ''], 43 | ['detail', 'TEXT', ''], 44 | ]; 45 | 46 | var name; 47 | var detail; 48 | 49 | HMWords(Map responseMap) { 50 | if (null != responseMap && responseMap.isNotEmpty) { 51 | _fillFromMap(responseMap); 52 | } 53 | } 54 | 55 | void _fillFromMap(Map responseMap) { 56 | this.name = responseMap["name"]; 57 | this.detail = responseMap["detail"]; 58 | } 59 | 60 | /// Will return a map of values represents a db insertion data 61 | Map getInsertMap() { 62 | Map value = new Map(); 63 | try { 64 | value["name"] = name; 65 | value["detail"] = detail; 66 | } catch (e) { 67 | print("Exception Caught [HMWords][getInsertMap] : " + e.toString()); 68 | } 69 | return value; 70 | } 71 | 72 | static Future insertAllToDb(List list) async { 73 | List> wordsInsertMaps = List>(); 74 | for (HMWords diary in list) { 75 | var insertMap = diary.getInsertMap(); 76 | if (null != insertMap) { 77 | wordsInsertMaps.add(insertMap); 78 | } 79 | } 80 | if (wordsInsertMaps.isNotEmpty) { 81 | int rowsUpdated = await HMWords.insert(wordsInsertMaps); 82 | print("Words List Inserted to DB, Rows Updated :::: $rowsUpdated"); 83 | return rowsUpdated; 84 | } 85 | return -1; 86 | } 87 | 88 | /// The function can be used to insert a bulk of data in a single transaction 89 | static Future insert(List> dataList) async { 90 | try { 91 | if (dataList != null && dataList.length > 0) { 92 | List> targetDataList = new List(); 93 | List> diaryDataList = new List(); 94 | List> deleteDataList = new List(); 95 | 96 | for (Map data in dataList) { 97 | Map deleteData = data["targetDeleteMap"]; 98 | if (null != deleteData) { 99 | deleteDataList.add(deleteData); 100 | data.remove("targetDeleteMap"); 101 | } 102 | 103 | List> targetData = data["targetInsertMaps"]; 104 | if (targetData != null) { 105 | targetDataList.addAll(targetData); 106 | data.remove("targetInsertMaps"); 107 | } 108 | diaryDataList.add(data); 109 | } 110 | 111 | Map>> insertData = 112 | Map>>(); 113 | insertData[tableName] = diaryDataList; 114 | return 0; 115 | } else { 116 | return 0; 117 | } 118 | } catch (e) { 119 | print("Exception Caught [HMWords][insert] : " + e.toString()); 120 | return 0; 121 | } 122 | } 123 | 124 | HMWords.fillFromDBMap(Map values) { 125 | name = values["name"]; 126 | detail = values["detail"]; 127 | } 128 | 129 | /// The function will fetch details of diary with the given 130 | /// diary id and create an [HMWords] object with the fetched data. 131 | /// 132 | /// [diaryId] [int] represents a valid diary id. 133 | /// 134 | /// Returns: [HMWords] object with fetched data from Db. 135 | 136 | } 137 | -------------------------------------------------------------------------------- /Hangman/lib/disable_button.dart: -------------------------------------------------------------------------------- 1 | //import 'package:flutter/material.dart'; 2 | //import 'package:splashscreen/splashscreen.dart'; 3 | // 4 | //void main() { 5 | // runApp(new MaterialApp( 6 | // home: new MyApp1(), 7 | // )); 8 | //} 9 | // 10 | //class MyApp1 extends StatefulWidget { 11 | // @override 12 | // _MyAppState createState() => new _MyAppState(); 13 | //} 14 | // 15 | //class _MyAppState extends State { 16 | // @override 17 | // Widget build(BuildContext context) { 18 | // return new SplashScreen( 19 | // seconds: 14, 20 | // navigateAfterSeconds: new AfterSplash(), 21 | // title: new Text( 22 | // 'Welcome In SplashScreen', 23 | // style: new TextStyle(fontWeight: FontWeight.bold, fontSize: 20.0), 24 | // ), 25 | // image: new Image.network('https://i.imgur.com/TyCSG9A.png'), 26 | // backgroundColor: Colors.white, 27 | // styleTextUnderTheLoader: new TextStyle(), 28 | // photoSize: 100.0, 29 | // onClick: () => print("Flutter Egypt"), 30 | // loaderColor: Colors.red); 31 | // } 32 | //} 33 | // 34 | //class AfterSplash extends StatelessWidget { 35 | // @override 36 | // Widget build(BuildContext context) { 37 | // return new Scaffold( 38 | // appBar: new AppBar( 39 | // title: new Text("Welcome In SplashScreen Package"), 40 | // automaticallyImplyLeading: false), 41 | // body: new Center( 42 | // child: new Text( 43 | // "Done!", 44 | // style: new TextStyle(fontWeight: FontWeight.bold, fontSize: 30.0), 45 | // ), 46 | // ), 47 | // ); 48 | // } 49 | //} 50 | -------------------------------------------------------------------------------- /Hangman/lib/hangman.json: -------------------------------------------------------------------------------- 1 | { 2 | "word": "fruit", 3 | "results": [ 4 | { 5 | "definition": "an amount of a product", 6 | "partOfSpeech": "noun", 7 | "synonyms": [ 8 | "yield" 9 | ], 10 | "typeOf": [ 11 | "production", 12 | "product" 13 | ] 14 | }, 15 | { 16 | "definition": "bear fruit", 17 | "partOfSpeech": "verb", 18 | "typeOf": [ 19 | "bear", 20 | "turn out" 21 | ], 22 | "derivation": [ 23 | "fruition", 24 | "fruitage" 25 | ], 26 | "examples": [ 27 | "the trees fruited early this year" 28 | ] 29 | }, 30 | { 31 | "definition": "cause to bear fruit", 32 | "partOfSpeech": "verb", 33 | "derivation": [ 34 | "fruitage" 35 | ] 36 | }, 37 | { 38 | "definition": "the consequence of some effort or action", 39 | "partOfSpeech": "noun", 40 | "typeOf": [ 41 | "consequence", 42 | "aftermath" 43 | ], 44 | "examples": [ 45 | "he lived long enough to see the fruit of his policies" 46 | ] 47 | }, 48 | { 49 | "definition": "the ripened reproductive body of a seed plant", 50 | "partOfSpeech": "noun", 51 | "typeOf": [ 52 | "reproductive structure" 53 | ], 54 | "hasTypes": [ 55 | "capitulum", 56 | "chokecherry", 57 | "cubeb", 58 | "drupe", 59 | "ear", 60 | "edible fruit", 61 | "elk nut", 62 | "false fruit", 63 | "fruitlet", 64 | "gourd", 65 | "hagberry", 66 | "hip", 67 | "juniper berry", 68 | "marasca", 69 | "may apple", 70 | "multiple fruit", 71 | "oil nut", 72 | "olive", 73 | "pod", 74 | "pome", 75 | "prairie gourd", 76 | "pseudocarp", 77 | "pyxidium", 78 | "pyxis", 79 | "quandong", 80 | "rose hip", 81 | "rosehip", 82 | "rowanberry", 83 | "schizocarp", 84 | "seed", 85 | "seedpod", 86 | "spike", 87 | "accessory fruit", 88 | "syncarp", 89 | "wild cherry", 90 | "yellow berry", 91 | "stone fruit", 92 | "achene", 93 | "acorn", 94 | "aggregate fruit", 95 | "berry", 96 | "blue fig", 97 | "buckthorn berry", 98 | "buffalo nut" 99 | ], 100 | "derivation": [ 101 | "fructify", 102 | "fruiterer", 103 | "fruitlet", 104 | "fruity" 105 | ] 106 | } 107 | ], 108 | "syllables": { 109 | "count": 1, 110 | "list": [ 111 | "fruit" 112 | ] 113 | }, 114 | "pronunciation": { 115 | "all": "frut" 116 | }, 117 | "frequency": 4.37 118 | } -------------------------------------------------------------------------------- /Hangman/lib/hangmanApi.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | import 'dart:convert'; 3 | 4 | import 'package:flutter/material.dart'; 5 | import 'package:http/http.dart' as http; 6 | 7 | void main() => runApp(MyApp()); 8 | 9 | class MyApp extends StatelessWidget { 10 | MyApp({Key key}) : super(key: key); 11 | @override 12 | Widget build(BuildContext context) { 13 | return MaterialApp( 14 | title: 'Daily Quotes App', 15 | theme: ThemeData( 16 | primarySwatch: Colors.blue, 17 | ), 18 | home: Scaffold( 19 | appBar: AppBar( 20 | title: Text('Quote of the Day'), 21 | ), 22 | body: Center( 23 | child: FutureBuilder( 24 | future: 25 | getQuote(), //sets the getQuote method as the expected Future 26 | builder: (context, snapshot) { 27 | if (snapshot.hasData) { 28 | //checks if the response returns valid data 29 | return Center( 30 | child: Column( 31 | children: [ 32 | Text(snapshot.data.quote), //displays the quote 33 | SizedBox( 34 | height: 10.0, 35 | ), 36 | Text( 37 | " - ${snapshot.data.author}"), //displays the quote's author 38 | ], 39 | ), 40 | ); 41 | } else if (snapshot.hasError) { 42 | //checks if the response throws an error 43 | return Text("${snapshot.error}"); 44 | } 45 | return CircularProgressIndicator(); 46 | }, 47 | ), 48 | ), 49 | ), 50 | ); 51 | } 52 | 53 | Future getQuote() async { 54 | String url = 'https://www.randomlists.com/data/vocabulary-words.json'; 55 | 56 | final response = 57 | await http.get(url, headers: {"Accept": "application/json"}); 58 | 59 | if (response.statusCode == 200) { 60 | return Quote.fromJson(json.decode(response.body)); 61 | } else { 62 | throw Exception('Failed to load post'); 63 | } 64 | } 65 | } 66 | 67 | class Quote { 68 | final String author; 69 | final String quote; 70 | 71 | Quote({this.author, this.quote}); 72 | 73 | factory Quote.fromJson(Map json) { 74 | return Quote( 75 | author: json['data'][0]['name'], quote: json['data'][1]['name']); 76 | } 77 | } 78 | 79 | class ApiPage extends StatefulWidget { 80 | @override 81 | ApiPageState createState() => new ApiPageState(); 82 | } 83 | 84 | class ApiPageState extends State { 85 | @override 86 | Future getData() async { 87 | http.Response response = await http.get( 88 | Uri.encodeFull( 89 | "https://www.randomlists.com/data/vocabulary-words.json"), 90 | headers: {"Accept": "applications/json"}); 91 | List data = json.decode(response.body); 92 | print(data[1]["name"]); 93 | } 94 | 95 | Widget build(BuildContext context) { 96 | // TODO: implement build 97 | return null; 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /Hangman/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:hangman/screens/HomePage.dart'; 3 | import 'package:hangman/screens/login_page.dart'; 4 | import 'package:splashscreen/splashscreen.dart'; 5 | import 'package:firebase_auth/firebase_auth.dart'; 6 | 7 | import 'one_player_page.dart'; 8 | import 'screens/words/get_words_list.dart'; 9 | 10 | 11 | main() { 12 | runApp(MaterialApp( 13 | home: MyApp1(), 14 | )); 15 | } 16 | 17 | class MyApp1 extends StatefulWidget { 18 | @override 19 | _MyAppState createState() => new _MyAppState(); 20 | } 21 | 22 | class _MyAppState extends State { 23 | @override Widget build(BuildContext context) { 24 | return new SplashScreen( 25 | loaderColor: Colors.white, 26 | seconds: 3, 27 | navigateAfterSeconds: new LoginPage(), 28 | title: new Text( 29 | 'Tell me wow ', 30 | style: new TextStyle( 31 | fontSize: 40, 32 | fontFamily: 'IndieFlower', 33 | color: Colors.white, 34 | fontWeight: FontWeight.w300, 35 | ), 36 | ), 37 | image: new Image.asset('images/tellmewow.png'), 38 | backgroundColor: Color.fromARGB(237, 188, 59, 100), 39 | styleTextUnderTheLoader: new TextStyle(), 40 | photoSize: 100.0, 41 | onClick: () => print("Flutter Egypt"), 42 | ); 43 | } 44 | } 45 | 46 | class MyApp extends StatelessWidget { 47 | @override 48 | Widget build(BuildContext context) { 49 | return MaterialApp( 50 | title: 'Flutter Login', 51 | theme: ThemeData( 52 | primarySwatch: Colors.blue, 53 | ), 54 | home: LoginPage(), 55 | ); 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /Hangman/lib/screens/HomePage.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | import 'package:flutter/cupertino.dart'; 4 | import 'package:flutter/material.dart'; 5 | import 'package:hangman/screens/sign_in.dart'; 6 | import 'package:rflutter_alert/rflutter_alert.dart'; 7 | 8 | import '../one_player_page.dart'; 9 | import 'login_page.dart'; 10 | import 'tutorial.dart'; 11 | 12 | class MainPage extends StatefulWidget { 13 | @override 14 | _MainPageState createState() => _MainPageState(); 15 | } 16 | 17 | class _MainPageState extends State { 18 | 19 | 20 | Widget build(BuildContext context) { 21 | double _screenHeight = MediaQuery.of(context).size.height; 22 | return MaterialApp( 23 | theme: ThemeData( 24 | primarySwatch: Colors.blue, 25 | ), 26 | 27 | home: Scaffold( 28 | backgroundColor: Color.fromRGBO(34, 80, 41, 55), 29 | body: SafeArea( 30 | child: ListView( 31 | children: [ 32 | Container( 33 | 34 | color: Color.fromRGBO(34, 80, 41, 55), 35 | 36 | child: 37 | Column( 38 | mainAxisAlignment: MainAxisAlignment.center, 39 | mainAxisSize: MainAxisSize.max, 40 | children: [ 41 | 42 | 43 | Image.asset( 44 | 'images/Hangman-Logo.png', 45 | // height: 280, 46 | ), 47 | Container( 48 | child: Padding( 49 | padding: const EdgeInsets.fromLTRB(85, 15, 30, 10), 50 | child: Text( 51 | "Can you guess the word?", 52 | style: TextStyle( 53 | fontSize: 18, 54 | fontFamily: 'Caesar_Dressing', 55 | color: Colors.yellow.withOpacity(.8), 56 | fontWeight: FontWeight.bold, 57 | ), 58 | ), 59 | ), 60 | ), 61 | CircleAvatar( 62 | backgroundImage: NetworkImage( 63 | imageUrl, 64 | ), 65 | radius: 60, 66 | backgroundColor: Colors.transparent, 67 | ), 68 | Text( 69 | name, 70 | style: TextStyle( 71 | fontSize: 25, 72 | color: Colors.white, 73 | fontWeight: FontWeight.bold), 74 | ), 75 | Container( 76 | color: Color.fromRGBO(34, 80, 41, 20), 77 | margin: EdgeInsets.all(8.0), 78 | child: Center( 79 | child: Column( 80 | children: [ 81 | SizedBox( 82 | width: 0, 83 | height: 80, 84 | ), 85 | RaisedButton( 86 | onPressed: () { 87 | Navigator.of(context).push(_createRoute()); 88 | }, 89 | textColor: Colors.white, 90 | padding: const EdgeInsets.all(3.0), 91 | child: Container( 92 | // decoration: const BoxDecoration( 93 | color: Color.fromRGBO(16, 50, 33, 20), 94 | // gradient: LinearGradient( 95 | // colors: [ 96 | // Color(0xFF0D47A1), 97 | // Color(0xFF1976D2), 98 | // Color(0xFF42A5F5), 99 | // ], 100 | // ), 101 | // ), 102 | padding: const EdgeInsets.all(10.0), 103 | child: const Text( 104 | 'ONE PLAYER', 105 | style: TextStyle( 106 | fontSize: 30, 107 | fontFamily: 'Caesar_Dressing', 108 | color: Colors.white, 109 | fontWeight: FontWeight.bold, 110 | ), 111 | ), 112 | ), 113 | ), 114 | SizedBox( 115 | height: 30, 116 | ), 117 | // RaisedButton( 118 | // onPressed: () { 119 | // Navigator.of(context).push(_createRoute()); 120 | // }, 121 | // textColor: Colors.white, 122 | // padding: const EdgeInsets.all(3.0), 123 | // child: Container( 124 | // // decoration: const BoxDecoration( 125 | // color: Color.fromRGBO(16, 50, 33, 20), 126 | //// gradient: LinearGradient( 127 | //// colors: [ 128 | //// Color(0xFF0D47A1), 129 | //// Color(0xFF1976D2), 130 | //// Color(0xFF42A5F5), 131 | //// ], 132 | //// ), 133 | // // ), 134 | // padding: const EdgeInsets.all(10.0), 135 | // child: const Text( 136 | // 'TWO PLAYER', 137 | // style: TextStyle( 138 | // fontSize: 30, 139 | // fontFamily: 'Caesar_Dressing', 140 | // color: Colors.white, 141 | // fontWeight: FontWeight.bold, 142 | // ), 143 | // ), 144 | // ), 145 | // ), 146 | // SizedBox( 147 | // height: 30, 148 | // ), 149 | RaisedButton( 150 | onPressed: () { 151 | _gameOptions(); 152 | }, 153 | textColor: Colors.white, 154 | padding: const EdgeInsets.all(3.0), 155 | child: Container( 156 | // decoration: const BoxDecoration( 157 | color: Color.fromRGBO(16, 50, 33, 20), 158 | // gradient: LinearGradient( 159 | // colors: [ 160 | // Color(0xFF0D47A1), 161 | // Color(0xFF1976D2), 162 | // Color(0xFF42A5F5), 163 | // ], 164 | // ), 165 | // ), 166 | padding: const EdgeInsets.all(10.0), 167 | child: const Text( 168 | 'OPTIONS', 169 | style: TextStyle( 170 | fontSize: 30, 171 | fontFamily: 'Caesar_Dressing', 172 | color: Colors.white, 173 | fontWeight: FontWeight.bold, 174 | ), 175 | ), 176 | ), 177 | ), 178 | SizedBox( 179 | height: 30, 180 | ), 181 | RaisedButton( 182 | onPressed: () { 183 | _aboutGame(); 184 | }, 185 | textColor: Colors.white, 186 | padding: const EdgeInsets.all(3.0), 187 | child: Container( 188 | // decoration: const BoxDecoration( 189 | color: Color.fromRGBO(16, 50, 33, 20), 190 | // gradient: LinearGradient( 191 | // colors: [ 192 | // Color(0xFF0D47A1), 193 | // Color(0xFF1976D2), 194 | // Color(0xFF42A5F5), 195 | // ], 196 | // ), 197 | // ), 198 | padding: const EdgeInsets.all(10.0), 199 | child: const Text( 200 | 'ABOUT GAME', 201 | style: TextStyle( 202 | fontSize: 25, 203 | fontFamily: 'Caesar_Dressing', 204 | color: Colors.white, 205 | // 206 | // fontWeight: FontWeight., 207 | ), 208 | ), 209 | ), 210 | ), SizedBox( 211 | height: 30, 212 | ), 213 | RaisedButton( 214 | onPressed: () { 215 | signOutGoogle(); 216 | Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (context) {return LoginPage();}), ModalRoute.withName('/')); 217 | }, 218 | textColor: Colors.white, 219 | padding: const EdgeInsets.all(3.0), 220 | child: Container( 221 | // decoration: const BoxDecoration( 222 | color: Color.fromRGBO(16, 50, 33, 20), 223 | // gradient: LinearGradient( 224 | // colors: [ 225 | // Color(0xFF0D47A1), 226 | // Color(0xFF1976D2), 227 | // Color(0xFF42A5F5), 228 | // ], 229 | // ), 230 | // ), 231 | padding: const EdgeInsets.all(10.0), 232 | child: const Text( 233 | 'EXIT GAME', 234 | style: TextStyle( 235 | fontSize: 25, 236 | fontFamily: 'Caesar_Dressing', 237 | color: Colors.white, 238 | // 239 | // fontWeight: FontWeight., 240 | ), 241 | ), 242 | ), 243 | ), 244 | ], 245 | ), 246 | )), 247 | ], 248 | ) 249 | 250 | ), 251 | ], 252 | ), 253 | ), 254 | ), 255 | ); 256 | } 257 | 258 | void _aboutGame() { 259 | var alertStyle = AlertStyle( 260 | animationType: AnimationType.fromTop, 261 | isCloseButton: false, 262 | isOverlayTapDismiss: false, 263 | descStyle: TextStyle(fontWeight: FontWeight.bold), 264 | animationDuration: Duration(milliseconds: 400), 265 | titleStyle: TextStyle( 266 | color: Colors.red, 267 | ), 268 | ); 269 | 270 | Alert( 271 | context: context, 272 | style: alertStyle, 273 | // type: AlertType.error, 274 | title: "Hangman", 275 | desc: 276 | """⚡ Hangman Game is based on the popular word guessing game Hangman. 277 | The player guesses letters in order to uncover the hidden word. But be careful, 278 | you only have a few guesses before you're hanged!""", 279 | image: Image.asset("images/icon.jpeg"), 280 | buttons: [ 281 | DialogButton( 282 | child: Text( 283 | "OK", 284 | style: TextStyle(color: Colors.white, fontSize: 20), 285 | ), 286 | onPressed: () { 287 | Navigator.push(context, 288 | new MaterialPageRoute(builder: (context) => new MainPage())); 289 | }, 290 | color: Color.fromRGBO(0, 179, 134, 1.0), 291 | ) 292 | ], 293 | ).show(); 294 | } 295 | 296 | void _gameOptions() { 297 | var alertStyle = AlertStyle( 298 | animationType: AnimationType.fromTop, 299 | isCloseButton: false, 300 | isOverlayTapDismiss: false, 301 | descStyle: TextStyle(fontWeight: FontWeight.bold), 302 | animationDuration: Duration(milliseconds: 400), 303 | titleStyle: TextStyle( 304 | color: Colors.red, 305 | ), 306 | ); 307 | 308 | Alert( 309 | context: context, 310 | style: alertStyle, 311 | // type: AlertType.error, 312 | title: "STUDY BEFORE PLAY", 313 | 314 | image: Image.asset("images/icon.jpeg"), 315 | 316 | buttons: [ 317 | // DialogButton( 318 | // child: Text( 319 | // "EASY", 320 | // style: TextStyle(color: Colors.white, fontSize: 20), 321 | // ), 322 | // onPressed: () { 323 | // Navigator.push(context, 324 | // new MaterialPageRoute(builder: (context) => new SecondPage())); 325 | // }, 326 | // color: Color.fromRGBO(0, 179, 134, 1.0), 327 | // ), 328 | // DialogButton( 329 | // child: Text( 330 | // "HARD", 331 | // style: TextStyle(color: Colors.white, fontSize: 20), 332 | // ), 333 | // onPressed: () { 334 | // Navigator.push(context, 335 | // new MaterialPageRoute(builder: (context) => new SecondPage())); 336 | // }, 337 | // color: Color.fromRGBO(0, 179, 134, 1.0), 338 | // ), 339 | DialogButton( 340 | child: Text( 341 | "TUTORIAL", 342 | style: TextStyle(color: Colors.white, fontSize: 20), 343 | ), 344 | onPressed: () { 345 | Navigator.push(context, 346 | new MaterialPageRoute(builder: (context) => new Tutorial())); 347 | }, 348 | color: Color.fromRGBO(0, 179, 134, 1.0), 349 | ), 350 | 351 | ], 352 | ).show(); 353 | } 354 | 355 | } 356 | 357 | Route _createRoute() { 358 | return PageRouteBuilder( 359 | pageBuilder: (context, animation, secondaryAnimation) => SecondPage(), 360 | transitionsBuilder: (context, animation, secondaryAnimation, child) { 361 | return child; 362 | }, 363 | ); 364 | } 365 | -------------------------------------------------------------------------------- /Hangman/lib/screens/first_screen.dart: -------------------------------------------------------------------------------- 1 | 2 | import 'package:flutter/material.dart'; 3 | import 'package:hangman/screens/sign_in.dart'; 4 | 5 | import 'login_page.dart'; 6 | 7 | class FirstScreen extends StatelessWidget { 8 | @override 9 | Widget build(BuildContext context) { 10 | return Scaffold( 11 | body: Container( 12 | decoration: BoxDecoration( 13 | gradient: LinearGradient( 14 | begin: Alignment.topRight, 15 | end: Alignment.bottomLeft, 16 | colors: [Colors.blue[100], Colors.blue[400]], 17 | ), 18 | ), 19 | child: Center( 20 | child: Column( 21 | mainAxisAlignment: MainAxisAlignment.center, 22 | mainAxisSize: MainAxisSize.max, 23 | children: [ 24 | CircleAvatar( 25 | backgroundImage: NetworkImage( 26 | imageUrl, 27 | ), 28 | radius: 60, 29 | backgroundColor: Colors.transparent, 30 | ), 31 | SizedBox(height: 40), 32 | Text( 33 | 'NAME', 34 | style: TextStyle( 35 | fontSize: 15, 36 | fontWeight: FontWeight.bold, 37 | color: Colors.black54), 38 | ), 39 | Text( 40 | name, 41 | style: TextStyle( 42 | fontSize: 25, 43 | color: Colors.deepPurple, 44 | fontWeight: FontWeight.bold), 45 | ), 46 | SizedBox(height: 20), 47 | Text( 48 | 'EMAIL', 49 | style: TextStyle( 50 | fontSize: 15, 51 | fontWeight: FontWeight.bold, 52 | color: Colors.black54), 53 | ), 54 | Text( 55 | email, 56 | style: TextStyle( 57 | fontSize: 25, 58 | color: Colors.deepPurple, 59 | fontWeight: FontWeight.bold), 60 | ), 61 | SizedBox(height: 40), 62 | RaisedButton( 63 | onPressed: () { 64 | signOutGoogle(); 65 | Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (context) {return LoginPage();}), ModalRoute.withName('/')); 66 | }, 67 | color: Colors.deepPurple, 68 | child: Padding( 69 | padding: const EdgeInsets.all(8.0), 70 | child: Text( 71 | 'Sign Out', 72 | style: TextStyle(fontSize: 25, color: Colors.white), 73 | ), 74 | ), 75 | elevation: 5, 76 | shape: RoundedRectangleBorder( 77 | borderRadius: BorderRadius.circular(40)), 78 | ) 79 | ], 80 | ), 81 | ), 82 | ), 83 | ); 84 | } 85 | } -------------------------------------------------------------------------------- /Hangman/lib/screens/login_page.dart: -------------------------------------------------------------------------------- 1 | import 'dart:io'; 2 | 3 | import 'package:flutter/material.dart'; 4 | import 'package:hangman/screens/sign_in.dart'; 5 | 6 | import 'HomePage.dart'; 7 | import 'first_screen.dart'; 8 | 9 | class LoginPage extends StatefulWidget { 10 | @override 11 | _LoginPageState createState() => _LoginPageState(); 12 | } 13 | 14 | class _LoginPageState extends State { 15 | bool isInternet=true; 16 | 17 | @override 18 | Widget build(BuildContext context) { 19 | 20 | setState(() { 21 | checkInternet(); 22 | }); 23 | return Scaffold( 24 | body: Container( 25 | color: Colors.green, 26 | child: Center( 27 | 28 | child: 29 | 30 | isInternet? 31 | 32 | Column( 33 | mainAxisSize: MainAxisSize.max, 34 | mainAxisAlignment: MainAxisAlignment.center, 35 | children: [ 36 | Image.asset('images/hangman_logo_page.png'), 37 | SizedBox(height: 50), 38 | 39 | _signInButton(), 40 | ], 41 | ):Container( 42 | child: Text("no internet"), 43 | ) 44 | ), 45 | ), 46 | ); 47 | } 48 | 49 | Widget _signInButton() { 50 | return OutlineButton( 51 | splashColor: Colors.grey, 52 | onPressed: () { 53 | 54 | signInWithGoogle().whenComplete(() { 55 | Navigator.of(context).push( 56 | MaterialPageRoute( 57 | builder: (context) { 58 | 59 | return MainPage(); 60 | }, 61 | ), 62 | ); 63 | }); 64 | }, 65 | shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(40)), 66 | highlightElevation: 0, 67 | borderSide: BorderSide(color: Colors.white), 68 | child: Padding( 69 | padding: const EdgeInsets.fromLTRB(0, 10, 0, 10), 70 | child: Row( 71 | mainAxisSize: MainAxisSize.min, 72 | mainAxisAlignment: MainAxisAlignment.center, 73 | children: [ 74 | // Image(image: AssetImage("assets/google_logo.png"), height: 35.0), 75 | Padding( 76 | padding: const EdgeInsets.only(left: 10), 77 | child: Text( 78 | 'Sign in with Google', 79 | style: TextStyle( 80 | fontSize: 20, 81 | color: Colors.white, 82 | ), 83 | ), 84 | ) 85 | ], 86 | ), 87 | ), 88 | ); 89 | } 90 | 91 | 92 | checkInternet() async { 93 | { 94 | try { 95 | final result = await InternetAddress.lookup('google.com'); 96 | if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) { 97 | print('connected'); 98 | this.isInternet=true; 99 | } 100 | } on SocketException catch (_) { 101 | print('not connected'); 102 | this.isInternet=false; 103 | } 104 | } 105 | } 106 | final snackBar = SnackBar( 107 | content: Text('Yay! A SnackBar!'), 108 | action: SnackBarAction( 109 | label: 'Undo', 110 | onPressed: () { 111 | // Some code to undo the change. 112 | }, 113 | ), 114 | ); 115 | 116 | } -------------------------------------------------------------------------------- /Hangman/lib/screens/sign_in.dart: -------------------------------------------------------------------------------- 1 | import 'package:firebase_auth/firebase_auth.dart'; 2 | import 'package:google_sign_in/google_sign_in.dart'; 3 | 4 | final FirebaseAuth _auth = FirebaseAuth.instance; 5 | final GoogleSignIn googleSignIn = GoogleSignIn(); 6 | 7 | String name; 8 | String email; 9 | String imageUrl; 10 | 11 | Future signInWithGoogle() async { 12 | final GoogleSignInAccount googleSignInAccount = await googleSignIn.signIn(); 13 | final GoogleSignInAuthentication googleSignInAuthentication = 14 | await googleSignInAccount.authentication; 15 | 16 | final AuthCredential credential = GoogleAuthProvider.getCredential( 17 | accessToken: googleSignInAuthentication.accessToken, 18 | idToken: googleSignInAuthentication.idToken, 19 | ); 20 | 21 | final AuthResult authResult = await _auth.signInWithCredential(credential); 22 | final FirebaseUser user = authResult.user; 23 | 24 | // Checking if email and name is null 25 | assert(user.email != null); 26 | assert(user.displayName != null); 27 | assert(user.photoUrl != null); 28 | name = user.displayName; 29 | email = user.email; 30 | imageUrl = user.photoUrl; 31 | 32 | // Only taking the first part of the name, i.e., First Name 33 | if (name.contains(" ")) { 34 | name = name.substring(0, name.indexOf(" ")); 35 | } 36 | 37 | assert(!user.isAnonymous); 38 | assert(await user.getIdToken() != null); 39 | 40 | final FirebaseUser currentUser = await _auth.currentUser(); 41 | assert(user.uid == currentUser.uid); 42 | 43 | return 'signInWithGoogle succeeded: $user'; 44 | } 45 | 46 | void signOutGoogle() async { 47 | await googleSignIn.signOut(); 48 | 49 | print("User Sign Out"); 50 | } 51 | -------------------------------------------------------------------------------- /Hangman/lib/screens/tutorial.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | import 'dart:convert'; 3 | import 'dart:math'; 4 | 5 | import 'package:flutter/material.dart'; 6 | import 'package:hangman/screens/HomePage.dart'; 7 | import 'package:http/http.dart' as http; 8 | import 'package:rflutter_alert/rflutter_alert.dart'; 9 | import 'package:screenshot_and_share/screenshot_share.dart'; 10 | import 'package:shared_preferences/shared_preferences.dart'; 11 | import 'package:video_player/video_player.dart'; 12 | 13 | List data; 14 | 15 | String _userEmail = ''; 16 | 17 | class Next extends StatefulWidget { 18 | @override 19 | _NextState createState() => _NextState(); 20 | } 21 | 22 | class _NextState extends State { 23 | 24 | @override 25 | void initState() { 26 | super.initState(); 27 | _loadCounter(); 28 | } 29 | 30 | _loadCounter() async { 31 | SharedPreferences prefs = await SharedPreferences.getInstance(); 32 | setState(() { 33 | _userEmail = (prefs.getString('email') ?? ''); 34 | }); 35 | } 36 | 37 | @override 38 | Widget build(BuildContext context) { 39 | return Container( 40 | child: new Text("read value from sharepreference is:" + _userEmail), 41 | ); 42 | } 43 | } 44 | 45 | 46 | class FirstPage extends StatefulWidget { 47 | @override 48 | _FirstPageState createState() => _FirstPageState(); 49 | } 50 | 51 | class _FirstPageState extends State { 52 | String _currentUser; 53 | VideoPlayerController _controller; 54 | 55 | final myController = TextEditingController(); 56 | 57 | @override 58 | void initState() { 59 | super.initState(); 60 | _controller = VideoPlayerController.asset('video/gamemusic.mp4') 61 | 62 | // VideoPlayerController.network( 63 | // 'http://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_20mb.mp4') 64 | ..initialize().then((_) { 65 | // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed. 66 | setState(() {}); 67 | }); 68 | _controller.play(); 69 | _controller.setLooping(true); 70 | } 71 | 72 | _loadCounter() async { 73 | SharedPreferences prefs = await SharedPreferences.getInstance(); 74 | setState(() { 75 | _currentUser = (prefs.getString('name') ?? ''); 76 | }); 77 | } 78 | 79 | _incrementCounter() async { 80 | SharedPreferences prefs = await SharedPreferences.getInstance(); 81 | setState(() { 82 | _currentUser = myController.text; 83 | }); 84 | prefs.setString('name', _currentUser); 85 | } 86 | 87 | Widget build(BuildContext context) { 88 | return MaterialApp( 89 | theme: ThemeData( 90 | primarySwatch: Colors.blue, 91 | ), 92 | home: Scaffold( 93 | backgroundColor: Color.fromRGBO(34, 80, 41, 20), 94 | body: SafeArea( 95 | child: ListView( 96 | children: [ 97 | Container( 98 | height: 50, 99 | color: Color.fromRGBO(34, 80, 41, 20), 100 | margin: EdgeInsets.all(8.0), 101 | child: Image.asset( 102 | 'images/Hangman-Logo.png', 103 | width: 295, 104 | height: 280, 105 | ), 106 | ), 107 | Container( 108 | height: 575, 109 | color: Color.fromRGBO(34, 80, 41, 20), 110 | margin: EdgeInsets.all(8.0), 111 | child: Column( 112 | children: [ 113 | SizedBox( 114 | width: 0, 115 | height: 40, 116 | ), 117 | Text( 118 | "ONE PLAYER", 119 | style: TextStyle( 120 | fontSize: 50, 121 | fontFamily: 'Caesar_Dressing', 122 | color: Colors.white, 123 | fontWeight: FontWeight.w300, 124 | ), 125 | ), 126 | SizedBox( 127 | height: 30, 128 | ), 129 | Text( 130 | "WORD LIST", 131 | style: TextStyle( 132 | fontSize: 25, 133 | fontFamily: 'Caesar_Dressing', 134 | color: Colors.white, 135 | fontWeight: FontWeight.w300, 136 | ), 137 | ), 138 | Row( 139 | mainAxisAlignment: MainAxisAlignment.center, 140 | children: [ 141 | Expanded( 142 | child: new MaterialButton( 143 | padding: const EdgeInsets.all(3.0), 144 | // textColor: Colors.re, 145 | color: Color.fromRGBO(34, 80, 41, 89), 146 | child: new Text( 147 | "HOLIDAYS", 148 | style: TextStyle( 149 | fontSize: 20, 150 | fontFamily: 'Caesar_Dressing', 151 | color: Colors.white, 152 | fontWeight: FontWeight.w300, 153 | ), 154 | ), 155 | onPressed: () { 156 | }), 157 | ), 158 | ]), 159 | Row( 160 | mainAxisAlignment: MainAxisAlignment.center, 161 | children: [ 162 | Expanded( 163 | child: new MaterialButton( 164 | padding: const EdgeInsets.all(3.0), 165 | // textColor: Colors.re, 166 | color: Color.fromRGBO(34, 80, 41, 89), 167 | child: new Text( 168 | "ANIMALS", 169 | style: TextStyle( 170 | fontSize: 20, 171 | fontFamily: 'Caesar_Dressing', 172 | color: Colors.white, 173 | fontWeight: FontWeight.w300, 174 | ), 175 | ), 176 | onPressed: () { 177 | }), 178 | ), 179 | ]), 180 | Row( 181 | mainAxisAlignment: MainAxisAlignment.center, 182 | children: [ 183 | Expanded( 184 | child: new MaterialButton( 185 | splashColor: Colors.yellow, 186 | padding: const EdgeInsets.all(3.0), 187 | // textColor: Colors.re, 188 | color: Color.fromRGBO(34, 80, 41, 89), 189 | child: new Text( 190 | "MONTH", 191 | style: TextStyle( 192 | fontSize: 20, 193 | fontFamily: 'Caesar_Dressing', 194 | color: Colors.white, 195 | fontWeight: FontWeight.w300, 196 | ), 197 | ), 198 | onPressed: () { 199 | // _incrementCounter(); 200 | // Navigator.push( 201 | // context, 202 | // new MaterialPageRoute( 203 | // builder: (context) => new Page2())); 204 | }), 205 | ) 206 | ]), 207 | Row( 208 | mainAxisAlignment: MainAxisAlignment.center, 209 | children: [ 210 | Expanded( 211 | child: new MaterialButton( 212 | padding: const EdgeInsets.all(3.0), 213 | // textColor: Colors.re, 214 | color: Color.fromRGBO(34, 80, 41, 89), 215 | child: new Text( 216 | "FOOD", 217 | style: TextStyle( 218 | fontSize: 20, 219 | fontFamily: 'Caesar_Dressing', 220 | color: Colors.white, 221 | fontWeight: FontWeight.w300, 222 | ), 223 | ), 224 | onPressed: () { 225 | // _incrementCounter(); 226 | // Navigator.push( 227 | // context, 228 | // new MaterialPageRoute( 229 | // builder: (context) => new Page2())); 230 | }), 231 | ), 232 | ]), 233 | Row( 234 | mainAxisAlignment: MainAxisAlignment.center, 235 | children: [ 236 | Expanded( 237 | child: new MaterialButton( 238 | padding: const EdgeInsets.all(3.0), 239 | // textColor: Colors.re, 240 | color: Color.fromRGBO(34, 80, 41, 89), 241 | child: new Text( 242 | "DAYS", 243 | style: TextStyle( 244 | fontSize: 20, 245 | fontFamily: 'Caesar_Dressing', 246 | color: Colors.white, 247 | fontWeight: FontWeight.w300, 248 | ), 249 | ), 250 | onPressed: () { 251 | // _incrementCounter(); 252 | // Navigator.push( 253 | // context, 254 | // new MaterialPageRoute( 255 | // builder: (context) => new Page2())); 256 | }), 257 | ) 258 | ]), 259 | Row( 260 | mainAxisAlignment: MainAxisAlignment.center, 261 | children: [ 262 | Expanded( 263 | child: new MaterialButton( 264 | padding: const EdgeInsets.all(3.0), 265 | // textColor: Colors.re, 266 | color: Color.fromRGBO(34, 80, 41, 89), 267 | child: new Text( 268 | "SAT", 269 | style: TextStyle( 270 | fontSize: 20, 271 | fontFamily: 'Caesar_Dressing', 272 | color: Colors.white, 273 | fontWeight: FontWeight.w300, 274 | ), 275 | ), 276 | onPressed: () { 277 | // _incrementCounter(); 278 | // Navigator.push( 279 | // context, 280 | // new MaterialPageRoute( 281 | // builder: (context) => new Page2())); 282 | }), 283 | ), 284 | ]), 285 | Row( 286 | children: [ 287 | Expanded( 288 | child: new MaterialButton( 289 | 290 | // textColor: Colors.re, 291 | color: Color.fromRGBO(34, 80, 41, 89), 292 | child: new Text( 293 | "BACK", 294 | style: TextStyle( 295 | fontSize: 25, 296 | fontFamily: 'Caesar_Dressing', 297 | color: Colors.yellow, 298 | fontWeight: FontWeight.w300, 299 | ), 300 | ), 301 | onPressed: () { 302 | _incrementCounter(); 303 | Navigator.push( 304 | context, 305 | new MaterialPageRoute( 306 | builder: (context) => 307 | new MainPage())); 308 | }), 309 | ), 310 | Expanded( 311 | child: new MaterialButton( 312 | 313 | // textColor: Colors.re, 314 | color: Color.fromRGBO(34, 80, 41, 89), 315 | child: new Text( 316 | "START", 317 | style: TextStyle( 318 | fontSize: 25, 319 | fontFamily: 'Caesar_Dressing', 320 | color: Colors.yellow, 321 | fontWeight: FontWeight.w300, 322 | ), 323 | ), 324 | onPressed: () { 325 | _incrementCounter(); 326 | Navigator.push( 327 | context, 328 | new MaterialPageRoute( 329 | builder: (context) => 330 | new Tutorial())); 331 | })) 332 | ], 333 | ), 334 | ], 335 | )), 336 | ], 337 | ), 338 | ), 339 | ), 340 | ); 341 | } 342 | } 343 | 344 | class Tutorial extends StatefulWidget { 345 | @override 346 | _TutorialPageState createState() => _TutorialPageState(); 347 | } 348 | 349 | class _TutorialPageState extends State { 350 | String _currentUser = ''; 351 | String _userInput = ''; 352 | var _gameStatus = false; 353 | Set _guessedCharacters = new Set(); 354 | Set _wrongGuessCharacters = new Set(); 355 | String _imagePath = 'images/hangman/0hangman.png'; 356 | final String url = "https://www.randomlists.com/data/vocabulary-words.json"; 357 | String _wordFromAPI; 358 | String _wordHint; 359 | var _currentScore; 360 | static var _score = 10; 361 | var _wrongGuess = true; 362 | var completed = true; 363 | 364 | var resultList = new List(); 365 | 366 | var _filler = '-'; 367 | 368 | VideoPlayerController _controller; 369 | 370 | final myController = TextEditingController(); 371 | 372 | bool isLoading = false; 373 | 374 | @override 375 | void initState() { 376 | isLoading = true; 377 | super.initState(); 378 | 379 | this.getJsonData(); 380 | _incrementCounter(); 381 | _loadCounter(); 382 | //_loadBlank(); 383 | // _controller = VideoPlayerController.asset('video/gamemusic.mp4') 384 | // 385 | //// VideoPlayerController.network( 386 | //// 'http://www.sample-videos.com/video123/mp4/720/big_buck_bunny_720p_20mb.mp4') 387 | // ..initialize().then((_) { 388 | // // Ensure the first frame is shown after the video is initialized, even before the play button has been pressed. 389 | // setState(() {}); 390 | // }); 391 | // _controller.play(); 392 | 393 | //_controller.setLooping(true); 394 | } 395 | 396 | _loadCounter() async { 397 | SharedPreferences prefs = await SharedPreferences.getInstance(); 398 | setState(() { 399 | this._currentUser = (prefs.getString('name') ?? ''); 400 | _currentScore = (prefs.getInt('score') ?? ''); 401 | }); 402 | } 403 | 404 | _incrementCounter() async { 405 | SharedPreferences prefs = await SharedPreferences.getInstance(); 406 | setState(() { 407 | 408 | // _currentUser = myController.text; 409 | }); 410 | // prefs.setString('name', _currentUser); 411 | } 412 | 413 | Future getJsonData() async { 414 | var response = await http 415 | .get(Uri.encodeFull(url), headers: {"Accept": "application/json"}); 416 | 417 | print(response.body); 418 | 419 | setState(() { 420 | var toJsonData = json.decode(response.body); 421 | data = toJsonData['data']; 422 | 423 | if (response.statusCode == 200) { 424 | isLoading = false; 425 | Random rnd; 426 | int min = 0; 427 | int max = data.length!=0?data.length:1; 428 | rnd = new Random(); 429 | var r = min + rnd.nextInt(max - min); 430 | this._wordFromAPI = data[r]['name']; 431 | this._wordHint = data[r]['detail']; 432 | 433 | for (int i = 0; i < this._wordFromAPI.length; i++) { 434 | this.resultList.add(_filler); 435 | } 436 | } else { 437 | this._wordFromAPI = data[1]['name']; 438 | this._wordHint = data[1]['detail']; 439 | for (int i = 0; i < this._wordFromAPI.length; i++) { 440 | this.resultList.add(_filler); 441 | } 442 | } 443 | }); 444 | 445 | return "Success"; 446 | } 447 | 448 | Widget build(BuildContext context) { 449 | return MaterialApp( 450 | theme: ThemeData( 451 | primarySwatch: Colors.blue, 452 | ), 453 | home: Scaffold( 454 | backgroundColor: Color.fromRGBO(122, 147, 116, 88), 455 | body: SafeArea( 456 | child: isLoading 457 | ?_indicator: 458 | 459 | new ListView.builder 460 | ( 461 | itemCount:data.length, 462 | itemBuilder: (BuildContext txt, int index) { 463 | return new Container( 464 | color: Colors.white, 465 | child: Column( 466 | children: [ 467 | Padding( 468 | padding: const EdgeInsets.all(8.0), 469 | child: Container( 470 | color: Colors.grey[300], 471 | child: ListTile( 472 | // leading: snapshot.data["definitions"][index]["image_url"] == null 473 | // ? null 474 | // : CircleAvatar( 475 | // backgroundImage: NetworkImage(snapshot.data["definitions"][index]["image_url"]), 476 | // ), 477 | title: Text(data[index]['name']), 478 | ), 479 | ), 480 | ), 481 | Padding( 482 | padding: const EdgeInsets.all(8.0), 483 | child: Text(data[index]['detail']), 484 | ) 485 | 486 | // 487 | // Text(data[index]['name']), 488 | // Text(data[index]['detail']), 489 | ], 490 | ), 491 | ); 492 | } 493 | ) 494 | ), 495 | ), 496 | ); 497 | 498 | } 499 | 500 | var _indicator= 501 | Center( 502 | child: CircularProgressIndicator( 503 | backgroundColor: Colors.cyan, 504 | // strokeWidth: 5, 505 | ) 506 | ); 507 | 508 | 509 | } 510 | 511 | 512 | -------------------------------------------------------------------------------- /Hangman/lib/screens/words/get_words_list_presenter.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | import 'package:hangman/api/rest_data_source.dart'; 3 | import 'package:hangman/dao/hm_words.dart'; 4 | 5 | 6 | 7 | abstract class GetWordsListPresenterContract { 8 | 9 | 10 | void onWordsSyncComplete(HMWordsList data); 11 | 12 | void onGroupListSuccess(data); 13 | } 14 | class GetWordsListPresenter { 15 | GetWordsListPresenterContract _view; 16 | RestDataSource api = new RestDataSource(); 17 | 18 | 19 | GetWordsListPresenter(this._view); 20 | 21 | Future doSyncWordList() { 22 | Future response = api.getWordsList(); 23 | response.then((HMWordsList data) async { 24 | print("Fetch words-list success"); 25 | 26 | _view.onWordsSyncComplete(data); 27 | }).catchError((Object error) { 28 | print("Fetch teacher-words-list failed ::: " + error.toString()); 29 | // if (error is EduPlusError) { 30 | // _view.onWordsSyncError(error); 31 | // } else { 32 | // _view.onWordsSyncError(EduPlusError.internalError); 33 | // } 34 | }); 35 | return response; 36 | } 37 | 38 | 39 | 40 | } -------------------------------------------------------------------------------- /Hangman/lib/shared_preferences.dart: -------------------------------------------------------------------------------- 1 | import 'dart:async'; 2 | 3 | import 'package:flutter/material.dart'; 4 | import 'package:shared_preferences/shared_preferences.dart'; 5 | 6 | List _languages = ['de', 'en', 'es', 'fr', 'it', 'nl', 'pt']; 7 | 8 | class TestPage extends StatefulWidget { 9 | @override 10 | _TestPageState createState() => _TestPageState(); 11 | } 12 | 13 | class _TestPageState extends State { 14 | @override 15 | Widget build(BuildContext context) { 16 | return Scaffold( 17 | appBar: AppBar( 18 | title: Text('Shared Preferences'), 19 | actions: [ 20 | FutureBuilder( 21 | // get the languageCode, saved in the preferences 22 | future: SharedPreferencesHelper.getLanguageCode(), 23 | initialData: 'en', 24 | builder: (BuildContext context, AsyncSnapshot snapshot) { 25 | return snapshot.hasData 26 | ? _buildFlag(snapshot.data) 27 | : Container(); 28 | }), 29 | ], 30 | ), 31 | body: Container( 32 | child: ListView.builder( 33 | itemCount: _languages.length, 34 | itemBuilder: (BuildContext context, int index) { 35 | return ListTile( 36 | title: _buildFlag(_languages[index]), 37 | trailing: IconButton( 38 | icon: const Icon(Icons.arrow_forward), 39 | onPressed: () async { 40 | // Save the user preference 41 | await SharedPreferencesHelper.setLanguageCode( 42 | _languages[index]); 43 | // Refresh 44 | setState(() {}); 45 | }, 46 | ), 47 | ); 48 | }, 49 | ), 50 | ), 51 | ); 52 | } 53 | 54 | // Returns the flag that corresponds to the languageCode 55 | // Flags are assets, added to the application 56 | Widget _buildFlag(String languageCode) { 57 | final double width = 32.0; 58 | return Image.asset( 59 | 'images/flag-$languageCode.png', 60 | width: width, 61 | height: width, 62 | ); 63 | } 64 | } 65 | 66 | class SharedPreferencesHelper { 67 | /// 68 | /// Instantiation of the SharedPreferences library 69 | /// 70 | static final String _kLanguageCode = "language"; 71 | 72 | /// ------------------------------------------------------------ 73 | /// Method that returns the user language code, 'en' if not set 74 | /// ------------------------------------------------------------ 75 | static Future getLanguageCode() async { 76 | final SharedPreferences prefs = await SharedPreferences.getInstance(); 77 | 78 | return prefs.getString(_kLanguageCode) ?? 'en'; 79 | } 80 | 81 | /// ---------------------------------------------------------- 82 | /// Method that saves the user language code 83 | /// ---------------------------------------------------------- 84 | static Future setLanguageCode(String value) async { 85 | final SharedPreferences prefs = await SharedPreferences.getInstance(); 86 | 87 | return prefs.setString(_kLanguageCode, value); 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /Hangman/lib/test.dart: -------------------------------------------------------------------------------- 1 | import 'dart:convert'; 2 | 3 | import 'package:flutter/material.dart'; 4 | import 'package:http/http.dart' as http; 5 | 6 | void main() => runApp(new MaterialApp( 7 | home: new TestAPI(), 8 | )); 9 | 10 | class TestAPI extends StatefulWidget { 11 | @override 12 | TestAPIeState createState() => new TestAPIeState(); 13 | } 14 | 15 | class TestAPIeState extends State { 16 | final String url = "https://www.randomlists.com/data/vocabulary-words.json"; 17 | List data; 18 | 19 | @override 20 | void initState() { 21 | super.initState(); 22 | this.getJsonData(); 23 | } 24 | 25 | Future getJsonData() async { 26 | var response = await http 27 | .get(Uri.encodeFull(url), headers: {"Accept": "application/json"}); 28 | 29 | print(response.body); 30 | 31 | setState(() { 32 | var toJsonData = json.decode(response.body); 33 | data = toJsonData['data']; 34 | }); 35 | 36 | return "Success"; 37 | } 38 | 39 | @override 40 | Widget build(BuildContext context) { 41 | return new Scaffold( 42 | appBar: new AppBar( 43 | title: new Text("GET API"), 44 | ), 45 | body: Container( 46 | child: ListView.builder( 47 | itemCount: data == null ? 0 : 2, 48 | itemBuilder: (BuildContext context, int index) { 49 | return new Container( 50 | child: new Center( 51 | child: new Column( 52 | crossAxisAlignment: CrossAxisAlignment.stretch, 53 | children: [ 54 | new Card( 55 | child: new Container( 56 | child: new Text(data[index]['name']), 57 | padding: const EdgeInsets.all(20), 58 | ), 59 | ), 60 | RaisedButton( 61 | child: Text("hai"), 62 | onPressed: () { 63 | Navigator.push( 64 | context, 65 | new MaterialPageRoute( 66 | builder: (context) => new TestPage())); 67 | }, 68 | ) 69 | ], 70 | ))); 71 | }), 72 | ), 73 | ); 74 | } 75 | } 76 | 77 | // ignore: must_be_immutable 78 | class TestPage extends StatelessWidget { 79 | TextEditingController _textFieldController = TextEditingController(); 80 | 81 | Widget build(BuildContext context) { 82 | return MaterialApp( 83 | theme: ThemeData( 84 | primarySwatch: Colors.blue, 85 | ), 86 | home: Scaffold( 87 | backgroundColor: Color.fromRGBO(81, 23, 19, 5), 88 | body: SafeArea( 89 | // child: Column( 90 | // mainAxisAlignment: MainAxisAlignment.center, 91 | // children: [ 92 | // Image.asset('images/maingif.gif'), 93 | // Text('HANGMAN', 94 | // style: TextStyle( 95 | // fontFamily: 'Pacifico', 96 | // color: Colors.teal.shade50, 97 | // fontSize: 40, 98 | // fontWeight: FontWeight.bold)), 99 | // MaterialButton( 100 | // child: Text( 101 | // 'PLAY', 102 | // style: TextStyle(fontSize: 40, fontWeight: FontWeight.bold), 103 | // ), 104 | // textTheme: ButtonTextTheme.accent, 105 | // color: Colors.orange, 106 | // onPressed: () { 107 | // Navigator.of(context).push(_createRoute()); 108 | // }), 109 | // Card( 110 | // margin: EdgeInsets.symmetric(vertical: 10.0, horizontal: 25.0), 111 | // color: Colors.white, 112 | // child: Padding( 113 | // padding: EdgeInsets.all(15), 114 | // child: Row( 115 | // children: [ 116 | // Icon( 117 | // Icons.email, 118 | // color: Colors.teal, 119 | // ), 120 | // SizedBox(width: 15.0), 121 | // Text( 122 | // 'Jeraldjacob10@gmail.com', 123 | // style: TextStyle( 124 | // fontSize: 20.0, 125 | // fontFamily: 'Source Sans Pro', 126 | // color: Colors.teal), 127 | // ) 128 | // ], 129 | // ), 130 | // ), 131 | // ) 132 | // ], 133 | // ), 134 | child: ListView( 135 | children: [ 136 | // Max Size 137 | // Container( 138 | // height: 100, 139 | // color: Color.fromRGBO(90, 58, 29, 10), 140 | // margin: EdgeInsets.all(8.0), 141 | // child: Image.asset( 142 | // 'images/maingif.gif', 143 | // width: 300, 144 | // height: 280, 145 | // )), 146 | Container( 147 | height: 100, 148 | color: Color.fromRGBO(90, 58, 29, 10), 149 | margin: EdgeInsets.all(8.0), 150 | child: Image.asset( 151 | 'images/Hangman-Logo.png', 152 | width: 295, 153 | height: 280, 154 | ), 155 | ), 156 | 157 | Container( 158 | height: 420, 159 | // color: Color.fromRGBO(76, 118, 45, 10), 160 | margin: EdgeInsets.all(8.0), 161 | child: Column( 162 | children: [ 163 | Image.asset('images/hangman/seveen.png'), 164 | SizedBox( 165 | width: 20, 166 | height: 20, 167 | ), 168 | Padding( 169 | //Add padding around textfield 170 | padding: EdgeInsets.symmetric(horizontal: 25.0), 171 | child: TextField( 172 | cursorColor: Colors.white, 173 | controller: _textFieldController, 174 | style: TextStyle( 175 | color: Colors.white, 176 | fontWeight: FontWeight.w100, 177 | ), 178 | decoration: InputDecoration( 179 | //Add th Hint text here. 180 | 181 | hintText: "Enter your name", 182 | hintStyle: TextStyle( 183 | fontSize: 20.0, 184 | color: Colors.white60, 185 | fontWeight: FontWeight.w300), 186 | border: OutlineInputBorder( 187 | borderRadius: BorderRadius.circular(10.0), 188 | ), 189 | ), 190 | ), 191 | ), 192 | new MaterialButton( 193 | padding: const EdgeInsets.all(8.0), 194 | // textColor: Colors.re, 195 | color: Colors.blue, 196 | 197 | child: new Text( 198 | "Finish", 199 | style: TextStyle( 200 | color: Colors.white, 201 | fontWeight: FontWeight.bold, 202 | fontSize: 30), 203 | ), 204 | onPressed: () { 205 | Navigator.push( 206 | context, 207 | new MaterialPageRoute( 208 | builder: (context) => new TestAPI())); 209 | }, 210 | ), 211 | ], 212 | )), 213 | Container( 214 | child: Card( 215 | color: Color.fromRGBO(90, 58, 29, 10), 216 | ), 217 | height: 40, 218 | margin: EdgeInsets.all(8.0), 219 | ), 220 | ], 221 | ), 222 | ), 223 | ), 224 | ); 225 | } 226 | } 227 | -------------------------------------------------------------------------------- /Hangman/lib/utils/network_util.dart: -------------------------------------------------------------------------------- 1 | import 'package:http/http.dart' as http; 2 | import 'package:http/http.dart'; 3 | class NetworkUtil { 4 | // Creating singleton object. 5 | static NetworkUtil _instance = new NetworkUtil.internal(); 6 | 7 | NetworkUtil.internal(); 8 | 9 | factory NetworkUtil() => _instance; 10 | 11 | Future get(String url, {Map headers, Map params}) { 12 | url += encodeUrl(params); 13 | 14 | print("URL : $url Headers $headers"); 15 | 16 | return http.get(url, headers: headers).then((http.Response response) { 17 | final String res = response.body; 18 | final int statusCode = response.statusCode; 19 | print("Status code for " + url + "::: " + statusCode.toString()); 20 | print("Response ::: " + res); 21 | 22 | if (res == null || res.isEmpty) { 23 | // throw EduPlusError.serverError; 24 | } else { 25 | return new ParsedResponse(statusCode, res); 26 | } 27 | }).catchError((Object e) { 28 | //TODO : Confirm network status 29 | // throw EduPlusError.noInternet; 30 | }); 31 | } 32 | 33 | Future post(String url, {Map headers, body, encoding}) { 34 | return http.post(url, body: body, headers: headers, encoding: encoding) 35 | .then((http.Response response) { 36 | final String res = response.body; 37 | final int statusCode = response.statusCode; 38 | print("Status code for " + url + "::: " + statusCode.toString()); 39 | print("Response ::: " + res); 40 | 41 | if (res == null || res.isEmpty) { 42 | // throw EduPlusError.serverError; 43 | } else { 44 | return new ParsedResponse(statusCode, res); 45 | } 46 | }).catchError((Object e) { 47 | //TODO : Confirm network status 48 | // throw EduPlusError.noInternet; 49 | }); 50 | } 51 | 52 | Future put(String url, {Map headers, body, encoding}) { 53 | return http.put(url, body: body, headers: headers, encoding: encoding) 54 | .then((http.Response response) { 55 | final String res = response.body; 56 | final int statusCode = response.statusCode; 57 | print("Status code for " + url + "::: " + statusCode.toString()); 58 | print("Response ::: " + res); 59 | 60 | if (res.isEmpty) { 61 | //throw EduPlusError.serverError; 62 | } else { 63 | // TODO : Handle common error codes here... 64 | return new ParsedResponse(statusCode, res); 65 | } 66 | }).catchError((Object e) { 67 | //TODO : Confirm network status 68 | // throw EduPlusError.noInternet; 69 | }); 70 | } 71 | 72 | Future delete(String url, {Map headers, Map params}) { 73 | url += encodeUrl(params); 74 | return http.delete(url, headers: headers).then((http.Response response) { 75 | final String res = response.body; 76 | final int statusCode = response.statusCode; 77 | print("Status code for " + url + "::: " + statusCode.toString()); 78 | print("Response ::: " + res); 79 | 80 | if (res.isEmpty) { 81 | // throw EduPlusError.serverError; 82 | } else { 83 | // TODO : Handle common error codes here... 84 | return new ParsedResponse(statusCode, res); 85 | } 86 | }).catchError((Object e) { 87 | //TODO : Confirm network status 88 | // throw EduPlusError.noInternet; 89 | }); 90 | } 91 | 92 | String encodeUrl(Map parameters) { 93 | if (parameters == null) { 94 | return ""; 95 | } 96 | 97 | String paramsString = ""; 98 | bool first = true; 99 | 100 | for (String key in parameters.keys) { 101 | if (first) { 102 | first = false; 103 | paramsString += "?"; 104 | } else { 105 | paramsString += "&"; 106 | } 107 | paramsString += key + "=" + parameters[key].toString(); 108 | } 109 | return paramsString; 110 | } 111 | } 112 | class ParsedResponse { 113 | int statusCode; 114 | String response; 115 | 116 | ParsedResponse(this.statusCode, this.response); 117 | 118 | bool isOk() { 119 | return statusCode == 200; 120 | } 121 | } -------------------------------------------------------------------------------- /Hangman/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.13" 11 | args: 12 | dependency: transitive 13 | description: 14 | name: args 15 | url: "https://pub.dartlang.org" 16 | source: hosted 17 | version: "1.6.0" 18 | async: 19 | dependency: transitive 20 | description: 21 | name: async 22 | url: "https://pub.dartlang.org" 23 | source: hosted 24 | version: "2.4.1" 25 | boolean_selector: 26 | dependency: transitive 27 | description: 28 | name: boolean_selector 29 | url: "https://pub.dartlang.org" 30 | source: hosted 31 | version: "2.0.0" 32 | charcode: 33 | dependency: transitive 34 | description: 35 | name: charcode 36 | url: "https://pub.dartlang.org" 37 | source: hosted 38 | version: "1.1.3" 39 | collection: 40 | dependency: transitive 41 | description: 42 | name: collection 43 | url: "https://pub.dartlang.org" 44 | source: hosted 45 | version: "1.14.12" 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.4" 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 | firebase: 68 | dependency: transitive 69 | description: 70 | name: firebase 71 | url: "https://pub.dartlang.org" 72 | source: hosted 73 | version: "7.3.0" 74 | firebase_auth: 75 | dependency: "direct main" 76 | description: 77 | name: firebase_auth 78 | url: "https://pub.dartlang.org" 79 | source: hosted 80 | version: "0.16.1" 81 | firebase_auth_platform_interface: 82 | dependency: transitive 83 | description: 84 | name: firebase_auth_platform_interface 85 | url: "https://pub.dartlang.org" 86 | source: hosted 87 | version: "1.1.8" 88 | firebase_auth_web: 89 | dependency: transitive 90 | description: 91 | name: firebase_auth_web 92 | url: "https://pub.dartlang.org" 93 | source: hosted 94 | version: "0.1.3+1" 95 | firebase_core: 96 | dependency: transitive 97 | description: 98 | name: firebase_core 99 | url: "https://pub.dartlang.org" 100 | source: hosted 101 | version: "0.4.5" 102 | firebase_core_platform_interface: 103 | dependency: transitive 104 | description: 105 | name: firebase_core_platform_interface 106 | url: "https://pub.dartlang.org" 107 | source: hosted 108 | version: "1.0.4" 109 | firebase_core_web: 110 | dependency: transitive 111 | description: 112 | name: firebase_core_web 113 | url: "https://pub.dartlang.org" 114 | source: hosted 115 | version: "0.1.1+2" 116 | flare_dart: 117 | dependency: transitive 118 | description: 119 | name: flare_dart 120 | url: "https://pub.dartlang.org" 121 | source: hosted 122 | version: "2.3.2" 123 | flare_flutter: 124 | dependency: "direct main" 125 | description: 126 | name: flare_flutter 127 | url: "https://pub.dartlang.org" 128 | source: hosted 129 | version: "1.8.3" 130 | flutter: 131 | dependency: "direct main" 132 | description: flutter 133 | source: sdk 134 | version: "0.0.0" 135 | flutter_test: 136 | dependency: "direct dev" 137 | description: flutter 138 | source: sdk 139 | version: "0.0.0" 140 | flutter_web_plugins: 141 | dependency: transitive 142 | description: flutter 143 | source: sdk 144 | version: "0.0.0" 145 | google_sign_in: 146 | dependency: "direct main" 147 | description: 148 | name: google_sign_in 149 | url: "https://pub.dartlang.org" 150 | source: hosted 151 | version: "4.0.14" 152 | google_sign_in_platform_interface: 153 | dependency: transitive 154 | description: 155 | name: google_sign_in_platform_interface 156 | url: "https://pub.dartlang.org" 157 | source: hosted 158 | version: "1.0.0" 159 | http: 160 | dependency: "direct main" 161 | description: 162 | name: http 163 | url: "https://pub.dartlang.org" 164 | source: hosted 165 | version: "0.12.0+2" 166 | http_parser: 167 | dependency: transitive 168 | description: 169 | name: http_parser 170 | url: "https://pub.dartlang.org" 171 | source: hosted 172 | version: "3.1.3" 173 | image: 174 | dependency: transitive 175 | description: 176 | name: image 177 | url: "https://pub.dartlang.org" 178 | source: hosted 179 | version: "2.1.12" 180 | js: 181 | dependency: transitive 182 | description: 183 | name: js 184 | url: "https://pub.dartlang.org" 185 | source: hosted 186 | version: "0.6.2" 187 | matcher: 188 | dependency: transitive 189 | description: 190 | name: matcher 191 | url: "https://pub.dartlang.org" 192 | source: hosted 193 | version: "0.12.6" 194 | meta: 195 | dependency: transitive 196 | description: 197 | name: meta 198 | url: "https://pub.dartlang.org" 199 | source: hosted 200 | version: "1.1.8" 201 | path: 202 | dependency: transitive 203 | description: 204 | name: path 205 | url: "https://pub.dartlang.org" 206 | source: hosted 207 | version: "1.6.4" 208 | pedantic: 209 | dependency: transitive 210 | description: 211 | name: pedantic 212 | url: "https://pub.dartlang.org" 213 | source: hosted 214 | version: "1.8.0+1" 215 | petitparser: 216 | dependency: transitive 217 | description: 218 | name: petitparser 219 | url: "https://pub.dartlang.org" 220 | source: hosted 221 | version: "2.4.0" 222 | plugin_platform_interface: 223 | dependency: transitive 224 | description: 225 | name: plugin_platform_interface 226 | url: "https://pub.dartlang.org" 227 | source: hosted 228 | version: "1.0.2" 229 | quiver: 230 | dependency: transitive 231 | description: 232 | name: quiver 233 | url: "https://pub.dartlang.org" 234 | source: hosted 235 | version: "2.1.3" 236 | quiver_hashcode: 237 | dependency: transitive 238 | description: 239 | name: quiver_hashcode 240 | url: "https://pub.dartlang.org" 241 | source: hosted 242 | version: "2.0.0" 243 | rflutter_alert: 244 | dependency: "direct main" 245 | description: 246 | name: rflutter_alert 247 | url: "https://pub.dartlang.org" 248 | source: hosted 249 | version: "1.0.3" 250 | screenshot_and_share: 251 | dependency: "direct main" 252 | description: 253 | name: screenshot_and_share 254 | url: "https://pub.dartlang.org" 255 | source: hosted 256 | version: "0.0.2" 257 | shared_preferences: 258 | dependency: "direct main" 259 | description: 260 | name: shared_preferences 261 | url: "https://pub.dartlang.org" 262 | source: hosted 263 | version: "0.4.3" 264 | sky_engine: 265 | dependency: transitive 266 | description: flutter 267 | source: sdk 268 | version: "0.0.99" 269 | source_span: 270 | dependency: transitive 271 | description: 272 | name: source_span 273 | url: "https://pub.dartlang.org" 274 | source: hosted 275 | version: "1.7.0" 276 | splashscreen: 277 | dependency: "direct dev" 278 | description: 279 | name: splashscreen 280 | url: "https://pub.dartlang.org" 281 | source: hosted 282 | version: "1.2.0" 283 | sprintf: 284 | dependency: "direct main" 285 | description: 286 | name: sprintf 287 | url: "https://pub.dartlang.org" 288 | source: hosted 289 | version: "4.0.2" 290 | sqflite: 291 | dependency: "direct main" 292 | description: 293 | name: sqflite 294 | url: "https://pub.dartlang.org" 295 | source: hosted 296 | version: "0.11.2+4" 297 | stack_trace: 298 | dependency: transitive 299 | description: 300 | name: stack_trace 301 | url: "https://pub.dartlang.org" 302 | source: hosted 303 | version: "1.9.3" 304 | stream_channel: 305 | dependency: transitive 306 | description: 307 | name: stream_channel 308 | url: "https://pub.dartlang.org" 309 | source: hosted 310 | version: "2.0.0" 311 | string_scanner: 312 | dependency: transitive 313 | description: 314 | name: string_scanner 315 | url: "https://pub.dartlang.org" 316 | source: hosted 317 | version: "1.0.5" 318 | synchronized: 319 | dependency: transitive 320 | description: 321 | name: synchronized 322 | url: "https://pub.dartlang.org" 323 | source: hosted 324 | version: "2.1.0+1" 325 | term_glyph: 326 | dependency: transitive 327 | description: 328 | name: term_glyph 329 | url: "https://pub.dartlang.org" 330 | source: hosted 331 | version: "1.1.0" 332 | test_api: 333 | dependency: transitive 334 | description: 335 | name: test_api 336 | url: "https://pub.dartlang.org" 337 | source: hosted 338 | version: "0.2.15" 339 | typed_data: 340 | dependency: transitive 341 | description: 342 | name: typed_data 343 | url: "https://pub.dartlang.org" 344 | source: hosted 345 | version: "1.1.6" 346 | url_launcher: 347 | dependency: "direct main" 348 | description: 349 | name: url_launcher 350 | url: "https://pub.dartlang.org" 351 | source: hosted 352 | version: "3.0.3" 353 | vector_math: 354 | dependency: transitive 355 | description: 356 | name: vector_math 357 | url: "https://pub.dartlang.org" 358 | source: hosted 359 | version: "2.0.8" 360 | video_player: 361 | dependency: "direct dev" 362 | description: 363 | name: video_player 364 | url: "https://pub.dartlang.org" 365 | source: hosted 366 | version: "0.10.1+6" 367 | xml: 368 | dependency: transitive 369 | description: 370 | name: xml 371 | url: "https://pub.dartlang.org" 372 | source: hosted 373 | version: "3.6.1" 374 | sdks: 375 | dart: ">=2.7.0 <3.0.0" 376 | flutter: ">=1.12.13+hotfix.4 <2.0.0" 377 | -------------------------------------------------------------------------------- /Hangman/pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: hangman 2 | description: A new Flutter application. 3 | 4 | # The following defines the version and build number for your application. 5 | # A version number is three numbers separated by dots, like 1.2.43 6 | # followed by an optional build number separated by a +. 7 | # Both the version and the builder number may be overridden in flutter 8 | # build by specifying --build-name and --build-number, respectively. 9 | # In Android, build-name is used as versionName while build-number used as versionCode. 10 | # Read more about Android versioning at https://developer.android.com/studio/publish/versioning 11 | # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. 12 | # Read more about iOS versioning at 13 | # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html 14 | version: 1.0.0+1 15 | 16 | environment: 17 | sdk: ">=2.1.0 <3.0.0" 18 | 19 | dependencies: 20 | flutter: 21 | sdk: flutter 22 | http: ^0.12.0 #import the HTTP package using this line 23 | sprintf: "^4.0.0" 24 | url_launcher: ^3.0.0 25 | sqflite: "^0.11.0+1" 26 | rflutter_alert: ^1.0.2 27 | screenshot_and_share: ^0.0.1 28 | firebase_auth: ^0.16.1 29 | google_sign_in: ^4.0.14 30 | shared_preferences: ^0.4.2 31 | flare_flutter: ^1.8.3 32 | # The following adds the Cupertino Icons font to your application. 33 | # Use with the CupertinoIcons class for iOS style icons. 34 | cupertino_icons: ^0.1.2 35 | 36 | dev_dependencies: 37 | flutter_test: 38 | sdk: flutter 39 | video_player: 40 | splashscreen: 41 | 42 | 43 | # For information on the generic Dart part of this file, see the 44 | # following page: https://dart.dev/tools/pub/pubspec 45 | 46 | # The following section is specific to Flutter. 47 | flutter: 48 | 49 | # The following line ensures that the Material Icons font is 50 | # included with your application, so that you can use the icons in 51 | # the material Icons class. 52 | uses-material-design: true 53 | 54 | # To add assets to your application, add an assets section, like this: 55 | assets: 56 | - video/ 57 | - images/ 58 | - images/hangman/ 59 | - assets/flares/ 60 | fonts: 61 | - family: UnifrakturCook 62 | fonts: 63 | - asset: fonts/UnifrakturCook-Bold.ttf 64 | - family: Lato 65 | fonts: 66 | - asset: fonts/Lato-Regular.ttf 67 | - family: Caesar_Dressing 68 | fonts: 69 | - asset: fonts/Caesar_Dressing/CaesarDressing-Regular.ttf 70 | - family: IndieFlower 71 | fonts: 72 | - asset: fonts/IndieFlower-Regular.ttf 73 | # An image asset can refer to one or more resolution-specific "variants", see 74 | # https://flutter.dev/assets-and-images/#resolution-aware. 75 | 76 | # For details regarding adding assets from package dependencies, see 77 | # https://flutter.dev/assets-and-images/#from-packages 78 | 79 | # To add custom fonts to your application, add a fonts section here, 80 | # in this "flutter" section. Each entry in this list should have a 81 | # "family" key with the font family name, and a "fonts" key with a 82 | # list giving the asset and other descriptors for the font. For 83 | # example: 84 | # fonts: 85 | # - family: Schyler 86 | # fonts: 87 | # - asset: fonts/Schyler-Regular.ttf 88 | # - asset: fonts/Schyler-Italic.ttf 89 | # style: italic 90 | # - family: Trajan Pro 91 | # fonts: 92 | # - asset: fonts/TrajanPro.ttf 93 | # - asset: fonts/TrajanPro_Bold.ttf 94 | # weight: 700 95 | # 96 | # For details regarding fonts from package dependencies, 97 | # see https://flutter.dev/custom-fonts/#from-packages 98 | -------------------------------------------------------------------------------- /Hangman/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 | import 'package:hangman/hangmanApi.dart'; 11 | 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 | -------------------------------------------------------------------------------- /Hangman/video/gamemusic.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/video/gamemusic.mp4 -------------------------------------------------------------------------------- /Hangman/video/music.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jerald-jacob/Flutter-Apps/dab623bd34ecc2a9955b4281a656ce7eff30671b/Hangman/video/music.mp4 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Hangman 2 | ## Getting Started 3 | 4 | Hangman-Game 5 | A new Flutter application. 6 | 7 |

Description

8 | 9 | Simply begin typing to enter your guesses 10 | You only have 5 guesses until the current word is cleared and the next one is loaded 11 | Your wins and failed attempts are recorded 12 | 13 |

Requirements

14 |
    15 |
  • Download the apk file attached in the repository
  • 16 |
  • Enter your name before you started
  • 17 |
  • Select which type of word you guess
  • 18 |
  • Enter the guessed character
  • 19 |
  • Every wrong answer their should be a hangman image displayed
20 | 21 |

Technologies Used

22 | 23 |
    24 |
  • FLUTTER
  • 25 |
  • REST API
  • 26 |
27 | 28 |

Code Explanation

29 | 30 | Basically, the meat and potatoes of the code is in the dart file, where the variables and game logic is stored 31 | The Flutter UI sets up the basic elements of the game such as the title, pictures and audio, text elements indicating progress and points, etc. 32 | 33 | 34 | 35 | This project is a starting point for a Flutter application. 36 | 37 | A few resources to get you started if this is your first Flutter project: 38 | 39 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) 40 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) 41 | 42 | For help getting started with Flutter, view our 43 | [online documentation](https://flutter.dev/docs), which offers tutorials, 44 | samples, guidance on mobile development, and a full API reference. 45 | -------------------------------------------------------------------------------- /dream11/dream.json: -------------------------------------------------------------------------------- 1 | { 2 | "DramData": [{ 3 | "id": "2", 4 | "Team": "CSK", 5 | "Role": "ALL", 6 | "PlayerId": "36", 7 | "Player": "Ravindra Jadeja", 8 | "Points": "451", 9 | "Credits": "9.5", 10 | "Selected": "68.71" 11 | }, { 12 | "id": "3", 13 | "Team": "MI", 14 | "Role": "ALL", 15 | "PlayerId": "315", 16 | "Player": "Kieron Pollard", 17 | "Points": "183", 18 | "Credits": "8.5", 19 | "Selected": "32.1" 20 | }, { 21 | "id": "4", 22 | "Team": "MI", 23 | "Role": "ALL", 24 | "PlayerId": "1441", 25 | "Player": "Jimmy Neesham", 26 | "Points": "0", 27 | "Credits": "8.5", 28 | "Selected": "0.34" 29 | }, { 30 | "id": "5", 31 | "Team": "CSK", 32 | "Role": "ALL", 33 | "PlayerId": "1488", 34 | "Player": "Moeen Ali", 35 | "Points": "355", 36 | "Credits": "9.5", 37 | "Selected": "62.16" 38 | }, { 39 | "id": "6", 40 | "Team": "CSK", 41 | "Role": "ALL", 42 | "PlayerId": "3653", 43 | "Player": "MItchell Santner", 44 | "Points": "0", 45 | "Credits": "8", 46 | "Selected": "0.28" 47 | }, { 48 | "id": "7", 49 | "Team": "CSK", 50 | "Role": "ALL", 51 | "PlayerId": "6332", 52 | "Player": "Sam Curran", 53 | "Points": "267", 54 | "Credits": "9", 55 | "Selected": "44.29" 56 | }, { 57 | "id": "8", 58 | "Team": "CSK", 59 | "Role": "ALL", 60 | "PlayerId": "6821", 61 | "Player": "Krishnappa Gowtham", 62 | "Points": "0", 63 | "Credits": "8", 64 | "Selected": "0.17" 65 | }, { 66 | "id": "9", 67 | "Team": "MI", 68 | "Role": "ALL", 69 | "PlayerId": "9483", 70 | "Player": "Krunal Pandya", 71 | "Points": "217", 72 | "Credits": "8.5", 73 | "Selected": "36.95" 74 | }, { 75 | "id": "10", 76 | "Team": "MI", 77 | "Role": "ALL", 78 | "PlayerId": "11660", 79 | "Player": "Anukul Sudhakar Roy", 80 | "Points": "0", 81 | "Credits": "8", 82 | "Selected": "0.19" 83 | }, { 84 | "id": "11", 85 | "Team": "MI", 86 | "Role": "ALL", 87 | "PlayerId": "13842", 88 | "Player": "Arjun Tendulkar", 89 | "Points": "0", 90 | "Credits": "7.5", 91 | "Selected": "0.58" 92 | }, { 93 | "id": "12", 94 | "Team": "CSK", 95 | "Role": "ALL", 96 | "PlayerId": "61181", 97 | "Player": "Bhagath Varma", 98 | "Points": "0", 99 | "Credits": "7.5", 100 | "Selected": "0.39" 101 | }, { 102 | "id": "13", 103 | "Team": "CSK", 104 | "Role": "WK", 105 | "PlayerId": "1", 106 | "Player": "MS Dhoni", 107 | "Points": "101", 108 | "Credits": "8.5", 109 | "Selected": "18.58" 110 | }, { 111 | "id": "14", 112 | "Team": "MI", 113 | "Role": "WK", 114 | "PlayerId": "971", 115 | "Player": "Aditya Tare", 116 | "Points": "0", 117 | "Credits": "8", 118 | "Selected": "0.6" 119 | }, { 120 | "id": "15", 121 | "Team": "MI", 122 | "Role": "WK", 123 | "PlayerId": "1343", 124 | "Player": "Quinton de Kock", 125 | "Points": "198", 126 | "Credits": "9.5", 127 | "Selected": "90.21" 128 | }, { 129 | "id": "16", 130 | "Team": "MI", 131 | "Role": "WK", 132 | "PlayerId": "9161", 133 | "Player": "Ishan Kishan", 134 | "Points": "98", 135 | "Credits": "8.5", 136 | "Selected": "5.65" 137 | }, { 138 | "id": "17", 139 | "Team": "CSK", 140 | "Role": "WK", 141 | "PlayerId": "10178", 142 | "Player": "Narayan Jagadeesan", 143 | "Points": "0", 144 | "Credits": "8", 145 | "Selected": "0.55" 146 | }, { 147 | "id": "18", 148 | "Team": "CSK", 149 | "Role": "BAT", 150 | "PlayerId": "4", 151 | "Player": "Robin Uthappa", 152 | "Points": "0", 153 | "Credits": "8", 154 | "Selected": "0.34" 155 | }, { 156 | "id": "19", 157 | "Team": "MI", 158 | "Role": "BAT", 159 | "PlayerId": "6", 160 | "Player": "Rohit Sharma", 161 | "Points": "297", 162 | "Credits": "10", 163 | "Selected": "80.66" 164 | }, { 165 | "id": "20", 166 | "Team": "CSK", 167 | "Role": "BAT", 168 | "PlayerId": "7", 169 | "Player": "Suresh Raina", 170 | "Points": "198", 171 | "Credits": "9", 172 | "Selected": "35.93" 173 | }, { 174 | "id": "21", 175 | "Team": "MI", 176 | "Role": "BAT", 177 | "PlayerId": "692", 178 | "Player": "Saurabh Tiwary", 179 | "Points": "0", 180 | "Credits": "8", 181 | "Selected": "0.34" 182 | }, { 183 | "id": "22", 184 | "Team": "CSK", 185 | "Role": "BAT", 186 | "PlayerId": "701", 187 | "Player": "Cheteshwar Pujara", 188 | "Points": "0", 189 | "Credits": "8", 190 | "Selected": "0.43" 191 | }, { 192 | "id": "23", 193 | "Team": "CSK", 194 | "Role": "BAT", 195 | "PlayerId": "974", 196 | "Player": "AmBATi Rayudu", 197 | "Points": "106", 198 | "Credits": "8.5", 199 | "Selected": "13.81" 200 | }, { 201 | "id": "24", 202 | "Team": "CSK", 203 | "Role": "BAT", 204 | "PlayerId": "1085", 205 | "Player": "Faf du Plessis", 206 | "Points": "413", 207 | "Credits": "10", 208 | "Selected": "86.92" 209 | }, { 210 | "id": "25", 211 | "Team": "MI", 212 | "Role": "BAT", 213 | "PlayerId": "1110", 214 | "Player": "Chris Lynn", 215 | "Points": "85", 216 | "Credits": "8.5", 217 | "Selected": "0.76" 218 | }, { 219 | "id": "26", 220 | "Team": "MI", 221 | "Role": "BAT", 222 | "PlayerId": "1143", 223 | "Player": "Suryakumar Yadav", 224 | "Points": "288", 225 | "Credits": "9.5", 226 | "Selected": "76.76" 227 | }, { 228 | "id": "27", 229 | "Team": "MI", 230 | "Role": "BAT", 231 | "PlayerId": "5983", 232 | "Player": "Hardik Pandya", 233 | "Points": "89", 234 | "Credits": "8.5", 235 | "Selected": "14.65" 236 | }, { 237 | "id": "28", 238 | "Team": "MI", 239 | "Role": "BAT", 240 | "PlayerId": "9158", 241 | "Player": "Anmolpreet Singh", 242 | "Points": "0", 243 | "Credits": "8", 244 | "Selected": "0.42" 245 | }, { 246 | "id": "29", 247 | "Team": "CSK", 248 | "Role": "BAT", 249 | "PlayerId": "11599", 250 | "Player": "Ruturaj Gaikwad", 251 | "Points": "292", 252 | "Credits": "8.5", 253 | "Selected": "77.54" 254 | }, { 255 | "id": "30", 256 | "Team": "CSK", 257 | "Role": "BAT", 258 | "PlayerId": "12585", 259 | "Player": "C Hari Nishanth", 260 | "Points": "0", 261 | "Credits": "8", 262 | "Selected": "0.34" 263 | }, { 264 | "id": "31", 265 | "Team": "MI", 266 | "Role": "BOWL", 267 | "PlayerId": "10", 268 | "Player": "Piyush Chawla", 269 | "Points": "0", 270 | "Credits": "8", 271 | "Selected": "0.54" 272 | }, { 273 | "id": "32", 274 | "Team": "CSK", 275 | "Role": "BOWL", 276 | "PlayerId": "298", 277 | "Player": "Dwayne Bravo", 278 | "Points": "129", 279 | "Credits": "8.5", 280 | "Selected": "4.48" 281 | }, { 282 | "id": "33", 283 | "Team": "MI", 284 | "Role": "BOWL", 285 | "PlayerId": "684", 286 | "Player": "Dhawal Kulkarni", 287 | "Points": "0", 288 | "Credits": "8", 289 | "Selected": "0.41" 290 | }, { 291 | "id": "34", 292 | "Team": "CSK", 293 | "Role": "BOWL", 294 | "PlayerId": "736", 295 | "Player": "Karn Sharma", 296 | "Points": "0", 297 | "Credits": "8", 298 | "Selected": "0.31" 299 | }, { 300 | "id": "35", 301 | "Team": "MI", 302 | "Role": "BOWL", 303 | "PlayerId": "1027", 304 | "Player": "Adam MIlne", 305 | "Points": "10", 306 | "Credits": "8", 307 | "Selected": "0.29" 308 | }, { 309 | "id": "36", 310 | "Team": "CSK", 311 | "Role": "BOWL", 312 | "PlayerId": "1086", 313 | "Player": "Imran Tahir", 314 | "Points": "80", 315 | "Credits": "8.5", 316 | "Selected": "5.11" 317 | }, { 318 | "id": "37", 319 | "Team": "CSK", 320 | "Role": "BOWL", 321 | "PlayerId": "1121", 322 | "Player": "Deepak Chahar", 323 | "Points": "280", 324 | "Credits": "8.5", 325 | "Selected": "60.59" 326 | }, { 327 | "id": "38", 328 | "Team": "MI", 329 | "Role": "BOWL", 330 | "PlayerId": "1193", 331 | "Player": "Trent Boult", 332 | "Points": "262", 333 | "Credits": "9", 334 | "Selected": "63.39" 335 | }, { 336 | "id": "39", 337 | "Team": "MI", 338 | "Role": "BOWL", 339 | "PlayerId": "1347", 340 | "Player": "Nathan Coulter-Nile", 341 | "Points": "4", 342 | "Credits": "8", 343 | "Selected": "23.72" 344 | }, { 345 | "id": "40", 346 | "Team": "CSK", 347 | "Role": "BOWL", 348 | "PlayerId": "1421", 349 | "Player": "Jason Behrendorff", 350 | "Points": "0", 351 | "Credits": "8", 352 | "Selected": "0.39" 353 | }, { 354 | "id": "41", 355 | "Team": "MI", 356 | "Role": "BOWL", 357 | "PlayerId": "1532", 358 | "Player": "Jasprit Bumrah", 359 | "Points": "199", 360 | "Credits": "9", 361 | "Selected": "35.91" 362 | }, { 363 | "id": "42", 364 | "Team": "CSK", 365 | "Role": "BOWL", 366 | "PlayerId": "2104", 367 | "Player": "Shardul Thakur", 368 | "Points": "141", 369 | "Credits": "8.5", 370 | "Selected": "12.38" 371 | }, { 372 | "id": "43", 373 | "Team": "MI", 374 | "Role": "BOWL", 375 | "PlayerId": "2109", 376 | "Player": "Jayant Yadav", 377 | "Points": "69", 378 | "Credits": "8", 379 | "Selected": "17.04" 380 | }, { 381 | "id": "44", 382 | "Team": "CSK", 383 | "Role": "BOWL", 384 | "PlayerId": "8506", 385 | "Player": "Lungi Ngidi", 386 | "Points": "155", 387 | "Credits": "8.5", 388 | "Selected": "48.85" 389 | }, { 390 | "id": "45", 391 | "Team": "CSK", 392 | "Role": "BOWL", 393 | "PlayerId": "10144", 394 | "Player": "Ravisrinivasan Sai Kishore", 395 | "Points": "0", 396 | "Credits": "8", 397 | "Selected": "0.12" 398 | }, { 399 | "id": "46", 400 | "Team": "MI", 401 | "Role": "BOWL", 402 | "PlayerId": "11528", 403 | "Player": "Rahul Chahar", 404 | "Points": "354", 405 | "Credits": "8.5", 406 | "Selected": "73.44" 407 | }, { 408 | "id": "47", 409 | "Team": "CSK", 410 | "Role": "BOWL", 411 | "PlayerId": "13758", 412 | "Player": "KM Asif", 413 | "Points": "0", 414 | "Credits": "8", 415 | "Selected": "0.15" 416 | }, { 417 | "id": "48", 418 | "Team": "MI", 419 | "Role": "BOWL", 420 | "PlayerId": "15120", 421 | "Player": "Mohsin Khan", 422 | "Points": "0", 423 | "Credits": "8", 424 | "Selected": "0.28" 425 | }, { 426 | "id": "49", 427 | "Team": "CSK", 428 | "Role": "BOWL", 429 | "PlayerId": "15337", 430 | "Player": "Harishankar Reddy", 431 | "Points": "0", 432 | "Credits": "8", 433 | "Selected": "0.42" 434 | }, { 435 | "id": "50", 436 | "Team": "MI", 437 | "Role": "BOWL", 438 | "PlayerId": "21036", 439 | "Player": "Marco Jansen", 440 | "Points": "66", 441 | "Credits": "8", 442 | "Selected": "1.11" 443 | }, { 444 | "id": "51", 445 | "Team": "MI", 446 | "Role": "BOWL", 447 | "PlayerId": "57502", 448 | "Player": "Yudhvir Singh Charak", 449 | "Points": "0", 450 | "Credits": "8", 451 | "Selected": "0.4" 452 | }] 453 | } 454 | --------------------------------------------------------------------------------