├── app ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── values-b+afh │ │ │ └── strings.xml │ │ ├── values │ │ │ ├── dimens.xml │ │ │ ├── styles.xml │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ ├── values-land │ │ │ └── dimens.xml │ │ ├── font │ │ │ ├── pixel.TTF │ │ │ └── quicksand.ttf │ │ ├── values-w1240dp │ │ │ └── dimens.xml │ │ ├── values-w600dp │ │ │ └── dimens.xml │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── drawable │ │ │ ├── icon_game_od_life_dark2.png │ │ │ ├── rect.xml │ │ │ ├── common_round_card.xml │ │ │ ├── common_less_round_card.xml │ │ │ ├── input_box.xml │ │ │ ├── round_rect_left.xml │ │ │ ├── round_rect.xml │ │ │ ├── out_of_boundries_drawable.xml │ │ │ ├── check.xml │ │ │ ├── play.xml │ │ │ ├── chevron_left.xml │ │ │ ├── chevron_right.xml │ │ │ ├── ic_baseline_more_vert_24.xml │ │ │ ├── edit_2.xml │ │ │ ├── folder.xml │ │ │ ├── square.xml │ │ │ ├── star.xml │ │ │ ├── paperclip.xml │ │ │ ├── ic_baseline_zoom_out_map_24.xml │ │ │ ├── ic_round_photo_size_select_small_24.xml │ │ │ ├── x.xml │ │ │ ├── pause.xml │ │ │ ├── chevrons_right.xml │ │ │ ├── rotate_ccw.xml │ │ │ ├── rotate_cw.xml │ │ │ ├── edit_3.xml │ │ │ ├── github.xml │ │ │ ├── book.xml │ │ │ ├── ic_round_ballot_24.xml │ │ │ ├── ic_round_tune_24.xml │ │ │ ├── copy.xml │ │ │ ├── size_indicator.xml │ │ │ ├── upload.xml │ │ │ ├── external_link.xml │ │ │ ├── save.xml │ │ │ ├── random_cube.xml │ │ │ ├── globe.xml │ │ │ ├── grid.xml │ │ │ ├── trash_2.xml │ │ │ ├── settings.xml │ │ │ └── share_2.xml │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── layout │ │ │ ├── sheet_start.xml │ │ │ ├── sheet_blueprint_library_category.xml │ │ │ ├── sheet_predefined_selector.xml │ │ │ ├── item_theme_picker.xml │ │ │ ├── context_tool.xml │ │ │ ├── fragment_second.xml │ │ │ ├── fragment_first.xml │ │ │ ├── item_blueprint_info_website.xml │ │ │ ├── item_blueprint_info_misc.xml │ │ │ ├── sheet_save_blueprint.xml │ │ │ ├── item_rule_selection.xml │ │ │ ├── item_preset_category.xml │ │ │ ├── item_rule_tweak.xml │ │ │ ├── activity_intro.xml │ │ │ ├── item_saved_sketch.xml │ │ │ ├── sheet_source.xml │ │ │ ├── item_preset_extra_info.xml │ │ │ ├── sheet_stencil.xml │ │ │ └── item_blueprint_selection.xml │ │ ├── drawable-v24 │ │ │ ├── round_rect_right.xml │ │ │ └── ic_launcher_foreground.xml │ │ ├── menu │ │ │ └── menu_main.xml │ │ ├── xml │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ │ ├── navigation │ │ │ ├── nav_graph.xml │ │ │ └── nav_graph2.xml │ │ └── values-de-rDE │ │ │ └── strings.xml │ │ ├── ic_launcher-playstore.png │ │ ├── java │ │ └── leko │ │ │ └── valmx │ │ │ └── thegameoflife │ │ │ ├── views │ │ │ ├── SelectedThemeView.kt │ │ │ ├── ThemeView.kt │ │ │ └── ConwaysCellStateView.kt │ │ │ ├── utils │ │ │ ├── PresetCategory.kt │ │ │ ├── AssetUtils.kt │ │ │ └── blueprints │ │ │ │ └── Blueprint.kt │ │ │ ├── Project.kt │ │ │ ├── game │ │ │ ├── animations │ │ │ │ └── Animation.kt │ │ │ ├── FeedBackManager.kt │ │ │ ├── PreviewManager.kt │ │ │ ├── tools │ │ │ │ ├── EditTool.kt │ │ │ │ ├── copypasta │ │ │ │ │ ├── Sketch.kt │ │ │ │ │ └── SketchLoadSaver.kt │ │ │ │ ├── AutoPlayTool.kt │ │ │ │ └── PasteTool.kt │ │ │ ├── AnimationManager.kt │ │ │ ├── GameView.kt │ │ │ ├── DrawManager.kt │ │ │ ├── GridManager.kt │ │ │ ├── utils │ │ │ │ └── GameRuleHelper.kt │ │ │ └── GameColors.kt │ │ │ ├── SettingActivity.kt │ │ │ ├── recyclers │ │ │ ├── ContextToolsAdapter.kt │ │ │ ├── BlueprintCategoryAdapter.kt │ │ │ ├── RulePresetPickerAdapter.kt │ │ │ ├── RuleSheetAdapter.kt │ │ │ ├── BlueprintInfoRecycler.kt │ │ │ ├── BlueprintPresetRecycler.kt │ │ │ ├── SketchAdapter.kt │ │ │ └── ThemeAdapter.kt │ │ │ ├── sheets │ │ │ ├── BlueprintPresetSelectCategorySheet.kt │ │ │ ├── BlueprintInfoSheet.kt │ │ │ ├── RulePresetSelectionSheet.kt │ │ │ ├── SourceSheet.kt │ │ │ ├── BlueprintSaveSheet.kt │ │ │ ├── BlueprintSheet.kt │ │ │ ├── RulesSheet.kt │ │ │ ├── MoreOptionsSheet.kt │ │ │ └── BlueprintPresetSelectionSheet.kt │ │ │ └── IntroActivity.kt │ │ ├── assets │ │ ├── patterns │ │ │ ├── guns │ │ │ │ ├── p46edgeshooter.rle │ │ │ │ ├── period113glidergun.rle │ │ │ │ ├── period690glidergun.rle │ │ │ │ ├── ak94.rle │ │ │ │ ├── period246glidergun.rle │ │ │ │ ├── period90glidergun.rle │ │ │ │ ├── period256glidergun.rle │ │ │ │ ├── period504glidergun.rle │ │ │ │ ├── period174glidergun.rle │ │ │ │ ├── period60glidergun.rle │ │ │ │ ├── period92glidergun.rle │ │ │ │ ├── period117gun.rle │ │ │ │ ├── period44mwssgun.rle │ │ │ │ ├── vacuumgun.rle │ │ │ │ ├── period88glidergun.rle │ │ │ │ ├── period84glidergun.rle │ │ │ │ ├── period108glidergun.rle │ │ │ │ └── quetzal54.rle │ │ │ └── preview │ │ │ │ ├── ak94.rle │ │ │ │ ├── barge_synth.rle │ │ │ │ └── gliderloop.rle │ │ └── rules │ │ │ └── rules.txt │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle ├── .idea ├── .gitignore ├── codeStyles │ ├── codeStyleConfig.xml │ └── Project.xml ├── compiler.xml ├── vcs.xml ├── discord.xml ├── misc.xml └── gradle.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── README.md ├── .gitignore ├── settings.gradle ├── gradle.properties └── gradlew.bat /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /app/src/main/res/values-b+afh/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | -------------------------------------------------------------------------------- /app/src/main/res/values-land/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 48dp 3 | -------------------------------------------------------------------------------- /app/src/main/res/font/pixel.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/font/pixel.TTF -------------------------------------------------------------------------------- /app/src/main/res/values-w1240dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 200dp 3 | -------------------------------------------------------------------------------- /app/src/main/res/values-w600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 48dp 3 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/font/quicksand.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/font/quicksand.ttf -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/java/leko/valmx/thegameoflife/views/SelectedThemeView.kt: -------------------------------------------------------------------------------- 1 | package leko.valmx.thegameoflife.views 2 | 3 | class SelectedThemeView { 4 | } -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/icon_game_od_life_dark2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/drawable/icon_game_od_life_dark2.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/val-pu/TheGameOfLife/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/leko/valmx/thegameoflife/utils/PresetCategory.kt: -------------------------------------------------------------------------------- 1 | package leko.valmx.thegameoflife.utils 2 | 3 | class PresetCategory(val name: Int, val description: Int, val path: String, val url: String) -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/java/leko/valmx/thegameoflife/Project.kt: -------------------------------------------------------------------------------- 1 | package leko.valmx.thegameoflife 2 | 3 | object Project { 4 | const val LOG_ID = "Conway's Game Of Life" 5 | const val PREF_ID = "CGOL_VALGAMES" 6 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/rect.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/discord.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/common_round_card.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/common_less_round_card.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TheGameOfLife 2 |

3 | The source code of an Android App Conway's Game Of Life. The source code is currently being refactored, 4 |

5 | 6 | ### How to help? 7 | Create an github issue or a pull request. Currently, there is _no_ complex pipeline for helping. 8 | 9 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Sep 19 19:19:21 CEST 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/input_box.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | /app/release/ 17 | -------------------------------------------------------------------------------- /app/src/main/res/layout/sheet_start.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/round_rect_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/round_rect_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/round_rect.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/out_of_boundries_drawable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/p46edgeshooter.rle: -------------------------------------------------------------------------------- 1 | #N p46edgeshooter.rle 2 | #C https://conwaylife.com/wiki/Edge_shooter 3 | #C https://www.conwaylife.com/patterns/p46edgeshooter.rle 4 | x = 42, y = 32, rule = B3/S23 5 | 2o12b2o2bo4b2o2b2o$2o12bob2o6b2ob2o$15bo6bobo$15b3o4b2o2$15b3o4b2o$15b 6 | o6bobo$2o12bob2o6b2o$2o12b2o2bo4b2o7$31b3o3b3o$30bo3bobo3bo$29bo3b2ob 7 | 2o3bo$29bob2o5b2obo$31bo7bo11$31b2o5b2o$31b2o5b2o! 8 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | gradlePluginPortal() 4 | google() 5 | mavenCentral() 6 | } 7 | } 8 | dependencyResolutionManagement { 9 | repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 10 | repositories { 11 | google() 12 | mavenCentral() 13 | } 14 | 15 | } 16 | rootProject.name = "TheGameOfLife" 17 | include ':app' 18 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period113glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-113 glider gun 2 | #O Mitchell Riley, 2022 3 | #C https://conwaylife.com/wiki/Period-113_glider_gun 4 | #C https://www.conwaylife.com/patterns/period113glidergun.rle 5 | x = 47, y = 37, rule = B3/S23 6 | 44b2o$44bo$42bobo$42b2o7$29b2o14b2o$11b2o4b2o10b2o14b2o$11b2o4b2o4$26b 7 | 3o$17b3o6bo2bo$17bo2bo5bo2bo$17bo2bo6b3o$18b3o4$28b2o4b2o$2o14b2o10b2o 8 | 4b2o$2o14b2o7$3b2o$2bobo$2bo$b2o! -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period690glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-690 glider gun 2 | #O Noam Elkies, 1996 3 | #C https://conwaylife.com/wiki/Period-690_glider_gun 4 | #C https://www.conwaylife.com/patterns/period690glidergun.rle 5 | x = 52, y = 25, rule = B3/S23 6 | 11bo$11b3o$14bo$13b2o6$13b2o3b2o$13bo5bo2$14bo3bo$15b3o$33b2o$23b2o7bo 7 | bo$2o21b2o7bo17b2o$bo30b3o13bo2bo$bobo8bo35b3o$2b2o8bobo$13bobo32b3o$ 8 | 13bo2bo15b3o13bo2bo$13bobo16bo17b2o$12bobo17bobo$12bo20b2o! -------------------------------------------------------------------------------- /app/src/main/java/leko/valmx/thegameoflife/game/animations/Animation.kt: -------------------------------------------------------------------------------- 1 | package leko.valmx.thegameoflife.game.animations 2 | 3 | abstract class Animation { 4 | 5 | var animLength = 1000L 6 | 7 | var counter = 0L 8 | 9 | abstract fun onAnimate(animatedValue: Float) 10 | 11 | open fun onAnimationFinished() { } 12 | 13 | fun endAnimation() { 14 | counter = animLength * 2 15 | } 16 | 17 | abstract fun onAnimationStart() 18 | 19 | } -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/ak94.rle: -------------------------------------------------------------------------------- 1 | #N AK-94 2 | #O Mike Playle 3 | #C The smallest known true p94 gun, found in May 2013. 4 | #C www.conwaylife.com/wiki/AK-94 5 | x = 38, y = 25, rule = B3/S23 6 | 7bo7bo7b2o$7b3o5b3o5b2o$10bo7bo$9b2o6b2o16b2o$30b2o2bo2bo$30bobo2b2o$ 7 | 33b2o$5bo28bo$5b3o26bob2o$8bo22b2obo2bo$7b2o22b2ob2o3$17bo$2b2ob2o9bob 8 | o10b2o$o2bob2o8bo3bo9bo$2obo11bo3bo10b3o$3bo11bo3bo12bo$3b2o11bobo$b2o 9 | 2bobo9bo$o2bo2b2o$b2o16b2o$19bo$13b2o5b3o$13b2o7bo! 10 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/preview/ak94.rle: -------------------------------------------------------------------------------- 1 | #N AK-94 2 | #O Mike Playle 3 | #C The smallest known true p94 gun, found in May 2013. 4 | #C www.conwaylife.com/wiki/AK-94 5 | x = 38, y = 25, rule = B3/S23 6 | 7bo7bo7b2o$7b3o5b3o5b2o$10bo7bo$9b2o6b2o16b2o$30b2o2bo2bo$30bobo2b2o$ 7 | 33b2o$5bo28bo$5b3o26bob2o$8bo22b2obo2bo$7b2o22b2ob2o3$17bo$2b2ob2o9bob 8 | o10b2o$o2bob2o8bo3bo9bo$2obo11bo3bo10b3o$3bo11bo3bo12bo$3b2o11bobo$b2o 9 | 2bobo9bo$o2bo2b2o$b2o16b2o$19bo$13b2o5b3o$13b2o7bo! 10 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period246glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-246 glider gun 2 | #O David Buckingham, 1996 3 | #C https://conwaylife.com/wiki/P246_gun 4 | #C https://www.conwaylife.com/patterns/period246glidergun.rle 5 | x = 43, y = 38, rule = B3/S23 6 | 34bo$34b3o$32b2o3bo$31bobob2obo$32bobobobo$36bob2o$33bo2bo$34bobo$33b 7 | 2ob2o2$2o$bo20b2o$bobo16b2o3bo$2b2o21bo15b2o$19bo5bo15bo$20bo3bo14bobo 8 | $21b3o15b2o7$29b2o$29b2o$22b2o$21bo$22b2o3$5b4o$4bo4bo$3bobo3bo$2bobo 9 | 3bo$2bo$2bo$2bo2bo$3b2o! -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/check.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/play.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chevron_left.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chevron_right.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_more_vert_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period90glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-90 glider gun 2 | #O Dean Hickerson 3 | #C https://conwaylife.com/wiki/Period-90_glider_gun 4 | #C https://www.conwaylife.com/patterns/period90glidergun.rle 5 | x = 64, y = 26, rule = B3/S23 6 | 39bo$39bobo$32b2o8b2o6b2o$27bo3bo2bo7b2o4bo3bo$26b8o8b2o3bo5bo$9b2o14b 7 | 2obob2o7bobo4b2obo3bo8b2o$9bo2bo11b3obo2bo7bo7bo5bo8b2o$b5o7bo11b2obob 8 | o17bo3bo$o5bo6bo12b4o20b2o$o3b2o7bo7bo5bo12bo$bo7bo2bo9bo15b2o$9b2o9b 9 | 3o16b2o3$43b2o$43b2o2$29bo$27bobo$28b2o3$40b2o$40bo$41b3o$43bo! -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period256glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period 256 glider gun 2 | #O David Buckingham, 1995 3 | #C https://conwaylife.com/wiki/Period-256_glider_gun 4 | #C https://www.conwaylife.com/patterns/period256glidergun.rle 5 | x = 49, y = 49, rule = B3/S23 6 | 31b2o$31b2o5b2o$38b2o3$7b2o8b2o17b2o$7b2o9bo17b2o$18bobo21b2o$19b2o21b 7 | 2o$b2o$b2o$5b2o$5b2o15bo$22bobo$22b3o$24bo$2o$2o41b2o$43bo$41bobo$41b 8 | 2o11$6b2o39b2o$6bo40b2o$7bo$6b2o$22bobo$23b2o17b2o$23bo18b2o$46b2o$46b 9 | 2o$5b2o$5b2o$11b2o27b2o$11b2o27b2o3$9b2o$9b2o5b2o$16b2o! -------------------------------------------------------------------------------- /app/src/main/res/drawable/edit_2.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period504glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-504 glider gun 2 | #C https://conwaylife.com/wiki/R126 3 | #C https://www.conwaylife.com/patterns/period504glidergun.rle 4 | x = 55, y = 55, rule = B3/S23 5 | 27b2o$26bobo$26b2o3$21bo$20bobo24bo$6b2o12bobo22b3o$7bo13bo22bo$7bobo 6 | 34b2o$8b2o18b2o$29bo$29bobo$30b2o7$47b2o$46bo2bo$31bo15b2o$12b2o17bobo 7 | $13bo17b3o$10b3o20bo$2o8bo41b2o$obo49bobo$b2o41bo8b2o$42b3o$41bo$41b2o 8 | $6b2o$5bo2bo$6b2o7$23b2o$23bobo$25bo$25b2o$9b2o$10bo22bo$7b3o22bobo13b 9 | o$7bo24bobo14b2o$33bo14b2o3$27b2o$26bobo$26b2o! -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period174glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-174 glider gun 2 | #C https://conwaylife.com/wiki/Hotcrystal0_reaction 3 | #C https://www.conwaylife.com/patterns/period174glidergun.rle 4 | x = 43, y = 37, rule = B3/S23 5 | 11b2o20bo$12bo18b3o3b2o$12bobo15bo8bob2o$13b2o15b2o3bo2bo2b2o$35bobo$ 6 | 27b2o7bo$27b2o$36b2o$36b2o3$7b2o8b2o$7b2o10bo$16bo$17b2o3bo$6b3o13b2o$ 7 | 6b2obo2b2o7bobo$8b2o2b2o$8b2o20b4o$29bo4bo$29bo3bobo$30bo3bobo$25bo10b 8 | o$24b2o10bo$24b2o7bo2bo$24bo9b2o3$5b2o$5bobo$6b3o5b2o$7b2o5b2o$5bobo$ 9 | 2o2bobo4b2o$obo2bo6bo$b4o4b3o$2b2o5bo! -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period60glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-60 glider gun 2 | #O Bill Gosper 3 | #C The first true period 60 glider gun, found by Bill Gosper. 4 | #C https://conwaylife.com/wiki/Period-60_glider_gun 5 | x = 39, y = 27, rule = B3/S23 6 | 27bo$27b4o$11bo16b4o$10bobo5b2o8bo2bo5b2o$3b2o3b2o3bo14b4o5b2o$3b2o3b 7 | 2o3bo4bobob2o3b4o$8b2o3bo5b2o3bo2bo$10bobo10bo$11bo8bo2bo2$26bobo$28bo 8 | $24bo$26bo$25bo2$11b2o$11b2o4bo$2o6b2o6b5ob2o$2o5b3o5bo2b2o4bo$8b2o5b 9 | 2o8bo12bo$11b2o4bo7bo10bobo$11b2o12bo11b2o$24bo8b2o$22b2o9bobo$35bo$ 10 | 35b2o! 11 | -------------------------------------------------------------------------------- /app/src/main/res/xml/backup_rules.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/folder.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/square.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/star.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/paperclip.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period92glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-92 glider gun 2 | #O Martin Grant, 2017 3 | #C https://conwaylife.com/wiki/Period-92_glider_gun 4 | #C https://www.conwaylife.com/patterns/period92glidergun.rle 5 | x = 46, y = 25, rule = B3/S23 6 | 4b2o14bo$5bo13bobo$5bobo11bobo$6b2o2b2o5b3ob2o20b2o$10b2o4bo26b2o$17b 7 | 3ob2o8bo$19bob2o4b2o2bo$7b2obobo13bo5bo11b2o$7b2obobo12b2o2bobo12b2o$ 8 | 7b2o3bo13b2o3bo$7b2o4b2o6b2o4b3o$o6b2o5b2o5b2o$3o7b3obo12b3o$3bo5b2o3b 9 | obobo7b2o3bo$2bobo6bo2bo3bo6b2o2bobo12b2o$2b2o7bobo2bobo7bo5bo11b2o$ 10 | 27b2o2bo$2b2o27bo$2bo40b2o$4bo38b2o$3b2o$8b2o$9bo21bo$6b3o23bo$6bo23b 11 | 3o! -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period117gun.rle: -------------------------------------------------------------------------------- 1 | #N Period-117 glider gun 2 | #O David Raucci, 2021 3 | #C https://conwaylife.com/wiki/Period-117_glider_gun 4 | #C https://www.conwaylife.com/patterns/period117gun.rle 5 | x = 42, y = 29, rule = B3/S23 6 | 7bo7b2o10bob2o4b2obo$7b3o5b2o10b2o2bo2bo2b2o$10bo14b2o3bo4bo3b2o$9b2o 7 | 13bo3b2ob4ob2o3bo$25b3obobo2bobob3o$12bo14bobobo2bobobo$11bobo16bo4bo$ 8 | 10bo3bo16b4o$10bo3bo$10bo3bo$11bobo$12bo2$5b2o$5b2o28b2o$35b2o2$29bo$ 9 | 28bobo$27bo3bo$27bo3bo$7b4o16bo3bo$6bo4bo16bobo$3bobobo2bobobo14bo$b3o 10 | bobo2bobob3o$o3b2ob4ob2o3bo13b2o$b2o3bo4bo3b2o14bo$3b2o2bo2bo2b2o10b2o 11 | 5b3o$3bob2o4b2obo10b2o7bo! -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_zoom_out_map_24.xml: -------------------------------------------------------------------------------- 1 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/xml/data_extraction_rules.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 12 | 13 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_photo_size_select_small_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period44mwssgun.rle: -------------------------------------------------------------------------------- 1 | #N period44mwssgun 2 | #O Dietrich Leithner, 1997 3 | #C https://conwaylife.com/wiki/Period-44_MWSS_gun 4 | #C https://www.conwaylife.com/patterns/period44mwssgun.rle 5 | x = 50, y = 40, rule = B3/S23 6 | 8bo$2b2o3bo2bo2b3o4bo$2bo2b2obobobo4bobobo2b2o$17bo7bo$3bobo7b2o5b2obo 7 | $4bo18b2o3$9b2o$9b2o2$29b2o$29bo$27bobo$15bo11b2o$2o12b3o$2o11bo3bo13b 8 | 2o$13b2ob2o13bo$46bo$45bobo$45bobo$44b2ob2o$13b2ob2o30bo$2o11bo3bo26b 9 | 2obo$2o12b3o14b2o11b2obobo$15bo7b3o4bo2bo14b2o$24bo6b3o$24b2o6bo$26bo$ 10 | 24bobo$9b2o13bobo$9b2o$30b2o$30bo$4bo18b2o6b3o$3bobo7b2o5b2obo9bo$17bo 11 | 7bo$2bo2b2obobobo4bobobo2b2o$2b2o3bo2bo2b3o4bo$8bo! -------------------------------------------------------------------------------- /app/src/main/java/leko/valmx/thegameoflife/game/FeedBackManager.kt: -------------------------------------------------------------------------------- 1 | package leko.valmx.thegameoflife.game 2 | 3 | import android.os.Build 4 | import android.os.VibrationEffect 5 | import android.os.Vibrator 6 | 7 | class FeedBackManager(val gameView: GameView) { 8 | 9 | var VIBRATION_SHORT = 100 10 | 11 | fun vibrate() { 12 | 13 | val context = gameView.context 14 | 15 | val vibrator = context.getSystemService(Vibrator::class.java) as Vibrator 16 | 17 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { 18 | vibrator.vibrate(VibrationEffect.createPredefined(VibrationEffect.EFFECT_CLICK)) 19 | } 20 | 21 | } 22 | 23 | } -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/vacuumgun.rle: -------------------------------------------------------------------------------- 1 | #N Vacuum gun 2 | #O Dieter Leithner 3 | #C A true period 46 double-barreled gun found on February 21, 1997. 4 | #C www.conwaylife.com/wiki/index.php?title=Vacuum_(gun) 5 | x = 49, y = 43, rule = b3/s23 6 | b2o23b2o21b$b2o23bo22b$24bobo22b$15b2o7b2o23b$2o13bobo31b$2o13bob2o30b 7 | $16b2o31b$16bo32b$44b2o3b$16bo27b2o3b$16b2o31b$2o13bob2o13bo3bo12b$2o 8 | 13bobo13bo5bo7b2o2b$15b2o14bo13b2o2b$31b2o3bo12b$b2o30b3o13b$b2o46b$ 9 | 33b3o13b$31b2o3bo12b$31bo13b2o2b$31bo5bo7b2o2b$32bo3bo12b2$44b2o3b$44b 10 | 2o3b5$37b2o10b$37bobo7b2o$39bo7b2o$37b3o9b$22bobo24b$21b3o25b$21b3o25b 11 | $21bo15b3o9b$25bobo11bo9b$21b2o4bo9bobo9b$16b2o4bo3b2o9b2o10b$15bobo6b 12 | o24b$15bo33b$14b2o! -------------------------------------------------------------------------------- /app/src/main/res/drawable/x.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/pause.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/chevrons_right.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rotate_ccw.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rotate_cw.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/edit_3.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/github.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period88glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-88 glider gun 2 | #O Matthias Merzenich, 2009 3 | #C https://conwaylife.com/wiki/Period-88_glider_gun 4 | #C https://www.conwaylife.com/patterns/period88glidergun.rle 5 | #C By Matthias Merzenich, September 2009 6 | #C Blocker supports by Jason Summers 7 | x = 46, y = 45, rule = B3/S23 8 | 14b2o14b2o$14b2o14b2o$30b2o$31bo$13b2obo13bobo$14bobo12b2obo$15bo$14b 9 | 2o$14b2o14b2o$14b2o14b2o4$4b2o35bo$4o4b2o26b3ob2o2b2o$3ob2o2b2o11b3o 10 | 12b4o4b2o$5bo14bo2bo16b2o$20bobo$21bo2$28b2o$27bo2bo$15b2o11bobo$15bob 11 | o11b2o$15bo2bo$16b2o2$24bo$23bobo$4b2o16bo2bo14bo$2o4b4o12b3o11b2o2b2o 12 | b3o$2o2b2ob3o26b2o4b4o$4bo35b2o3$14b2o2$13bo3bo12bo$12bo4bo11bobo$11bo 13 | bobo6bo5bo3bo$10bobobo8b2o4bo3bo$8bo4bo8b2o6bo3bo$8bo3bo18bo3bo$32bobo 14 | $10b2o21bo! -------------------------------------------------------------------------------- /app/src/main/res/drawable/book.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_ballot_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app/src/main/res/layout/sheet_blueprint_library_category.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_round_tune_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/copy.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period84glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-84 glider gun 2 | #C https://conwaylife.com/wiki/P84_honey_farm_hassler 3 | #C https://www.conwaylife.com/patterns/period84glidergun.rle 4 | x = 35, y = 46, rule = B3/S23 5 | 7b2o8b2o$5bo2bo8b2o$5b2obob2o$6bobob2o$3b3obo18b2o2b2o$2bo3bobo17bobo 6 | 2bo$2bob2o2b3o12b2obob2o$b2obo3b3o12b2obobo3bo$2bobo5b2o15bob4o$2bob2o 7 | 3b3o6bo7bobo$b2obo5b2o4b2obo4b3o2b2o$4bo3b3o4bo3bo4b3o3bo$4b2o2b3o4bob 8 | 2o4b2o5bobo$6bobo7bo6b3o5b2o$2b4obo15b2o$2bo3bobob2o14b2o$5b2obob2o11b 9 | 2ob2o$5bo2bo14bo3b3o$7b2o11bo7b2o$13b2o3bobo6bo$14bo4b2o6b2o2b2o$11b3o 10 | 17bobo$11bo21bo$33b2o2$27bo$20bo4bobo$19bobo4b2o$19bobo$2o13bobo2bo$bo 11 | 15bo$bobo11b3o6b2o$2b2o16bo2bo2bo7bo$19bo3bob2o5bobo$19bo5bo7b2o$11bo 12 | 12bo$10bo12bo$9bo5bo$8b2obo3bo$8bo2bo2bo16b2o$9b2o6b3o11bobo$17bo15bo$ 13 | 5b2o7bo2bobo13b2o$6bo6bobo$3b3o7bobo$3bo10bo! -------------------------------------------------------------------------------- /app/src/main/res/layout/sheet_predefined_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_theme_picker.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/context_tool.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/size_indicator.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 9 | 12 | 16 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/upload.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/external_link.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/save.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/random_cube.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/preview/barge_synth.rle: -------------------------------------------------------------------------------- 1 | #N Barge_synth 2 | #O Mark D. Niemiec 3 | #C Glider synthesis of barges. 4 | #C https://www.conwaylife.com/ref/mniemiec/glider-3.htm 5 | x = 147, y = 86, rule = 23/3 6 | 49bo97b$49bobo95b$43bobo3b2o96b$44b2o101b$44bo84bo17b$3bo78bo41bobo2bo 7 | bo15b$b2o40b3o37bo40b2o3b2o16b$2b2o20bo20bo18bo16b3o20bo20bo18bo2b$23b 8 | obo18bo18bobo37bobo37bobob$bo3b2o17bobo37bobo10b2o4b3o18bobo19b2o16bob 9 | o$b2ob2o19bo39bo12b2o3bo21bo20bobo16bob$obo3bo70bo6bo41bo20b21$80bo66b 10 | $81bo65b$52bo26b3o65b$51bo95b$8b2o41b3o69bo23b$7bobo2b2o10bo24bo14bo 11 | 39bo19b2o18bo2b$9bob2o10bobo22b2o13bobo25b2o10bobo17b2o2bo15bobob$13bo 12 | 10bobo21bobo13bobo24bobo10bobo20bobo14bobo$25bo39bo21b2o2bo13bo21b2o 13 | 16bob$3b3o82b2o57b$5bo81bo59b$4bo142b$120b2o25b$121b2o24b$47b2o71bo26b 14 | $48b2o97b$47bo99b14$54bo92b$52b2o93b$53b2o26bo65b$80bo66b$80b3o64b$24b 15 | o39bo39bo42b$23bobo37bobo15bo21bobo41b$24bobo37bobo13b2o22bobo40b$25bo 16 | 39bo14bobo22bo41b3$41bobo103b$6bo34b2o104b$2bob2o36bo104b$obo2b2o140b$ 17 | b2o37b3o104b$40bo106b$41bo105b4$3b2o98b2o42b$2bobo98bobo41b$4bo98bo! -------------------------------------------------------------------------------- /app/src/main/res/drawable/globe.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/assets/patterns/guns/period108glidergun.rle: -------------------------------------------------------------------------------- 1 | #N Period-108 glider gun 2 | #C https://conwaylife.com/wiki/R-pentomino_hasslers 3 | #C https://www.conwaylife.com/patterns/period108glidergun.rle 4 | x = 92, y = 92, rule = B3/S23 5 | 48b2o$48b2o$38b2o$39bo$39bobo$40b2o$49bo$48b3o$37b2o8bo2b2o$37bobo7b2o 6 | 3bo$38bo13b2o$52b3o$49b2obo$45bo4b2o$36bo7bobo$44bobo$37b2o6bo$37b2o3$ 7 | 46b3o$45bo$37b2o$37b2o7b2o5$40bo21bo$28b3o6b2obo20b2o$29b3o4bo3bo20b2o 8 | $36bobo22bo$37bo4$60b2o15bo$11bo47bo2bo5b2o4b2o6b2o$10b2o31bo16bobo5b 9 | 2o4b2o5bobo5bo$9b4o29b3o37bo4b3o$8bo4bo28bo18b3o22bo$7b2o3b2o72b2o$2o 10 | 4b2o4bo38b2o$2o5bobo10bo31b2o$8b2o10bo2bo28bo23b2o$14b2o4bo2bo46bo4bo 11 | 2bo$13bo2bo4bo46bo2bo4b2o$14b2o23bo28bo2bo10b2o$38b2o31bo10bobo5b2o$ 12 | 39b2o38bo4b2o4b2o$4b2o72b2o3b2o$5bo22b3o18bo28bo4bo$2b3o4bo37b3o29b4o$ 13 | 2bo5bobo5b2o4b2o5bobo16bo31b2o$8b2o6b2o4b2o5bo2bo47bo$14bo15b2o4$54bo$ 14 | 30bo22bobo$29b2o20bo3bo4b3o$29b2o20bob2o6b3o$29bo21bo5$44b2o7b2o$53b2o 15 | $46bo$43b3o3$53b2o$46bo6b2o$45bobo$45bobo7bo$40b2o4bo$39bob2o$37b3o$ 16 | 38b2o13bo$39bo3b2o7bobo$40b2o2bo8b2o$41b3o$42bo$50b2o$50bobo$52bo$52b 17 | 2o$42b2o$42b2o! -------------------------------------------------------------------------------- /app/src/main/java/leko/valmx/thegameoflife/SettingActivity.kt: -------------------------------------------------------------------------------- 1 | package leko.valmx.thegameoflife 2 | 3 | import android.content.Intent 4 | import android.net.Uri 5 | import androidx.appcompat.app.AppCompatActivity 6 | import android.os.Bundle 7 | import com.google.android.gms.oss.licenses.OssLicensesMenuActivity 8 | import kotlinx.android.synthetic.main.activity_setting.* 9 | 10 | class SettingActivity : AppCompatActivity() { 11 | 12 | val gitHubUrl = "https://github.com/val-mx/TheGameOfLife" 13 | 14 | override fun onCreate(savedInstanceState: Bundle?) { 15 | super.onCreate(savedInstanceState) 16 | setContentView(R.layout.activity_setting) 17 | btn_back.setOnClickListener { 18 | startActivity(Intent(this, MainActivity::class.java)) 19 | } 20 | btn_git.setOnClickListener { 21 | val urlIntent = Intent(Intent.ACTION_VIEW) 22 | urlIntent.data = Uri.parse(gitHubUrl) 23 | startActivity(urlIntent) 24 | } 25 | btn_licenses.setOnClickListener { 26 | startActivity(Intent(this, OssLicensesMenuActivity::class.java)) 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /app/src/main/java/leko/valmx/thegameoflife/game/PreviewManager.kt: -------------------------------------------------------------------------------- 1 | package leko.valmx.thegameoflife.game 2 | 3 | import leko.valmx.thegameoflife.utils.blueprints.Blueprint 4 | 5 | class PreviewManager(val game: GameView) { 6 | 7 | fun init(sketch: Blueprint, stopTasks: Boolean = false) { 8 | game.gameColors.applyPreviewTheme() 9 | game.setOnTouchListener(null) 10 | val actorManager = game.cells 11 | 12 | val gridManager = game.gridManager 13 | 14 | 15 | val cells = sketch.cells 16 | 17 | val w = cells.size 18 | val h = cells[0].size 19 | 20 | gridManager.cellWidth = (game.width / w).toFloat() 21 | 22 | 23 | var baseH = 0 24 | val baseX = 0 25 | 26 | 27 | 28 | cells.forEachIndexed { x, yArray -> 29 | 30 | yArray.forEachIndexed { y, value -> 31 | if (value) actorManager.setCurrentlyAlive(x + baseX, y + baseH) 32 | } 33 | 34 | } 35 | 36 | 37 | android.os.Handler().postDelayed({ 38 | game.animationManager.running = !stopTasks 39 | game.invalidate() 40 | }, 100L) 41 | 42 | 43 | } 44 | 45 | } -------------------------------------------------------------------------------- /app/src/main/java/leko/valmx/thegameoflife/game/tools/EditTool.kt: -------------------------------------------------------------------------------- 1 | package leko.valmx.thegameoflife.game.tools 2 | 3 | import android.view.MotionEvent 4 | import leko.valmx.thegameoflife.game.GameView 5 | import leko.valmx.thegameoflife.game.InteractionManager 6 | import leko.valmx.thegameoflife.recyclers.ContextToolsAdapter 7 | import java.util.* 8 | 9 | class EditTool(val game: GameView) : InteractionManager.Interactable() { 10 | 11 | init { 12 | game.interactionManager.editMode = true 13 | } 14 | 15 | override fun getName(): String { 16 | return "Editing" 17 | } 18 | 19 | override fun onInteraction(motionEvent: MotionEvent, dereg: () -> Unit) { 20 | 21 | } 22 | 23 | override fun drawInteraction() { 24 | 25 | } 26 | 27 | override fun isNonMovementInteraction(event: MotionEvent): Boolean { 28 | return false 29 | } 30 | 31 | override fun onDeregister() { 32 | game.interactionManager.editMode = false 33 | } 34 | 35 | override fun onInteractionEnd(event: MotionEvent?) { 36 | } 37 | 38 | override fun addContextItems(items: LinkedList) { 39 | } 40 | } -------------------------------------------------------------------------------- /app/src/main/res/navigation/nav_graph.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 17 | 18 | 23 | 24 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/navigation/nav_graph2.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 13 | 14 | 17 | 18 | 23 | 24 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/assets/rules/rules.txt: -------------------------------------------------------------------------------- 1 | B0123478/S34678$InverseLife// 2 | B1/S1$Gnarl// 3 | B1357/S1357$Replicator// 4 | B2/S$Seeds// 5 | B234/S$Serviettes// 6 | B25678/S5678$Iceballs// 7 | B3/S12$Flock// 8 | B3/S1234$Mazectric// 9 | B3/S12345$Maze// 10 | B3/S1237$SnowLife// 11 | B3/S124$Corrosion of Conformity// 12 | B3/S128$EightFlock// 13 | B3/S13$LowLife// 14 | B3/S238$EightLife// 15 | B3/S4567$Lifeguard 2// 16 | B3/S45678$Coral// 17 | B34/S34$3-4 Life// 18 | B34/S456$Bacteria// 19 | B345/S2$Blinkers// 20 | B345/S4567$Assimilation// 21 | B345/S5$Long Life// 22 | B3457/S4568$Gems// 23 | B34578/S456$Gems Minor// 24 | B35/S234578$Land Rush// 25 | B3567/S15678$Bugs// 26 | B35678/S4678$Holstein// 27 | B35678/S5678$Diamoeba// 28 | B357/S1358$Amoeba// 29 | B357/S238$Pseudo Life// 30 | B3578/S24678$Geology// 31 | B36/S12$HighFlock// 32 | B36/S125$2×2// 33 | B36/S128$IronFlock// 34 | B36/S23$HighLife// 35 | B36/S235$Blinker Life// 36 | B36/S238$IronLife// 37 | B36/S245$Logarithmic replicator rule// 38 | B368/S245$Morley// 39 | B5678/S45678$Vote// 40 | B4678/S35678$Vote 4/5// 41 | B45/S12345$Electrified Maze// 42 | B38/S23$Pedestrian Life// 43 | B45678/S2345$Walled cities// 44 | B45/S1235$Oscillators Rule// 45 | B56/S14568$Rings 'n' Slugs -------------------------------------------------------------------------------- /app/src/main/res/values-de-rDE/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Game Of Life 4 | Einstellungen 5 | Lizenzen einsehen 6 | Einstellungen 7 | Source code auf GitHub 8 | Suche eine Regel aus 9 | Quelle 10 | Regeln 11 | Manipuliere die Regeln des Spiels 12 | Auf Werkseinstellungen 13 | Predefinierte Regeln 14 | Erstelle eine neue Blaupause 15 | Blaupausen 16 | Erstelle oder benutze Blaupausen 17 | wird geboren 18 | wird leben 19 | Wie soll die Blaupause benannt werden? 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/grid.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 27 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/trash_2.xml: -------------------------------------------------------------------------------- 1 | 6 | 13 | 20 | 27 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_second.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 17 | 18 |