Skip to content

Instantly share code, notes, and snippets.

@GregHib
GregHib / Scratch.java
Last active January 2, 2023 18:11
Dialogue proof of concept
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
class Scratch {
public static void main(String[] args) {
Player p = new Player();
NPC npc = new NPC(1234);
Dialogues d = new Dialogues(p);
@GregHib
GregHib / ShellCommand.kt
Created October 3, 2022 20:49
Execute shell script in kotlin
import kotlinx.coroutines.*
import org.apache.commons.text.StringEscapeUtils
import java.io.InputStream
import java.nio.charset.Charset
import java.util.concurrent.TimeUnit
import kotlin.coroutines.CoroutineContext
data class CommandResult(
val exitCode: Int,
val response: String? = null,
@GregHib
GregHib / UtilityAi.kts
Created April 11, 2021 14:43
Utility Ai
import kotlin.math.abs
interface Entity
data class Ai(var x: Int, var y: Int) : Entity
data class Position(val x: Int, val y: Int) : Entity
open class Context(val entity: Ai) {
val last: Option<*, *>? = null
@GregHib
GregHib / bfs.scratch.kts
Created January 7, 2021 23:43
Breadth first search
import kotlin.random.Random
import kotlin.system.measureNanoTime
val columns = 64
val rows = 64
val percent = 0.3
val distances = Array(columns) { Array(rows) { -1.0 } }
val collision = Array(columns) { Array(rows) { Random.nextDouble() < percent } }
val startX = 0
@GregHib
GregHib / GithubIssueCloner.kt
Created December 14, 2020 10:04
GithubIssueCloner.kt
import com.fasterxml.jackson.core.JsonFactory
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.node.ObjectNode
import java.io.BufferedReader
import java.io.File
import java.io.InputStreamReader
import java.util.stream.Collectors
object GithubIssueCloner {