7
\$\begingroup\$

Essentially, a user's answer in Excel (now deleted) uses the drag-down formula feature of Excel, as described in the linked related meta question. I thought that from the highest voted answer to that question, we had, by community consensus, determined that mouse interaction is unnecessary. I personally take it to mean that mouse interaction of that type is not a valid form of "input" by default.

There is no related "input" type associated with mouse input listed in the default I/O methods in the relevant meta question. I don't think the mouse should be used to in any way affect the program's structure.

As we said, this allows an arbitrary amount of rows or columns in this case, so what if I create a language where the numbers of rows or columns I drag determines the output entirely?

To be clear, Excel only happens to be the catalyst for this question, but there are plenty of other situations where mouse input is possible -- Minecraft, Terraria, Logisim, LabVIEW, HTML+CSS, Scratch ...

So, to remove any doubts, what mouse interaction is allowed to be used for input/output?

Related:

\$\endgroup\$
  • \$\begingroup\$ Answer was deleted. your link is broken.. \$\endgroup\$ – user56309 Sep 29 '16 at 20:59
  • \$\begingroup\$ @Mego It's not a duplicate. Either that answer needs to be clarified, or this question needs a clear answer, because the user in question still thinks it's okay. (He's the one who asked that meta question) \$\endgroup\$ – mbomb007 Sep 29 '16 at 21:01
  • \$\begingroup\$ It's not unclear at all, except to the singular user in question. The top answer on that question perfectly answers this question. \$\endgroup\$ – Mego Sep 29 '16 at 21:03
  • 1
    \$\begingroup\$ @tuskiomi Most users can actually see deleted answers (anyone with >= 2000 rep, but more once the site privilege levels change.) So it's fine to us. :) \$\endgroup\$ – mbomb007 Sep 29 '16 at 21:04
  • \$\begingroup\$ Let us continue this discussion in chat. \$\endgroup\$ – mbomb007 Sep 29 '16 at 21:22
  • 1
    \$\begingroup\$ @Mego I don't consider this to be a dupe in the slightest. Excel only happens to be the catalyst, but there are plenty of other situations where mouse input is possible -- Minecraft, LabVIEW, HTML+CSS, Scratch ... those are just examples off the top of my head. I'm going to edit that into the question to make it more clear. \$\endgroup\$ – AdmBorkBork Sep 30 '16 at 12:30
  • \$\begingroup\$ @Mego I personally wouldn't have a problem with that, provided we can get some non-Excel clarification as well. \$\endgroup\$ – AdmBorkBork Sep 30 '16 at 12:32
  • \$\begingroup\$ I should mention that BASIC has a Text-based feature of what you described above "where the numbers of rows or columns I drag determines the output entirely". it is called the EVAL() function, and it is not allowed in any PCG contest. Yet, BASIC is allowed in PCGs anyway. I do not believe your argument holds water. \$\endgroup\$ – user60710 Oct 14 '16 at 16:14
  • \$\begingroup\$ @user60710 Why would eval() not be allowed in a PCG contest? We use that all the time. It's the dragging that isn't allowed. \$\endgroup\$ – mbomb007 Oct 14 '16 at 18:04
4
\$\begingroup\$

Mouse interactions that act as code or input are not allowed

Since it's impossible to count "bytes" for mouse clicks/drags/etc., mouse interactions are not allowed as part of the code or the input method. Mouse interactions are allowed for the purpose of facilitating input using acceptable methods.

Acceptable:

  • Having to click a button to run the code
  • Having to click a button to see the output of running the code
  • Having to click in a text field (or similar) to input the code or input
  • Clicking levers/buttons/etc. in Minecraft to enter input (since that's the natural input method)
  • Clicking checkboxes or up/down buttons on numeric input boxes for input in HTML+CSS

Unacceptable:

  • Entering the code in an Excel cell (or similar) and dragging it through other cells to get the output (whether it be a fixed number of cells or dependent on the input)
  • Using the mouse (or keyboard, for that matter) to select a part of code and repeat it multiple times for "free"
  • Anything else that would be equivalent to one of the standard loopholes
\$\endgroup\$
  • 1
    \$\begingroup\$ Clicking checkboxes could also be acceptable input for a boolean in HTML+CSS. \$\endgroup\$ – mbomb007 Sep 30 '16 at 13:31
  • \$\begingroup\$ @TimmyD How does it look now? \$\endgroup\$ – Mego Sep 30 '16 at 13:54
  • 1
    \$\begingroup\$ Why would you discern Minecraft from others? You literally put in the title that most should not be allowed as input \$\endgroup\$ – user56309 Sep 30 '16 at 14:32
  • \$\begingroup\$ @tuskiomi Because Minecraft doesn't have an input method other than buttons and levers, so that's allowed as an acceptable input method. See this for more details. Though technically /tellraw and /scoreboard can be used for input, they require the use of command blocks to work, and scoring command blocks is tricky. \$\endgroup\$ – Mego Sep 30 '16 at 14:36
  • \$\begingroup\$ @mego the most popular answer says that tellraw should be the default io \$\endgroup\$ – user56309 Sep 30 '16 at 14:38
  • \$\begingroup\$ @tuskiomi The most popular answer is referring to output, not input. \$\endgroup\$ – Mego Sep 30 '16 at 14:39
  • \$\begingroup\$ According to "Entering the code in an Excel cell (or similar) and dragging it through other cells to get the output (whether it be a fixed number of cells or dependent on the input)", I can't also copy-paste my Javascript code and run it from the console. Basically, Microsoft Excel is the interpreter, and the input is the cell where you place your code. I see nothing wrong with that. \$\endgroup\$ – Ismael Miguel Oct 2 '16 at 11:36
  • \$\begingroup\$ @IsmaelMiguel That is not at all what I said, and I am having difficulty understanding how you came to that conclusion. \$\endgroup\$ – Mego Oct 2 '16 at 11:52
  • \$\begingroup\$ @Mego "Entering the code in an Excel cell (or similar)" <-- can be seen as pasting the code in an interpreter. "[...] dragging it through other cells to get the output (whether it be a fixed number of cells or dependent on the input)" <-- giving any sort of input to the code (like a Javascript prompt(), which requires you to click on a button, inside a box, to give the code the input/cancel) \$\endgroup\$ – Ismael Miguel Oct 2 '16 at 11:56
  • \$\begingroup\$ @IsmaelMiguel No. It's not at all the same. Pasting the code in the interpreter or clicking inside a prompt facilitates input. Dragging formulas through cells or copy-pasting the same code multiple times uses mouse/keyboard interactions to replace code. \$\endgroup\$ – Mego Oct 2 '16 at 11:58
  • \$\begingroup\$ @Mego How about a code that multiplies itself, and changes itself according to the input? For example, a loop written as eval('alert(x)'.repeat(prompt())). Is that invalid? \$\endgroup\$ – Ismael Miguel Oct 2 '16 at 12:01
  • \$\begingroup\$ @IsmaelMiguel That has nothing to do with the question at hand. \$\endgroup\$ – Mego Oct 2 '16 at 12:02
  • \$\begingroup\$ @Mego How is that any different? It's self-modifying code (in the loose way) that requires user interaction to give you the output. \$\endgroup\$ – Ismael Miguel Oct 2 '16 at 12:13
  • \$\begingroup\$ @IsmaelMiguel It requires user interaction in the form of a GUI prompt for input, which is an acceptable input method. It's not using the mouse and/or keyboard to copy and paste code for free. There's a clear distinction. \$\endgroup\$ – Mego Oct 2 '16 at 12:15
  • \$\begingroup\$ @Mego Just because the code is being replicated, doesn't mean it is for free. Also, you can define specific cells to contain the input. I see nothing wrong with that. \$\endgroup\$ – Ismael Miguel Oct 2 '16 at 12:23
-1
\$\begingroup\$

Mouse inputs should be allowed so long as they're quantifiable, and can be represented in the form of the specific input upon which the challenge specifies.

Mouse inputs are no different than keyboard inputs, and to ban them in challenges would be ridiculous and unlike the PCG community. We've promoted time and again new and improved ways to represent data, weather it be a new codec, like in jelly, cells of hexagony, or even languages that are made here for golfing by our own users. I think that mouse strokes should be allowed, just like these other languages and their data representations.

The worry that I see most PCG users expressing is that there's not clear definition of what a mouse stroke is, and one can do with a mouse stroke. So Here is what I propose that a mouse stroke should and shouldn't do:

A mouse stroke Should

  • Represent some sort of quantifiable data

  • ONLY be part of the input.

  • Have said data be in be same EXACT format as the challenge gives.

  • Be significant and relevant to the input in some way.

A mouse stroke Shouldn't

  • Alter source code in any way

  • give any data to the program that wouldn't be covered as part of the specified input

  • be overly complicated or burden the user.

  • be part of the source code to be scored



Examples of valid mouse input descriptions:

  • Click the button N times where N is your desired input.

  • click and drag a formula N cells down where N is your desired input

  • Draw an X by Y square with the mouse, where X and Y are as specified in the challenge.

Examples of INvalid mouse input descriptions:

  • Select the source code and delete some bits depending on your input..

  • click ax X 35,Y54, and drag to X78,Y160, then click play.

  • I drug a formula across a range in excel then submitted it for scoring.

  • The challenge requires a string input, but you'll have to enter it on your mouse in Morse code.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .