Skip to content

Instantly share code, notes, and snippets.

View joshuafcole's full-sized avatar

Joshua Cole joshuafcole

View GitHub Profile
Version Info:
- Java version (1.8.0_144)
- Slay the Spire (12-18-2022)
- ModTheSpire (3.30.3)
Mod list:
- basemod (5.54.1)
- stslib (2.11.0)
- block-reminder (1.2.0)
- RelicStats (1.2.2)
- betterThird (1.5)
@joshuafcole
joshuafcole / SketchSystems.spec
Last active September 6, 2022 18:36
TodoItem
TodoItem
disabled*
dblclick -> editable
editable
blur -> disabled
input -> editable

Patch is here: https://pastebin.com/SecyAx8R

The patches for the end table and dresser are kind of nasty -- the royal requirement defs are kind of nasty to patch -- might be worth speaking with the folks at Ludeon to see if they can replace all the requirement defs with the RoomRequirement_ThingAnyOf instead of using RoomRequirement_Thing which is sort of inherently unpatchable without just ripping it out and replacing it. Better yet, using some kind of a tags system (as he does for Fine Floors) would be even better.

Anyway, does the job for now. Any other industrious folks that want to try it out before Oskar and friends have time to integrate it -- you'll want to head into your steam workshop folder for this mod -- for me, that's D:\SteamLibrary\steamapps\workshop\content\294100\1718190143\. Inside of there, you'll go to the Patches folder and edit Bedroom_Furniture.xml. Right before the last line (which says </ Patch>), paste in the contents of that pastebin file.

@joshuafcole
joshuafcole / SketchSystems.spec
Last active January 22, 2020 00:44
Pivot Table &
Pivot Table &
Gutter
drop Field ACT_add_field -> Gutter
drop Pill AAAA ACT_move_field -> Gutter
Type_2
Row
Column
Pill AAAA
Selected_import1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; use-package setup
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
;; Setup use-package to manage dependencies.

Snake Game

Special thanks to Simon Craggs @ soundbible.com for crunch.mp3 http://soundbible.com/1968-Apple-Bite.html, and Mike Koenig @ soundbible.com for beep.mp3 http://soundbible.com/1251-Beep.html.

We'll use a #system/timer to advance the game one frame each tick. The #movement records contain some housekeeping information about the ways a snake can move, and what precisely those movements mean. The #pixel-scale record can be adjusted in the future by a (not yet added) resize event to resample the board appropriately.

commit
  [#system/timer #time resolution: 1000 / 6] // Tick the game 6 times a second.

[#movement direction: "left" dx: -1 dy: 0 | opposite: "right"]

import {Program} from "witheve";
let prog = new Program("clock");
prog.attach("system");
prog.attach("svg");
let html = prog.attach("html") as any;
let content = document.createElement("content");
document.body.appendChild(content);
blarp
``` eve
search
[#foo]
```

2048

A version of 2048 written in Eve.

Setup

This section sets up the records we will use to represent the game board and store the current state.

  • The #game record will store the overall game state.
  • #axis records represent the horizontal and vertical axis

Custom Functions and modules in Eve

Note: We plan to do a thorough documentation pass in the coming weeks to clean up and document the codebase. This document is a very rough draft intended to help intrepid adventurers navigate the jungle until then.

Terms Sheet

  • Cardinality - The number of results a thing would return.
  • Intermediate - A value which is necessary to derive the final result, but not part of the result.
  • Referential Transparency - The property of always returning exactly the same output given an input.