Skip to content

Instantly share code, notes, and snippets.

View quicksortMedian.js
const quickSort = (array, left = 0, right)=>{
if(right === undefined){
right = array.length -1;
if(left >= right){
moveMedian(array, left, right);
let wall = left;
const pivot = right;
View flatten.js
I made a handful of decisions about this function:
1) I know you said array of integers, but I decided to make it a bit more resiliant.
2) If you give me a non-array, I will just spit that back at you
3) This is a functional thing, so I will return a new array instead of flattening in place
4) I did use newer language features, my assumption is that this will run in an environment where that is ok, or it will be transpiled
5) Flatten is strictly about arrays, so I don't do anything with objects.
const flatten = (toFlattenArr) => {
View handlePlayerActions.ts
export const listenForPlayerAction = (game: Game): Promise<ActionValue> => {
return new Promise((res, rej) => {
const { sockets, currentPlayerIndex } = game;
const currentSocket = sockets[currentPlayerIndex];
currentSocket.once('action', async (action: ActionTypes, value: number) => {
if (!checkIfValidAction(game, action, value)) {
rej("Invalid Action");
} else {
res({ action, value });
View Card.tsx
interface Props {
card: Card
export default (props: Props)=>{
const { name, optional, requirements, effects } = props.card;
return <div class='game-card text-center'>
<div class='title'>{name}</div>
View GameManager.cs
public class GameManager : MonoBehaviour
Player playerPrefab;
Timeline timeline;
static GameManager t;
List<ITimed> timedThings = new List<ITimed>();
IInput currentInput;
View PlayerInput.cs
public class InputPlayer : IInput
public bool ShouldPlay{get{
return !GameSettings.PauseOnInaction ||
Input.GetKey(KeyCode.W) ||
Input.GetKey(KeyCode.A) ||
Input.GetKey(KeyCode.S) ||
Input.GetKey(KeyCode.D) ||
View IInput.cs
public interface IInput
void GetInput();
void EndInput();
void StartInput();
bool ShouldPlay {get;}
public enum InputTypes{
View Player.cs
public class Player : MonoBehaviour, ITimed
float speed = 1;
bool isStartingPlayer = false;
public bool IsStartingPlayer {get{return isStartingPlayer;}}
CollDetector forwardDetector;
View TimedState.cs
public class TimedState
SeriealizedState data;
ITimed timed;
public ITimed Target { get { return timed; } }
public SeriealizedState Data { get { return data; } }
public TimedState(ITimed timedObject, SeriealizedState serialized)
View Timeline.cs
public class Timeline
int currentFrame = 0;
public int CurrentFrame
get { return currentFrame; }
set { currentFrame = value; }
You can’t perform that action at this time.