Skip to content

Instantly share code, notes, and snippets.

@alexjlockwood
alexjlockwood / 5WallerGrandCanyon.md
Last active August 16, 2022 17:51
How to Timeout 5 Waller + Grand Canyon

5 Waller + Grand Canyon

Overview

Also known as the "3rd Hardest Variation", Closed-Open + Grand Canyon is in the top tier of most difficult Roll Off variations to timeout.

Paths

There are 3 possible paths to take on laps 9-12 of the timeout:

How a path is generated

Step 1

Place two 4x1 vertical stack of tiles and three 3x1 vertical stack of tiles on the grid. The order in which you place the tiles is random (so for example there would be a 2 / 5 = 40% chance that the path could end with a 4x1 line to the finish). The stacks are placed such that the top of one stack will align to the bottom of the next stack. The tips of the stacks are not allowed to intersect.

For example, after step 1 it could look like this:

|x| | | | | | | | | |
This file has been truncated, but you can view the full file.
{
"ability_score_settings": [
{
"value": "6",
"id": "ability_score_bad_streak_episode_range_max"
},
{
"value": "4",
"id": "ability_score_bad_streak_episode_range_min"
},
@alexjlockwood
alexjlockwood / MainActivity.kt
Last active May 4, 2021 01:31
Example of a TimerButton component that manages its own timer state (video: https://youtu.be/-qbJRDDwB8M)
package com.alexjlockwood.composetimerdemo
import android.os.Bundle
import android.widget.Toast
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.*
import androidx.compose.material.*
import androidx.compose.material.icons.Icons
@Composable
fun <S> ScreenTransition(
targetBackstack: List<S>,
modifier: Modifier = Modifier,
content: @Composable (S) -> Unit,
) {
// TODO: figure out if we are sliding in from left or right
ScreenTransition(
targetState = targetBackstack.last(),
modifier = modifier,
/**
* A simple ListItem that displays text, detail text, a start icon, and an optional end icon.
*/
@Composable
fun ContactListItem(
text: @Composable () -> Unit,
modifier: Modifier = Modifier,
detailText: @Composable (() -> Unit)? = null,
startIcon: @Composable (() -> Unit)? = null,
endIcon: @Composable (() -> Unit)? = null,
@alexjlockwood
alexjlockwood / CircleSquare.kt
Last active September 26, 2020 17:52
A circle square animation implemented using Jetpack Compose. Inspired by @beesandbombs (twitter.com/beesandbombs).
package com.alexjlockwood.circlesquare
import androidx.compose.animation.animatedFloat
import androidx.compose.animation.core.AnimationConstants
import androidx.compose.animation.core.LinearEasing
import androidx.compose.animation.core.repeatable
import androidx.compose.animation.core.tween
import androidx.compose.foundation.Canvas
import androidx.compose.runtime.Composable
@alexjlockwood
alexjlockwood / WaveSquare.kt
Created September 9, 2020 03:21
A composable wave square animation.
package com.alexjlockwood.wavesquare
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.animation.animatedFloat
import androidx.compose.animation.core.AnimationConstants
import androidx.compose.animation.core.LinearEasing
import androidx.compose.animation.core.repeatable
import androidx.compose.animation.core.tween
import androidx.compose.foundation.Canvas
@alexjlockwood
alexjlockwood / PlayingWithPaths.kt
Last active June 18, 2021 18:42
Implementation of a 'Playing with Paths' polygon animation
package com.alexjlockwood.playingwithpaths
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.animation.animatedFloat
import androidx.compose.animation.core.AnimationConstants
import androidx.compose.animation.core.LinearEasing
import androidx.compose.animation.core.repeatable
import androidx.compose.animation.core.tween
import androidx.compose.foundation.Image
@alexjlockwood
alexjlockwood / CircularProgressIndicator.kt
Last active September 18, 2020 04:08
Example implementation of a CircularProgressIndicator using Jetpack Compose https://twitter.com/alexjlockwood/status/1300599202448199681
package com.alexjlockwood.circularprogressindicator
import android.os.Bundle
import android.view.animation.PathInterpolator
import androidx.appcompat.app.AppCompatActivity
import androidx.compose.animation.core.*
import androidx.compose.animation.transition
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth