Monday, August 29, 2011
Sunday, August 28, 2011
Saturday, August 27, 2011
Friday, August 26, 2011
Thursday, August 25, 2011
Heap Queue in C#
A minimal re-implementation of the Python heapq module.
public class HeapQ<T> where T : IComparable { List<T> items; public HeapQ () { items = new List<T> (); } public bool Empty { get { return items.Count == 0; } } public T First { get { if (items.Count > 1) { return items[0]; } return items[items.Count - 1]; } } public void Push (T item) { items.Add (item); SiftDown (0, items.Count - 1); } public T Pop () { T item; var last = items[items.Count - 1]; items.RemoveAt (items.Count - 1); if (items.Count > 0) { item = items[0]; items[0] = last; SiftUp (0); } else { item = last; } return item; } void SiftDown (int startpos, int pos) { var newitem = items[pos]; while (pos > startpos) { var parentpos = (pos - 1) >> 1; var parent = items[parentpos]; if (parent.CompareTo (newitem) <= 0) break; items[pos] = parent; pos = parentpos; } items[pos] = newitem; } void SiftUp (int pos) { var endpos = items.Count; var startpos = pos; var newitem = items[pos]; var childpos = 2 * pos + 1; while (childpos < endpos) { var rightpos = childpos + 1; if (rightpos < endpos && items[rightpos].CompareTo (items[childpos]) <= 0) childpos = rightpos; items[pos] = items[childpos]; pos = childpos; childpos = 2 * pos + 1; } items[pos] = newitem; SiftDown (startpos, pos); } }
Friday, August 05, 2011
Thing's I like about Mac.
Unity3D 3.4 Enhancements
I enjoy modifying cars, so that they exceed their stock limitations. When you've fixed all the easy stuff on a vehicle, you move onto the fine tuning, which might only yield you one or two percent performance increase per modification. The latest version of Unity contains some very fine fixes, which are starting to make it run like a well tuned rapid development machine!
C# Script files now get the correct name when you first add them to the project. The ritual of "Create Script, Open, Rename, Drop onto Game Object" is gone forever! Now you only need to create the script, and Unity gives the class the right name automagically.
The second great fix is that you can now create a prefab simply by dragging an object from your scene hierarchy straight into the project view. No more tedious Create Prefab, Drop object Onto Prefab, Rename Prefab. It is just... drag... and drop!
C# Script files now get the correct name when you first add them to the project. The ritual of "Create Script, Open, Rename, Drop onto Game Object" is gone forever! Now you only need to create the script, and Unity gives the class the right name automagically.
The second great fix is that you can now create a prefab simply by dragging an object from your scene hierarchy straight into the project view. No more tedious Create Prefab, Drop object Onto Prefab, Rename Prefab. It is just... drag... and drop!
Subscribe to:
Posts (Atom)
Popular Posts
-
These are the robots I've been working on for the last 12 months. They each weigh about 11 tonnes and have a 17 meter reach. The control...
-
This hard-to-see screenshot is a Generic Node Graph Editing framework I'm building. I'm hoping it can be used for any kind of node...
-
After my last post, I decided to benchmark the scaling properties of Stackless, Kamaelia, Fibra using the same hackysack algorithm. Left axi...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
It is about 8 degrees C this morning. So cold, especially when last week we had high twenties. To help solve the problem, a friend suggeste...
-
At the last few GameJams, I've seen an increase in the use of RAD game tools, some of them even being developed by the participants them...
-
MiddleMan: A Pub/Sub and Request/Response server in Go. This is my first Go project. It is a rewrite of an existing Python server, based o...
-
I've just uploaded Fibra 2 to the cheeseshop. Fibra 2 includes the promised non-blocking plugin, which allows a generator based task to...
-
I've just read a newspaper article (courtesy of Kranzky ) from WA Business News documenting the malfeasance, gross negligence and misc...
-
#!/usr/bin/env python import io import asyncio import websockets import logging import collections logger = logging.getLogger('w...