Skip to content

Instantly share code, notes, and snippets.

View adrian17's full-sized avatar

Adrian Wielgosik adrian17

View GitHub Profile
@adrian17
adrian17 / main.cpp
Created May 25, 2014 21:24
Quadtrees
#include <cmath>
#include <vector>
#include "windows.h"
#include "lodepng.h"
#include "SDL.h"
typedef std::vector<unsigned char> Image;
@adrian17
adrian17 / main.cpp
Last active August 29, 2015 14:01
Quadtrees but not really
#include <cmath>
#include <functional>
#include <set>
#include "windows.h"
#include "lodepng.h"
#include "SDL.h"
const int MIN_RECT_SIZE = 2;
@adrian17
adrian17 / patcher.py
Created July 22, 2014 11:15
TH autobomb patcher
import shutil
import os
games = [
{"name": "th10", "offset": 0x25013, "data": [0xf6, 0x05, 0x5c, 0x4e, 0x47, 0x00, 0x02, 0x0f, 0x84, 0x52, 0x01, 0x00, 0x00]},
{"name": "th11", "offset": 0x30679, "data": [0xf6, 0x05, 0xc0, 0x93, 0x4c, 0x00, 0x02, 0x0f, 0x84, 0xd5, 0x02, 0x00, 0x00]},
{"name": "th12", "offset": 0x3619b, "data": [0xf6, 0x05, 0xd0, 0x49, 0x4d, 0x00, 0x02, 0x0f, 0x84, 0xe8, 0x01, 0x00, 0x00]},
{"name": "th125", "offset": 0x3ace8, "data": [0xf6, 0x05, 0x10, 0xb2, 0x4d, 0x00, 0x02, 0x0f, 0x84, 0xf9, 0x00, 0x00, 0x00]},
{"name": "th13", "offset": 0x42925, "data": [0xf6, 0x05, 0x14, 0x4c, 0x4e, 0x00, 0x02, 0x0f, 0x84, 0x2c, 0x01, 0x00, 0x00]},
{"name": "th14", "offset": 0x4d2c4, "data": [0xf6, 0x05, 0x9c, 0x8a, 0x4d, 0x00, 0x02, 0x0f, 0x84, 0x00, 0x01, 0x00, 0x00]}
@adrian17
adrian17 / main.cpp
Last active August 29, 2015 14:07
EdgeSolver with templates
#include <iostream>
#include <vector>
#include <string>
#include <array>
#include <fstream>
using std::cout;
using std::endl;
typedef std::vector<std::array<char, 4>> Board;
@adrian17
adrian17 / main.cpp
Last active August 29, 2015 14:13
DailyProgrammer #197 Intermediate Dijikstra
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
#include <tuple>
#include <algorithm>
#include <climits>
#include <map>
#include <set>
@adrian17
adrian17 / words_game.py
Last active August 29, 2015 14:14
For /r/dailyprogrammer, Challenge 198
# [2015-01-23] Challenge #198 [Hard] Words with Enemies -- The Game!
# http://www.reddit.com/r/dailyprogrammer/comments/2tfs0b/20150123_challenge_198_hard_words_with_enemies/
from functools import lru_cache
import random
import string
@lru_cache(maxsize=1)
def load_wordlist(filename="enable1.txt"):
return open(filename).read().splitlines()
@adrian17
adrian17 / main.py
Last active August 29, 2015 14:14
numbers_cleanup
#Ugly but working
dataz="""\
_ _ _ _ _ _ _ _ _
| || || || || || || || || |
|_||_||_||_||_||_||_||_||_|
| | | | | | | | |
| | | | | | | | |
@adrian17
adrian17 / kakuro.py
Created February 23, 2015 14:40
Kakuro solver in Python
import itertools
from copy import deepcopy
def possible_combinations(values, n, total):
# generate all combinations of given values with given sum
return [combination for combination in itertools.combinations(values, n) if sum(combination) == total]
def make_aval(board, clues):
"""
Generates a set of all digits you can use in each cell, just like you do in sudoku board
prime_sieve =: 3 : 0
sieve_size =. y
sieve =. sieve_size # 0
indices =. i. sieve_size
sieve =. 1 (0 1) } sieve
result =. ''
while. sieve_size ~: +/ sieve do. NB. while it has at least one 0
num =. {. (-. sieve) # indices NB. get first number not marked with 1
result =. result, num
divisible =. 0 = num | indices
@adrian17
adrian17 / sudoku.ijs
Created March 5, 2015 09:24
sudoku in J (translation of APL algorithm)
s44 =: 4 4 $ 0 0 0 0 0 0 2 1 3 0 0 4 0 0 0 0
box =: (] #"1 ] # ([: i. 2 # ]))
indices =: 3 : 0
yy =. {. y
a =. yy #"0 i. yy
b =. |: a
c =. a ,/"0 b
)