summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--DiscoBot/DiscoBot.csproj7
-rw-r--r--DiscoBot/Form1.Designer.cs38
-rw-r--r--DiscoBot/Form1.cs426
-rw-r--r--DiscoBot/MyBot.cs4
-rw-r--r--DiscoBot/imaginary.cs33
5 files changed, 2 insertions, 506 deletions
diff --git a/DiscoBot/DiscoBot.csproj b/DiscoBot/DiscoBot.csproj
index 89b72f2..7029d1d 100644
--- a/DiscoBot/DiscoBot.csproj
+++ b/DiscoBot/DiscoBot.csproj
@@ -68,13 +68,6 @@
</Reference>
</ItemGroup>
<ItemGroup>
- <Compile Include="Form1.cs">
- <SubType>Form</SubType>
- </Compile>
- <Compile Include="Form1.Designer.cs">
- <DependentUpon>Form1.cs</DependentUpon>
- </Compile>
- <Compile Include="imaginary.cs" />
<Compile Include="MyBot.cs" />
<Compile Include="Program.cs" />
<Compile Include="AppControll.cs" />
diff --git a/DiscoBot/Form1.Designer.cs b/DiscoBot/Form1.Designer.cs
deleted file mode 100644
index 0f56817..0000000
--- a/DiscoBot/Form1.Designer.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-namespace DiscoBot
-{
- partial class Form1
- {
- /// <summary>
- /// Required designer variable.
- /// </summary>
- private System.ComponentModel.IContainer components = null;
-
- /// <summary>
- /// Clean up any resources being used.
- /// </summary>
- /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- /// <summary>
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- /// </summary>
- private void InitializeComponent()
- {
- this.components = new System.ComponentModel.Container();
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Text = "Form1";
- }
-
- #endregion
- }
-} \ No newline at end of file
diff --git a/DiscoBot/Form1.cs b/DiscoBot/Form1.cs
deleted file mode 100644
index 42b7b44..0000000
--- a/DiscoBot/Form1.cs
+++ /dev/null
@@ -1,426 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.Threading;
-using System.Windows.Forms;
-
-namespace DiscoBot
-{
-
- public partial class Form1 : Form
- {
- PictureBox Box = new PictureBox();
-
- int farbtiefe = 255;
- Bitmap Canvas;
- int[,] plot;
- List<Bitmap> maps;
- bool working = false;
-
- int zoomque = 1;
- double zoomfactor = 10;
- double minx = -2, maxx = 1, miny = -1, maxy = 1;
-
-
- public Form1()
- {
- InitializeComponent();
- //this.Show();
- Box.Width = 500;
- Box.Height = 500;
-
- doStep();
-
- }
- public int Iterate(imaginary z)
- {
-
- imaginary c = new imaginary(z);
- z.re = 0; z.im = 0;
- int r=1;
- double temp;
- for (r = 0; r < farbtiefe; r++)//r=(int)Math.Pow(2, r))
- {
- z.step(c);
- temp = z.re * z.re + z.im * z.im;
- Console.WriteLine(r);
- if (temp > 4)
- break;
-
-
- }
-
-
- return r;
-
- }
-
- private Color colorMap(int i)
- {
- /*/return Color.FromArgb(1, (int)2 * 2, (int)4 * 3);
- //i /= farbtiefe;
- int r = (int)(farbtiefe * (i / (double)max));
- //i /= farbtiefe;
- int b = (int)(farbtiefe * (i / (double)max));
- //i /= farbtiefe;
- int g = (int)(farbtiefe * (i / (double)max));
- */
- //i = 255;
- if (i != 0)
- { }
- var temp = new HSV();
- temp.h = i;
- temp.s = 1;
- temp.v = 1;
-
- return ColorFromHSL(temp);
- }
-
-
-
-
- public void doStep()
- {
- if (working == true)
- return;
- working = true;
- Canvas = new Bitmap(Box.Width, Box.Height);
- plot = new int[Box.Width, Box.Height];
- int processors = Environment.ProcessorCount;//get number of processors
- int perCore = (int)Box.Width / processors;//divide the cluster in equal parts
- int left = Box.Width - perCore * processors;//calc remainder
- List<Thread> threads = new List<Thread>();
- //maps = new List<Bitmap>();
-
-
- for (int i = 0; i < processors; i++)
- {
- int start = i * perCore;
-
- int stop = start + perCore;
- if (i == processors - 1)
- stop += left - 1;
- int s = i;
- //maps.Add(new Bitmap(start-stop, Box.Height));
- threads.Add(new Thread(delegate () { paint(start, stop, s); }));
- threads.Last().Priority = ThreadPriority.BelowNormal;
- threads.Last().Start();
- }
-
- while (threads.Exists(x => x.IsAlive))
- {
- //Thread.Sleep(10);
- Application.DoEvents();
- }
-
- int max = 0;
- foreach (int i in plot)
- max = i > max ? i : max;
-
- int min = 0;
- foreach (int i in plot)
- min = i < min ? i : min;
-
- for (int x = 0; x < Box.Width; x++)
- for (int y = 0; y < Box.Height; y++)
- Canvas.SetPixel(x, y, colorMap(plot[x, y]));
-
- //Box.Image = Canvas;//CombineBitmap(maps.ToArray());
- //Box.Refresh();
- Canvas.Save(@"C:\temp\temp.png");
- working = false;
- }
-
- private void paint(int start, int stop, int thread)
- {
- //int[,] c = new int[stop - start, Box.Height];
- for (int x = start; x < stop; x++)
- for (int y = 0; y < Box.Height; y++)
- {
- plot[x, y] = Iterate(map(x, y));
- Console.WriteLine(x);
- }
-
- /*int min = c.
- for (int x = start; x < stop; x++)
- for (int y = 0; y < Box.Height; y++)
- maps[thread].SetPixel(x, y, colorMap(c[x-start,y],min,max));
- */
-
- }
-
-
- public imaginary map(int x, int y)
- {
- double xl = Math.Abs(minx - maxx) * x / Box.Width + minx;
- double yl = Math.Abs(miny - maxy) * y / Box.Height + miny;
-
-
- return new imaginary(xl, yl);
- }
-
- private void zoom(object sender, MouseEventArgs e)
- {
- if (working == true)
- {
- if (e.Delta > 0)
- zoomque++;
- else
- zoomque--;
- return;
- }
- double zoom = Math.Abs((e.Delta / 120) * zoomfactor) * zoomque;
-
- double xl = Math.Abs(minx - maxx) * e.X / Box.Width + minx;
- double yl = Math.Abs(miny - maxy) * e.Y / Box.Height + miny;
-
- if (e.Delta > 0)
- {
- minx += Math.Abs(xl - minx) / zoom;
- miny += Math.Abs(yl - miny) / zoom;
- maxx -= Math.Abs(xl - maxx) / zoom;
- maxy -= Math.Abs(yl - maxy) / zoom;
- }
- else
- {
- minx -= Math.Abs(xl - maxx) / zoom;
- miny -= Math.Abs(yl - maxy) / zoom;
- maxx += Math.Abs(xl - minx) / zoom;
- maxy += Math.Abs(yl - miny) / zoom;
- }
- doStep();
- zoomque = 1;
-
- }
-
-
-
- private void Box_Click(object sender, EventArgs e)
- {
- doStep();
-
-
- }
-
- private void Form1_ResizeEnd(object sender, EventArgs e)
- {
- doStep();
- }
-
- public static System.Drawing.Bitmap CombineBitmap(Bitmap[] files)
- {
- //read all images into memory
- List<System.Drawing.Bitmap> images = new List<System.Drawing.Bitmap>();
- System.Drawing.Bitmap finalImage = null;
-
- try
- {
- int width = 0;
- int height = 0;
-
- foreach (Bitmap image in files)
- {
- //create a Bitmap from the file and add it to the list
- System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(image);
-
- //update the size of the final bitmap
- width += bitmap.Width;
- height = bitmap.Height > height ? bitmap.Height : height;
-
- images.Add(bitmap);
- }
-
- //create a bitmap to hold the combined image
- finalImage = new System.Drawing.Bitmap(width, height);
-
- //get a graphics object from the image so we can draw on it
- using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(finalImage))
- {
- //set background color
- g.Clear(System.Drawing.Color.Black);
-
- //go through each image and draw it on the final image
- int offset = 0;
- foreach (System.Drawing.Bitmap image in images)
- {
- g.DrawImage(image,
- new System.Drawing.Rectangle(offset, 0, image.Width, image.Height));
- offset += (int)image.Width / 2;
- }
- }
-
- return finalImage;
- }
- catch (Exception)
- {
- if (finalImage != null)
- finalImage.Dispose();
- //throw ex;
- throw;
- }
- finally
- {
- //clean up memory
- foreach (System.Drawing.Bitmap image in images)
- {
- image.Dispose();
- }
- }
- }
-
- void HsvToRgb(double h, double S, double V, out int r, out int g, out int b)
- {
- // ######################################################################
- // T. Nathan Mundhenk
- // mundhenk@usc.edu
- // C/C++ Macro HSV to RGB
-
- double H = h;
- while (H < 0) { H += 360; };
- while (H >= 360) { H -= 360; };
- double R, G, B;
- if (V <= 0)
- { R = G = B = 0; }
- else if (S <= 0)
- {
- R = G = B = V;
- }
- else
- {
- double hf = H / 60.0;
- int i = (int)Math.Floor(hf);
- double f = hf - i;
- double pv = V * (1 - S);
- double qv = V * (1 - S * f);
- double tv = V * (1 - S * (1 - f));
- switch (i)
- {
-
- // Red is the dominant color
-
- case 0:
- R = V;
- G = tv;
- B = pv;
- break;
-
- // Green is the dominant color
-
- case 1:
- R = qv;
- G = V;
- B = pv;
- break;
- case 2:
- R = pv;
- G = V;
- B = tv;
- break;
-
- // Blue is the dominant color
-
- case 3:
- R = pv;
- G = qv;
- B = V;
- break;
- case 4:
- R = tv;
- G = pv;
- B = V;
- break;
-
- // Red is the dominant color
-
- case 5:
- R = V;
- G = pv;
- B = qv;
- break;
-
- // Just in case we overshoot on our math by a little, we put these here. Since its a switch it won't slow us down at all to put these here.
-
- case 6:
- R = V;
- G = tv;
- B = pv;
- break;
- case -1:
- R = V;
- G = pv;
- B = qv;
- break;
-
- // The color is not defined, we should throw an error.
-
- default:
- //LFATAL("i Value error in Pixel conversion, Value is %d", i);
- R = G = B = V; // Just pretend its black/white
- break;
- }
- }
- r = Clamp((int)(R * 255.0));
- g = Clamp((int)(G * 255.0));
- b = Clamp((int)(B * 255.0));
- }
-
- /// <summary>
- /// Clamp a value to 0-255
- /// </summary>
- int Clamp(int i)
- {
- if (i < 0) return 0;
- if (i > 255) return 255;
- return i;
- }
-
-
- Color SetHue(Color oldColor)
- {
- var temp = new HSV();
- temp.h = oldColor.GetHue();
- temp.s = oldColor.GetSaturation();
- return ColorFromHSL(temp);
- }
- public struct HSV { public float h; public float s; public float v; }
-
- // the Color Converter
- static public Color ColorFromHSL(HSV hsl)
- {
- if (hsl.s == 0)
- { int L = (int)hsl.v; return Color.FromArgb(255, L, L, L); }
-
- double min, max, h;
- h = hsl.h / 360d;
-
- max = hsl.v < 0.5d ? hsl.v * (1 + hsl.s) : (hsl.v + hsl.s) - (hsl.v * hsl.s);
- min = (hsl.v * 2d) - max;
-
-
- Color c = Color.FromArgb(255, (int)(255 * RGBChannelFromHue(min, max, h + 1 / 3d)),
- (int)(255 * RGBChannelFromHue(min, max, h)),
- (int)(255 * RGBChannelFromHue(min, max, h - 1 / 3d)));
-
-
-
- return c;
- }
-
- static double RGBChannelFromHue(double m1, double m2, double h)
- {
- h = (h + 1d) % 1d;
- if (h < 0) h += 1;
- if (h * 6 < 1) return m1 + (m2 - m1) * 6 * h;
- else if (h * 2 < 1) return m2;
- else if (h * 3 < 2) return m1 + (m2 - m1) * 6 * (2d / 3d - h);
- else return m1;
-
- }
- }
-
-}
diff --git a/DiscoBot/MyBot.cs b/DiscoBot/MyBot.cs
index 12f5e56..f9bd427 100644
--- a/DiscoBot/MyBot.cs
+++ b/DiscoBot/MyBot.cs
@@ -35,8 +35,8 @@ namespace DiscoBot
});
commands = discord.GetService<CommandService>();
- Mandelbrot();
- Server();
+ //Mandelbrot();
+ //Server();
DSA();
discord.ExecuteAndWait(async () =>
diff --git a/DiscoBot/imaginary.cs b/DiscoBot/imaginary.cs
deleted file mode 100644
index 9855dc2..0000000
--- a/DiscoBot/imaginary.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace DiscoBot
-{
- public class imaginary
- {
- public double re;
- public double im;
-
- public imaginary(imaginary i)
- {
- this.re = i.re;
- this.im = i.im;
- }
- public imaginary(double r, double i)
- {
- this.re = r;
- this.im = i;
- }
-
-
- public void step(imaginary c)
- {
- double temp = re;
- re = (re * re) - (im * im) + c.re;
- im = (2.0 * temp * im + c.im);
- }
- }
-}