Skip to content

Instantly share code, notes, and snippets.

View redblobgames's full-sized avatar
🥰

Amit Patel redblobgames

🥰
View GitHub Profile
@redblobgames
redblobgames / variant.h
Created April 30, 2016 17:20
mapbox::variant pattern matching
#include "variant/variant.hpp"
template<typename ...T> using variant = mapbox::util::variant<T...>;
namespace matchdetail {
template<typename C, typename Arg>
Arg lambda_argument(void(C::*)(const Arg&) const) {}
template<typename Other>
void lambda_argument(Other) {}
@redblobgames
redblobgames / .block
Last active July 31, 2018 04:03
Outside the box
license: apache-2.0
scrolling: yes
height: 900
@redblobgames
redblobgames / .block
Last active July 31, 2018 04:04
d3 unconf block
license: apache-2.0
scrolling: no
height: 1500
@redblobgames
redblobgames / .block
Last active October 17, 2016 23:00
which d3 apis do people use
license: mit
border: yes
scrolling: yes
@redblobgames
redblobgames / dice.cpp
Created January 23, 2017 05:28
C++11 dice rolling syntax: write 2d6 dice roll as 2_d6 c++ syntax
#include <iostream>
#include <cstdlib>
int roll_dice(int numdice, int die) {
int total = 0;
for (int i = 0; i < numdice; i++) {
total += std::rand() % die;
}
return total;
}
@redblobgames
redblobgames / svg-arrowhead.html
Created March 7, 2017 22:34
SVG arrowhead example
<!DOCTYPE html>
<html>
<svg width="80%" height="80%" viewBox="-100 -100 200 200">
<!-- Need this definition to make an arrowhead, from https://www.w3.org/TR/svg-markers/ -->
<defs>
<marker id="red-arrowhead" viewBox="0 0 10 10" refX="7" refY="5" markerUnits="strokeWidth" markerWidth="4" markerHeight="3" orient="auto">
<path d="M 0 0 L 10 5 L 0 10 z" stroke="none" fill="red"/>
</marker>
</defs>
@redblobgames
redblobgames / drop-shadow.html
Created March 8, 2017 00:48
SVG drop shadow example
<!DOCTYPE html>
<html>
<svg width="80%" height="80%" viewBox="-100 -100 200 200">
<!-- Need this definition to make a drop shadow - based on examples from many articles, including svg spec -->
<defs>
<filter id="drop-shadow" x="-100%" y="-100%" width="300%" height="300%">
<feGaussianBlur in="SourceAlpha" stdDeviation="2"/>
<feOffset dx="5" dy="5" result="offsetblur"/>
<feFlood flood-color="#000000"/>
@redblobgames
redblobgames / .block
Last active March 20, 2017 15:22
Mandelbrotch
license: mit
@redblobgames
redblobgames / huh.js
Created April 22, 2017 16:33
Befuddled
// I wrote wrong1 vs right1 to demonstrate automatic semicolon insertion. So far so good.
function wrong1(x) {
return
{
upper: x + 1
};
}
function right1(x) {
@redblobgames
redblobgames / .block
Created September 12, 2017 16:18
HTML Color Names (Relative Lightness, linear color space)
license: mit