View Tiny King CLA
Fiduciary License Agreement 2.0 | |
based on the | |
Individual Contributor exclusive License Agreement | |
(including the TRADITIONAL PATENT LICENSE OPTION) | |
Thank you for your interest in contributing to Think Code Learn Ltd t/a Revelation Games's Tiny King ("We" or "Us"). | |
The purpose of this contributor agreement ("Agreement") is to clarify and document the rights granted by contributors to Us. To make this document effective, please follow the instructions at ____________________. | |
0. Preamble |
View gist:bba955ce15777516f185a92a87dd2e4b
def assert_equal(expected, actual) | |
print expected == actual ? "." : "Expected #{expected}, but got #{actual}\n" | |
end | |
class PriceRule | |
def initialize(code, price) | |
@code = code | |
@price = price | |
end |
View plus.rb
def plus(num) | |
(1..num).to_a.map {|x| yield(x) }.join | |
end | |
p plus(3) { "ding" } | |
p plus(3) { |x| "...#{x}" } | |
p plus(5) { |x| (x + 2).to_s } | |
def sandwich(layers = 1, &block) |
View -
def assert_equal(expected, actual) | |
print expected == actual ? "." : "Expected #{expected.inspect} but got #{actual.inspect}\n" | |
end | |
Discount = Struct.new(:amount, :value) do | |
def apply(basket, item) | |
(basket.count(item)/amount) * value | |
end | |
end |
View achievements.sh
#!/bin/bash | |
TITLE_BG=title-bg.png | |
EL_BG=el-circle.png | |
OUT=achievements.png | |
# A colon-seperated rewards list. | |
# First column is the type of reward: | |
# <text> - a text number. | |
# Columns are alpha divisor (eg 4 is 25%), percentage complete, big number, smaller label and text description. |
View checkout.rb
def assert_equal(expected, actual) | |
print expected == actual ? "." : "Expected #{expected.inspect} but got #{actual.inspect}\n" | |
end | |
class SummingRule | |
def initialize(item, price) | |
@item = item | |
@price = price | |
end |
View t.rb
class Checkout | |
def initialize | |
@total = 0 | |
end | |
PRICES = { "Apple" => 30, "Banana" => 50 } | |
def scan(item) | |
@total += PRICES[item] | |
end |
View s3.sh
# You don't need Fog in Ruby or some other library to upload to S3 -- shell works perfectly fine | |
# This is how I upload my new Sol Trader builds (http://soltrader.net) | |
# Based on a modified script from here: http://tmont.com/blargh/2014/1/uploading-to-s3-in-bash | |
S3KEY="my aws key" | |
S3SECRET="my aws secret" # pass these in | |
function putS3 | |
{ | |
path=$1 |
View unsplash.sh
#!/bin/bash | |
# NOTE: requires ImageMagick | |
# NOTE: will tint to the Solarized Dark default background scheme, as the iTerm background blend option didn't lower the contrast enough for me | |
# NOTE: Optimised for a 1280x800 point screen (my 13" Retina MBP) | |
set -e | |
index=$[ 1 + $[ RANDOM % 10 ]] | |
img=`curl https://unsplash.com/rss/ | xmllint --xpath '/rss/channel/item['$index']/image/url/text()' -` | |
curl "$img" > ~/unsplash-latest.jpg && |
View Blob.cpp
#include "Blob.h" | |
namespace sol { | |
unsigned Object::used() const { | |
BlobType type = (BlobType)_blob.getByte(0); | |
switch (type) { | |
case BL_INT: | |
return Integer(_blob).used(); | |
case BL_ARRAY: | |
return Array::wrap(_blob).used(); |
NewerOlder