All pastes #247835 Raw Edit

Stuff

public text v1 · immutable
#247835 ·published 2006-11-13 22:31 UTC
rendered paste body
		static int angle = 0;
		static int length = 100;
		static int ratio = 50;
		static int levels = 3;
		static int x = 425/2;
		static int y = 460/2;
		System::Drawing::Pen^ myPen;
		System::Drawing::Graphics^ g;
		System::Drawing::Brush^ myBrush;
	private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
				 myPen = gcnew System::Drawing::Pen(Color::Black);
			 }
private: System::Void exitToolStripMenuItem1_Click(System::Object^  sender, System::EventArgs^  e) {
			 Close();
		 }
private: System::Void toolStripMenuItem2_Click(System::Object^  sender, System::EventArgs^  e) {
			 angle = 0;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem3_Click(System::Object^  sender, System::EventArgs^  e) {
			 angle = 15;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem4_Click(System::Object^  sender, System::EventArgs^  e) {
			 angle = 30;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem5_Click(System::Object^  sender, System::EventArgs^  e) {
			 angle = 45;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem6_Click(System::Object^  sender, System::EventArgs^  e) {
			 angle = 60;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem7_Click(System::Object^  sender, System::EventArgs^  e) {
			 angle = 75;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem8_Click(System::Object^  sender, System::EventArgs^  e) {
			 angle = 90;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem9_Click(System::Object^  sender, System::EventArgs^  e) {
			 length = 75;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem10_Click(System::Object^  sender, System::EventArgs^  e) {
			 length = 100;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem11_Click(System::Object^  sender, System::EventArgs^  e) {
			 length = 150;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem12_Click(System::Object^  sender, System::EventArgs^  e) {
			 ratio = 45;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem13_Click(System::Object^  sender, System::EventArgs^  e) {
			 ratio = 50;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem14_Click(System::Object^  sender, System::EventArgs^  e) {
			 ratio = 55;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem15_Click(System::Object^  sender, System::EventArgs^  e) {
			 levels = 1;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem16_Click(System::Object^  sender, System::EventArgs^  e) {
			 levels = 2;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem17_Click(System::Object^  sender, System::EventArgs^  e) {
			 levels = 3;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem18_Click(System::Object^  sender, System::EventArgs^  e) {
			 levels = 4;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem19_Click(System::Object^  sender, System::EventArgs^  e) {
			 levels = 5;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem20_Click(System::Object^  sender, System::EventArgs^  e) {
			 levels = 6;
			 drawFractal();
		 }
private: System::Void toolStripMenuItem21_Click(System::Object^  sender, System::EventArgs^  e) {
			 levels = 7;
			 drawFractal();
		 }
private: void drawFractal()
		 {
			 this ->Refresh();
			 drawBranch(x,y,angle,length,levels);
			 drawBranch(x,y,angle+90,length,levels);
			 drawBranch(x,y,angle+180,length,levels);
			 drawBranch(x,y,angle+270,length,levels);
		 }
private: void drawBranch(int x, int y, int ang, int len, int lev)
		 {
			 int newX = x + (int) (Math::Cos(Math::PI* ang/180.0)*len);
			 int newY = y + (int) (Math::Sin(Math::PI* ang/180.0)*len);
			 g = this->CreateGraphics();
			 g->DrawLine(myPen,x,y,newX,newY);
			 myBrush = gcnew System::Drawing::SolidBrush(Color::Red);
			 System::Drawing::Rectangle myRect(x,y,Math::Abs(newX-x),
				 Math::Abs(newY-y));
			 g->DrawRectangle(myPen,myRect);
			 g->FillRectangle(myBrush,myRect);
			 if (lev > 1)
			 {
				 drawBranch(newX,newY,ang,len*ratio/100,lev-1);
				 drawBranch(newX,newY,ang+90,len*ratio/100,lev-1);
				 drawBranch(newX,newY,ang+270,len*ratio/100,lev-1);
			 }
		 }
private: void newColor()
		 {
			 
		 }
};