View 01_backend.py
from rest_framework.decorators import api_view | |
from rest_framework.response import Response | |
import ajaxmelt | |
@ajaxmelt.register('POST') | |
@api_view | |
@login_required | |
def edit_name(request): | |
campaign = get_object_or_404(Campaign.objects.visible_to(request.user), id=campaign_id) |
View How do I represent a world and dynamic objects in a C++ console game?
1) First thing I'd do would be to disconnect all the graphics rendering code from your World and Entity; it's going to be complicated enough without them :-) | |
2) I don't like that an Entity remember its index into the world. Let's revisit a typical roguelike data model: | |
> a World or a Level has a tilemap (floor, walls, or generally - a tight "grid" of walkable and non walkable scenery) and in addition - a number of entities, where every entity stays on one place in the grid. | |
You can have zero or more entities in the same slot - a goblin can stand over a pile of items, for instance. | |
3) Now let's think about the processes that happen. There are processes like movement, attack or picking things up. Let's take movement. |
View UglifyJSCompressor.py
import os | |
import shutil | |
import subprocess | |
import tempfile | |
import uuid | |
from compressor import base | |
from compressor.conf import settings as compressor_settings | |
from compressor.js import JsCompressor | |
from django.conf import settings | |
from django.core.files import File |
View formats.txt
| Image format (sized) | Unsized | Compr | Pixel format | Pixel type | | |
|---------------------------------------|--------------------|-------|--------------------|-----------------------------------| | |
| GL_R8 | GL_RED | False | GL_RED | GL_UNSIGNED_BYTE | | |
| GL_R8_SNORM | GL_RED | False | GL_RED | GL_BYTE | | |
| GL_R16 | GL_RED | False | GL_RED | GL_UNSIGNED_SHORT | | |
| GL_R16_SNORM | GL_RED | False | GL_RED | GL_SHORT | | |
| GL_R32F | GL_RED | False | GL_RED | GL_FLOAT | | |
| GL_R8I | GL_RED | False | GL_RED_INTEGER | GL_INT | |
View closures.js
// This snippet is a piece of trivia that illustrates some behaviour of closures in JS. | |
// Remember: With great power comes great responsibility! | |
// For details, see my blog post: | |
// http://kos.gd/2013/01/closures-the-cute-pets-that-bite/ | |
// Setup | |
if (typeof(print) === 'undefined') print = console.log.bind(console); | |
// For starters: | |
// Here's a function that calculates a sum of every N-th element of a given array. |
View shaderlines.py
''' | |
This module shows... | |
a) how GLSL error locations are presented depending on how the shader source is passed | |
(one string vs array of strings), | |
b) whether a single token can spread across several source strings. | |
''' | |
import ctypes | |
from OpenGL import GL |
View slicing.py
# Some setup... | |
import sys | |
def throws(msg, f): | |
try: | |
f() | |
except Exception, e: | |
return msg in str(e) | |
else: |
View gist:4442668
import operator | |
commands = {} | |
@operator.attrgetter('__get__') | |
def command(name, func): | |
commands[name] = func | |
return func | |