life-pd.git
8 months agoMake generation no longer a pure function master
JC [Mon, 31 Jul 2023 16:10:05 +0000 (11:10 -0500)]
Make generation no longer a pure function

GC pauses made the framerate on a real playdate incredibly choppy, so
store 2 generations of liveness inside each cell.

8 months agoUpdate pdxinfo, Makefile dependencies
JC [Mon, 31 Jul 2023 03:23:05 +0000 (22:23 -0500)]
Update pdxinfo, Makefile dependencies

This pdxinfo was copy pasted from another project and incorrect.
Make should also rebuild when pdxinfo changes.

8 months agoIncrease universe size
JC [Mon, 31 Jul 2023 03:22:00 +0000 (22:22 -0500)]
Increase universe size

Cells now nicely tile across the entire screen!

8 months agoAdd ability to control generation rate via crank
JC [Mon, 31 Jul 2023 03:21:41 +0000 (22:21 -0500)]
Add ability to control generation rate via crank

This seems like a good idea

8 months agoAdd support for edges of universe
JC [Mon, 31 Jul 2023 02:55:25 +0000 (21:55 -0500)]
Add support for edges of universe

8 months agoDouble cell count, make cell size const
JC [Mon, 31 Jul 2023 02:46:50 +0000 (21:46 -0500)]
Double cell count, make cell size const

8 months agoAdd B3/S23 rules
JC [Mon, 31 Jul 2023 02:08:09 +0000 (21:08 -0500)]
Add B3/S23 rules

These are the B3/S23 rules as displayed on wikipedia, except for the
edge squares due to array indexing.

8 months agoAllow swapping between running and editing
JC [Mon, 31 Jul 2023 01:32:51 +0000 (20:32 -0500)]
Allow swapping between running and editing

Also make display refresh rate less epilepsy inducing during runtime

8 months agoAdd function to calculate next generation
JC [Mon, 31 Jul 2023 01:29:53 +0000 (20:29 -0500)]
Add function to calculate next generation

Right now it simply flips bits instead of checking neighbors

8 months agoRefactor draw logic for use in running mode
JC [Mon, 31 Jul 2023 01:17:31 +0000 (20:17 -0500)]
Refactor draw logic for use in running mode

8 months agoRename rects to cells
JC [Mon, 31 Jul 2023 01:13:27 +0000 (20:13 -0500)]
Rename rects to cells

8 months agoAllow pressing "B" to begin running automata
JC [Mon, 31 Jul 2023 01:11:43 +0000 (20:11 -0500)]
Allow pressing "B" to begin running automata

It doesn't run yet, but pressing B saves the state of the game and
prevents player input

8 months agoAllow toggling liveness of cells
JC [Mon, 31 Jul 2023 01:07:20 +0000 (20:07 -0500)]
Allow toggling liveness of cells

8 months agoEncode height/width in constants
JC [Mon, 31 Jul 2023 00:48:38 +0000 (19:48 -0500)]
Encode height/width in constants

8 months agoActually allow selecting grid rectangle now
JC [Mon, 31 Jul 2023 00:46:25 +0000 (19:46 -0500)]
Actually allow selecting grid rectangle now

This is a bit like snake!

8 months agoAllow "selecting" a cell, and draw it as filled in
JC [Mon, 31 Jul 2023 00:41:17 +0000 (19:41 -0500)]
Allow "selecting" a cell, and draw it as filled in

Selection is hardcoded to 1,1 for now

8 months agoTurn rect values in to maps
JC [Mon, 31 Jul 2023 00:39:49 +0000 (19:39 -0500)]
Turn rect values in to maps

This will be useful later for determining live/deadness

8 months agoMake a 2 dimensional array of rectangles
JC [Mon, 31 Jul 2023 00:06:35 +0000 (19:06 -0500)]
Make a 2 dimensional array of rectangles

8 months agoDraw many rectangles
JC [Mon, 31 Jul 2023 00:02:19 +0000 (19:02 -0500)]
Draw many rectangles

For loop iteration, table iteration, and rectangles drawn diagonally

8 months agoDraw a rectangle to the screen
JC [Sun, 30 Jul 2023 23:57:39 +0000 (18:57 -0500)]
Draw a rectangle to the screen

8 months agoInvert coloration on A button press
JC [Sun, 30 Jul 2023 23:30:06 +0000 (18:30 -0500)]
Invert coloration on A button press

8 months agoInitial Commit
JC [Sun, 30 Jul 2023 23:10:55 +0000 (18:10 -0500)]
Initial Commit

Project skeleton