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...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
Often, when building a game, you need to test if objects are colliding. The objects could be spaceships, rocks, mouse pointers, laser beams....
-
Summary: NodeJS wins. Test Program ab -n 10000 -c 5 http://localhost/ Gevent Code from gevent import wsgi class WebServer(object): def a...
-
Why would I ask that question? Python 3 has been available for some time now, yet uptake is slow. There aren't a whole lot of packages i...
-
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 finished refactoring an awful C# class. I had been delaying the job for a while because I didn't want to do it. Then, whil...
-
Dear Lazyweb. Imagine a nice RESTful interface for working with Tags. The URL: /tags/ will return a list of all the tags. The URL: /tags/fo...
-
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...
-
We're almost done with our Giant Robot Project. Realising we had only a few hours before the robots would be deconstructed and sent awa...