
Building Tic-Tac-Toe in a Google spreadsheet [video] - rarescruceat
https://www.youtube.com/watch?v=Vbnm5dFr_A4
======
pents90
A few years ago I wrote a Minesweeper clone in Google Spreadsheets:
[https://docs.google.com/spreadsheets/d/1367o4BYYNynmMan_1I5x...](https://docs.google.com/spreadsheets/d/1367o4BYYNynmMan_1I5xrG-
FnVFmRXQvgG3B1MfnY4w/edit?usp=sharing)

~~~
chancancode
That is very cool! I'll mention it at the end of the series. Might come back
to doing something with Apps Script some day!

------
trhaynes
I love that he makes real mistakes and then shows how to debug them (using
docs, debug output, etc).

~~~
chancancode
I am glad you liked it! I also really enjoy watching people build things, and
I am always more interested in the journey than the result.

------
digi_owl
Makes one wonder about an IDE that use grids like that, but where one can grow
multiple sheets/regions as needed without disrupting what exist already.

~~~
danbruc
Like insert cells, shift existing cells right or down in Excel?

~~~
digi_owl
yep. Thing is that this is likely to break existing formulas etc at the best
of times.

Its funny how it seems only Apple has a spreadsheet the offers free floating
"sheets", but there it seems to be treated more like a presentation/layout
refinement (meaning that even the "humble" spreadsheet is basically a tool for
desktop publishing).

I do believe Excel and others have the ability to reference cells from other
sheets, but that still means having to flip between them to keep things in
sync.

~~~
danbruc
Formulas will only break if you got them wrong, usually if you confused
relative and absolute addressing. Or if you perform your own cell address
calculations and the cells are no longer where your formula says. I am pretty
sure it is almost always not the fault of Excel.

~~~
rahimnathwani
Yup. A few rules I try to follow when designing spreadsheets that will be used
for more than 15 minutes:

\- Any cell that contains a numerical value (as opposed to a formula) is
highlighted. All such cells are at the top of the first sheet.

\- Never ever use VLOOKUP or HLOOKUP, as inserting columns or rows will break
them. Use INDEX and MATCH instead.

\- Never use OFFSET, as it's a 'volatile' function, meaning Excel will
recalculate the value for any cell which contains it, if _any_ value in the
sheet changes. Use INDEX instead.

\- When you're tempted to enter a value directly in a formula (e.g. when you
divide by 12 for the number of months in a year), just don't do it. Move the
value to an input cell. This goes also for parameters in an OFFSET formula.

------
iiv
That was fun, easy to understand and informative. He shows how he debugs real
errors and builds a decent product pretty quickly. The only complaint is that
his voice was drowned in music in the intro.

~~~
chancancode
Thanks for the feedback! I fixed that in part 2.

------
juhwon
rly? #13?

------
minxomat
This is almost impossible to listen to. If one must have background music in a
video, use some god damn sidechain compression. Or even better, drop the
music. /rant

Aside from that - awesome.

~~~
tantalor
What is sidechain compression?

~~~
nogenerix
Rather than having voice over and background music clashing at the same volume
levels, the music level would decrease whenever the voice over signal is
active.

~~~
tantalor
Thanks! Confusing because I think "bitrate" when I hear "compression" but it
actually refers to the volume level.

------
dang
Url changed from [http://chancancode.tv/tic-tac-
toe-1](http://chancancode.tv/tic-tac-toe-1), which redirects to this.

------
ash
Note: redirect to auto-playing YouTube video. Please add "[video]" to the
title.

~~~
dang
Sure.

------
bitmapbrother
It seems to me that this would be a lot easier by just using Apps Script.

