Code snippets

C++

#include <iostream>
#include <vector>

using namespace std;

class BaseClass {
public:
	BaseClass() {}
	~BaseClass() {}
	virtual const string func() {
		return "Base class\n";
	}
};

class DerivedClass : public BaseClass {
public:
	DerivedClass() {}
	~DerivedClass() {}
	const string func() override {
		string s = BaseClass::func();
		s += "Derived class\n";
		return s;
	}
};

int main(int argc, char** argv)
{
	// For polymorphism to work, we need to store pointers
	vector<BaseClass*> objects;

	DerivedClass obj;
	objects.push_back(&obj);

	for (auto &o : objects) {
		cout << o->func().c_str();
	}

	char in;
	cin >> in;

	return 0;
}

 

 2D Math snippets

public function MoveTowards(angle:Number):void
{
  nx = x + Math.cos(angle * FP.RAD) * movespeed * FP.elapsed;
  ny = y + Math.sin(angle * FP.RAD) * movespeed * FP.elapsed;
			
  if (!CheckCollision(nx, ny))
  {
    x = nx;
    y = ny;
  }
}
public function GetAngleTo(x2:int, y2:int):Number
{
  var deltaY:Number = y - y2;
  var deltaX:Number = x2 - x;

  return Math.atan2(deltaY, deltaX) * 180 / Math.PI;
}
public function update():void
{
  if(mouseover)
  {
    image.scale += (1.2 - image.scale) / 2;
  }
  else
  {
    image.scale += (1 - image.scale) / 2;
  }
}
function updatePosition() 
{
  HXP.clampInRect(this, HXP.camera.x, HXP.camera.y, HXP.screen.width, HXP.screen.height, (width+height));
}