Challenges

Featured Challenge:
#154 β€” Tic Tac Toe AI with Minimax Algorithm

In this challenge I take the Tic Tac Toe game from coding challenge #149 and add an AI opponent for a human player by implenenting the Minimax algorithm.

dec 11, 2019

Tic Tac Toe AI with Minimax Algorithm
βŒ₯

Filter by Language

p5.js
β˜†

Filter by Topic

Pick a topic to filter

In this multi-part coding challenge, I take a closer look at the Quick, Draw! dataset and create a simple node API to "replay" drawings of rainbows and cats using p5.js.

Quick, Draw!

In this coding challenge, I discuss turtle graphics and make a Logo Interpreter in JavaScript.

Logo Interpreter

In this coding challenge, I talk about bitwise operations, and more specifically, bit shifting.

Bit Shifting

This coding challenge is an exploration of binary numbers with p5.js. Watch me build an interactive sketch that converts binary to decimal numbers!

Binary to Decimal Conversion

In this coding challenge, I load a sprite sheet and create multiple animated sprites with the p5.js library.

Animated Sprites

In this coding challenge, I visualize the RecamΓ‘n’s number sequence using the p5.js library and go on to generate a series of musical tones using p5.js sound.

RecamΓ‘n's Sequence

In this coding challenge, inspired by Numberphile I visualize "sandpiles" with Processing (Java).

Sandpiles

In this coding challenge, I implement a pixel-based β€œfire” algorithm using Processing (Java).

Fire Effect

In this challenge, I use my JavaScript neural network library and a genetic algorithm to train an agent to play Flappy Bird.

Neuroevolution Flappy Bird

In this multi-part coding challenge, I implement a Quadtree data structure in JavaScript and visualize it with p5.js.

Quadtree

In this multi-part coding challenge, I code the sliding puzzle game 2048 in JavaScript using canvas and p5.js.

2048 Sliding Puzzle Game

In this coding challenge, I use my Toy Neural Networks library to solve the XOR problem.

XOR Problem

In this multi-part coding challenge, I attempt to create a simulation of the classic board game Snakes & Ladders (also known as Chutes and Ladders).

Snakes & Ladders

The artist BeesandBombs makes amazing algorithmic looping GIFs! Here's my attempt to recreate one of my favorite GIFs in JavaScript with p5.js and the WEBGL renderer.

Cube Wave by Bees and Bombs

Let's attempt to create a snowfall simulation using p5.js, sprite sheets and Perlin noise wind!

Snowfall

In this coding challenge, I attempt to code Conway’s Game of Life cellular automata simulation in JavaScript using the p5.js library.

The Game of Life

In this multi-part challenge, I implement two possible solutions to Golan Levin's Circle Morphing challenge.

Circle Morphing

This challenge is a continuation of the number guessing chatbot. In this version, I add the p5.Speech library for a voice interface.

Voice Chatbot with p5.Speech

In this coding challenge I attempt to create a chatbot that plays a number guessing game. I use the RiveScript along the JavaScript library p5.js.

Number Guessing Chatbot

In this coding challenge, I explore the concept of a simple particle system and attempt to create a smoke effect with the p5.js library.

Simple Particle System

In this coding challenge, I explore the concept of recursion to create fractal patterns in JavaScript HTML5 canvas with the p5.js library.

Recursion

In this coding challenge, I attempt to create a version of the classic one-line Commodore 64 BASIC program in JavaScript using p5.js. This coding challenge is inspired by the book 10 PRINT.

10Print

In this coding challenge, I make a "Wikipedia web crawler" in JavaScript. It randomly crawls from topic to topic on Wikipedia using the API and the p5.js library.

Wikipedia API

In this coding challenge, I attempt to program a clock in HTML5 canvas with the p5.js library.

Clock

In this coding challenge, I create an acrostic generator with the Wordnik API and p5.js. This challenge is part of my "Programming with Text" series.

Acrostic

In this challenge, I attempt to code the classic game Minesweeper in JavaScript with the p5.js library.

Minesweeper

In this multi-part coding challenge, I create a system where autonomous steering agents evolve the behavior of eating food and avoiding poison.

Evolutionary Steering Behaviors

In this two part challenge, I implement the Breadth-First Search algorithm in JavaScript. My demo application is "6 Degrees of Kevin Bacon" (finding the closest relationship between Kevin Bacon and another actor).

Breadth-First Search

In this video, I use the p5.js library to create a web-based countdown timer. I discuss the native JavaScript method setInterval() and well as p5’s millis().

JavaScript Countdown Timer

This multi-part coding challenge is part of the first week of my course: "Intelligence and Learning." Here I attempt to implement a classic data structure: The Binary Search Tree.

Binary Tree

I love all things random and chance so why not make a Plink simulation with the matter.js physics engine and p5.js!

Plinko with Matter.js

Inspired by Everest Pipkin’s Moth Generator, I use trigonometry and perlin noise to procedurally generate butterfly wing designs with p5.js.

Butterfly Generator

In this coding challenge, I look at extracting font path points from text in p5.js with p5.Font.textToPoints(). I render the text as particles with steering behaviors that react to the mouse.

Steering Behaviors

In this coding challenge, I visualize earthquake data from the USGS by mapping the latitude, longitude and the magnitude of earthquakes with p5.js. The map imagery is pulled from mapbox and the math demonstrated converts latitude, longitude to x,y via Web Mercator.

Mapping Earthquake Data

In this coding challenge, I attempt to create rose (rhodonea) curves using trigonometry function and polar coordinates.

Mathematical Rose Patterns

In this bonus super-sized coding challenge, I work through visualizing Islamic Star Patterns in p5.js.

Islamic Star Patterns

In this coding challenge, I simulate a "random walk" with vectors in p5.js, varying the distance of each step size. This is known as a "LΓ©vy Flight" (named after french mathematician Paul LΓ©vy.)

Random Walker with Vectors and LΓ©vy Flight

In this coding challenge, I simulate a "random walk" with the p5.js library. This video is part of the course Nature of Code at ITP, Tisch, NYU.

Random Walker

In this multi-part coding challenge, I attempt an implementation of the A* Pathfinding Algorithm to find the optimal path between two points in a 2D grid.

A* Pathfinding Algorithm