Thursday, March 02, 2023

Proposal: Pretty Little Rows and Columns

Reached quorum 10 votes to 0. Enacted by Kevan.

Adminned at 03 Mar 2023 09:25:53 UTC

Add a new rule titled “Basic Grid Rules”, and give it the following text:

There is a Grid made up of Cells, where each Cell is a string variable with a default value of “-”, arranged in an 8 x 8 collection which is publicly tracked. The columns of the Grid are labeled with the integers 1 through 8 inclusive in numerical order, and the rows of the Grid are labeled with the letters A - J inclusive in alphabetical order. A specific Cell is identified by its row letter and column number in the Grid in the format “RowColumn”, where Row is the row letter and Column is the column number. e.g. The Cell in the fourth row and second column is identified as “D2”.

A Cell containing “-” is considered to be Empty.

Add a new subrule in the rule “Basic Grid Rules” titled “Location”, and give it the following text:

There is a string variable named “Location” which is privately tracked by the Gridmaster for each Runner and is either a blank string or contains the identification of a Cell, defaulting to a blank string. At any time, a Runner whose Location is a blank string may privately request the Gridmaster to set their Location to a specific Cell. The Gridmaster should process these requests in the order in which they were received. If no other Runner has this Cell in their Location at the time the message is processed, the Gridmaster sets the Location of the Runner to the requested Cell and replies with an acknowledgement of the request. Otherwise, the Gridmaster replies that the Cell is taken.

At any time, a Runner may privately request their current Location from the Gridmaster, to which the Gridmaster replies with that Runner’s current Location.

Comments

SingularByte: he/him

02-03-2023 15:17:22 UTC

You might want to change it so that you check if cells are populated when you process it, not just when you receive it. Otherwise, if you get two people asking for a cell at once, you’d be forced to put them in the same place.

JonathanDark: he/him

02-03-2023 15:34:08 UTC

Good call, fixed

Kevan: he/him

02-03-2023 15:38:44 UTC

Some possibly unintentional overloading of “empty” here. If I have no Location and ask my Location to be set to A1, A1 is (from Basic Grid Rules) an “Empty” location, meaning that my “Location is empty” and I can ask it to be set to A2, etc?

JonathanDark: he/him

02-03-2023 15:47:28 UTC

Replaced with “a blank string”

Kevan: he/him

02-03-2023 18:05:36 UTC

for

lendunistus: he/him

02-03-2023 18:10:41 UTC

for

SingularByte: he/him

02-03-2023 19:06:40 UTC

for

Trapdoorspyder: he/him

02-03-2023 20:39:37 UTC

for

Habanero:

02-03-2023 20:50:15 UTC

for

Brendan: he/him

02-03-2023 21:00:21 UTC

against Just to be chaotic.

Brendan: he/him

02-03-2023 21:00:34 UTC

for Just kidding, CoV.

Josh: he/they

02-03-2023 21:44:45 UTC

for

Darknight: he/him

03-03-2023 02:31:58 UTC

for

Raven1207: he/they

03-03-2023 04:16:26 UTC

for