Skip to content

Instantly share code, notes, and snippets.

Here's a prompt you can use to generate the game:
---
**Prompt:**
Build a complete single-file HTML/JS 2D top-down racing game for 2 players hotseat. No canvas libraries — use a `<canvas>` element with vanilla JS.
**Track:** Randomly generated per race. Draw a closed looping circuit on a single non-scrolling screen (800×600). Generate it by placing 6–10 random waypoints around a center point, sorting them by angle, and building a smooth path through them. The track has a visible road surface (dark asphalt), white lane markings, grass/dirt outside, and a visible start/finish line with a checkered pattern. Place the track entirely within the canvas. Regenerate the track between races.
{
"openapi": "3.0.1",
"info": {
"title": "Apply Default Global SecurityScheme in springdoc-openapi",
"version": "1.0.0"
},
"servers": [
{
"url": "http://localhost:8080",
"description": "Generated server url"
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "3.0.5"
id("io.spring.dependency-management") version "1.1.0"
// id("org.graalvm.buildtools.native") version "0.9.20"
kotlin("jvm") version "1.8.20"
kotlin("plugin.spring") version "1.8.20"
kotlin("plugin.jpa") version "1.8.20"
}
import io.nacular.doodle.application.Application
import io.nacular.doodle.application.application
import io.nacular.doodle.core.Display
import io.nacular.doodle.theme.ThemeManager
import io.nacular.doodle.theme.native.NativeTheme
import org.kodein.di.instance
class MyApp(display: Display,
manager: ThemeManager,
theme : NativeTheme
import io.nacular.doodle.application.Application
import io.nacular.doodle.application.application
import io.nacular.doodle.controls.panels.GridPanel
import io.nacular.doodle.controls.text.Label
import io.nacular.doodle.core.*
import io.nacular.doodle.geometry.Size
import io.nacular.doodle.layout.constrain
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
import org.kodein.di.instance
@bodiam
bodiam / SoftAssert.kt
Created September 23, 2021 04:57
SoftAssertions for AssertJ in Kotlin
import org.assertj.core.api.SoftAssertions
fun softAssert(function: SoftAssertions.() -> Unit) {
SoftAssertions().apply { function() }.assertAll()
}
@bodiam
bodiam / ValidatorTest.kt
Created November 24, 2019 05:22
Validator test
package net.schematix.validator
import com.fasterxml.jackson.dataformat.csv.CsvMapper
import com.worldturner.medeia.api.UrlSchemaSource
import com.worldturner.medeia.api.jackson.MedeiaJacksonApi
import org.junit.jupiter.api.Test
class ValidatorTest {
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.1.6.RELEASE"
id("io.spring.dependency-management") version "1.0.7.RELEASE"
kotlin("jvm") version "1.2.71"
kotlin("plugin.spring") version "1.2.71"
}
group = "io.jworks.feeds"
@bodiam
bodiam / TicTacToeRefactored.kt
Created April 19, 2019 04:19
A refactored version of the TicTacToe
package nsmain2
import kotlin.random.Random
inline class PlayerMark(val value: String)
class Board(private val cells: List<PlayerMark?>) {
companion object {
val playerX = PlayerMark("x")
package nsmain
import kotlin.random.Random
typealias PlayerMark = String
//Board is a list of marks, indexed by x,y coords from upper left 0 based
class Board(private var cells: List<PlayerMark?>) {
companion object {