No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.DS_Store
index.css
index.html
index.js
readme.md

readme.md

n-Tac-Toe - Tic Tac Toe in 3D

Motivation: I love doing stuff in 3D, and this (a student project) seemed like a fun challenge given the time available.

Build status:

Images: Mockup of concept: Wireframe Screen Cap of Actual Game: ![Screen Cap of 3x3x3 Board] (https://i.imgur.com/MfWleff.png)

Features: The main feature of interest here is the user-definable board size--the DOM display of the board is generated procedurally in tandem with a three-dimensional array that records the players' moves. I imagine thie general code might be useful in other contexts--game-related and otherwise.

Code Example: Everything is pretty straightforward. Someone (Drake Talley) had questions about the process by which the game checks for a win. I think my approach is pretty efficient, but if anyone has improvements I would love to hear about them. Below is a simplified (2D) version to demonstrate the basic algorithm:

function checkDiags(arrIn) {
	const diag1 = [];
	const diag2 = [];
	for (let i = 0; i < arrIn.length; i += 1) {
		diag1.push(arrIn[i][i]);
    diag2.push(arrIn[arrIn.length-1-i][i])	
	}
  console.log(diag1,diag2);
}

testArr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

checkDiags(testArr); // [ 1, 5, 9 ] [ 7, 5, 3 ]```

Credits: Massive nd invaluable assistance was given by the General Assembly Summer 2018 WDI faculty, in particular, Drake Talley, who pretty much walked me through all the asynchronous browser-call stuff. Christopher Lin also helped in this area by introducing me to the preventDefault function.

License: MIT © James Gary