//_square = new SquareValues(0.1, 0.3, -0.1, -0.076, 0.0, -0.59, 0.0, 0.0); ; private void DoInitializeHexagon() { Hexgn.x = Hexgn.xnew = 0.1d; Hexgn.y = Hexgn.ynew = 0.3d; Hexgn.alpha = -0.1d; Hexgn.beta = -0.076d; Hexgn.gamma = 0d; Hexgn.lambda = -0.59d; Hexgn.ma = 0d; Hexgn.omega = 0d; Hexgn.shift = 0; Hexgn.delta = 0.1d; Hexgn.SetVectors(); Hexgn.SetVectorThree(); }
private Variables DoRandomiseInitializeHexagon() { DoInitializeHexagon(); if (randomize.NextDouble() < 0.5) { Hexgn.x = Hexgn.xnew = Get_Random_In_Range(); } if (randomize.NextDouble() < 0.5) { Hexgn.y = Hexgn.ynew = Get_Random_In_Range(); } //if (randomize.NextDouble() < 0.5) Hexgn.delta = Get_Random_In_Range(2.0); //if (randomize.NextDouble() < 0.5) Hexgn.beta = Get_Random_In_Range(2.0); //if (randomize.NextDouble() < 0.5) Hexgn.gamma = Get_Random_In_Range(2.0); //if (randomize.NextDouble() < 0.5) Hexgn.ma = Get_Random_In_Range(2.0); //if (randomize.NextDouble() < 0.5) Hexgn.omega = Get_Random_In_Range(2.0); //if (randomize.NextDouble() < 0.5) Hexgn.shift = Get_Random_In_Range(2.0); // if (randomize.NextDouble() < 0.5) Hexgn.SetVectors( (randomize.NextDouble() < 0.5) ? Get_Random_In_Range(0, 1) : 1, (randomize.NextDouble() < 0.5) ? Get_Random_In_Range(0, 1) : 0, (randomize.NextDouble() < 0.5) ? Get_Random_In_Range(0, 1) : 0.5, (randomize.NextDouble() < 0.5) ? Get_Random_In_Range(0, 1) : 1, (randomize.NextDouble() < 0.5) ? Get_Random_In_Range(0, 1) : 0); Hexgn.SetVectorThree(); return(Hexgn); }
private void DoMenuKeys(ref Variables var) { bool resetAll = false; bool SizeChanged = false; if (newKeyboard.IsKeyUp(Keys.Q) && oldKeyboard.IsKeyDown(Keys.Q)) { quiltType++; if ((int)quiltType == 3) quiltType++; if ((int)quiltType == 5) quiltType = QuiltType.Square; resetAll = true; } if (newKeyboard.IsKeyUp(Keys.F) && oldKeyboard.IsKeyDown(Keys.F)) RandomiseTillGoodValues = true; if (newKeyboard.IsKeyUp(Keys.C) && oldKeyboard.IsKeyDown(Keys.C)) { SetColors(true); } if (newKeyboard.IsKeyUp(Keys.N) && oldKeyboard.IsKeyDown(Keys.N)) { SetColors(false); } if (newKeyboard.IsKeyUp(Keys.V) && oldKeyboard.IsKeyDown(Keys.V)) { ReverseColors(); } #region Reset if ((newKeyboard.IsKeyUp(Keys.R) && oldKeyboard.IsKeyDown(Keys.R)) || RandomiseTillGoodValues || resetAll) { //iterates = 0; //MaxHitCount = 0; if (newKeyboard.IsKeyDown(Keys.LeftShift) || newKeyboard.IsKeyDown(Keys.RightShift) || resetAll) { switch (quiltType) { case QuiltType.Square: DoInitializeQuilt(); break; case QuiltType.Hexagon: DoInitializeHexagon(); break; case QuiltType.Icon: DoInitializeIcon1(); break; case QuiltType.Icon3: DoInitializeIcon3(); break; default: DoExit = true; return; } } else { var.InitialiseCoords(quiltType); if (quiltType == QuiltType.Hexagon) Hexgn.SetVectorThree(); } QuickReset(); } #endregion double add = 0.0001d; if (newKeyboard.IsKeyDown(Keys.LeftShift) || newKeyboard.IsKeyDown(Keys.RightShift)) add = -0.0001d; if (newKeyboard.IsKeyDown(Keys.LeftControl) || newKeyboard.IsKeyDown(Keys.RightControl)) add *= 10; if (newKeyboard.IsKeyDown(Keys.LeftAlt) || newKeyboard.IsKeyDown(Keys.RightAlt)) add *= 100; if (newKeyboard.IsKeyUp(Keys.F) && oldKeyboard.IsKeyDown(Keys.F)) var.shift = 0.5d - var.shift; if (newKeyboard.IsKeyDown(Keys.X)) var.x += add; if (newKeyboard.IsKeyDown(Keys.Y)) var.y += add; if (newKeyboard.IsKeyDown(Keys.Z)) fieldNscale += add; if (newKeyboard.IsKeyDown(Keys.D)) var.delta += add; if (newKeyboard.IsKeyDown(Keys.L)) var.lambda += add; if (newKeyboard.IsKeyDown(Keys.A)) var.alpha += add; if (newKeyboard.IsKeyDown(Keys.B)) var.beta += add; if (newKeyboard.IsKeyDown(Keys.G)) var.gamma += add; if (newKeyboard.IsKeyDown(Keys.O)) var.omega += add; if (newKeyboard.IsKeyDown(Keys.M)) var.ma += add; if (newKeyboard.IsKeyUp(Keys.T) && oldKeyboard.IsKeyDown(Keys.T)) isThreaded = !isThreaded; #region Randomize Values if ((newKeyboard.IsKeyUp(Keys.S) && oldKeyboard.IsKeyDown(Keys.S)) || RandomiseTillGoodValues) { switch (quiltType) { case QuiltType.Square: var = DoRandomiseInitializeQuilt(); break; case QuiltType.Hexagon: var = DoRandomiseInitializeHexagon(); break; case QuiltType.Icon: var = DoRandomInitializeIcon1(); break; case QuiltType.Icon3: var = DoRandomizeIcon3(); break; default: break; } } #endregion #region Begin Iterations if ((newKeyboard.IsKeyUp(Keys.I) && oldKeyboard.IsKeyDown(Keys.I)) || RandomiseTillGoodValues) { programState = ProgramState.iterate; isPaused = false; maxitsPerFrame = _itersPerFrame; } #endregion #region Width if (newKeyboard.IsKeyUp(Keys.W) && oldKeyboard.IsKeyDown(Keys.W)) { if (newKeyboard.IsKeyDown(Keys.LeftShift) || newKeyboard.IsKeyDown(Keys.RightShift)) { if (Width > 32) { NewWidth /= 2; SizeChanged = true; } } else { if (Width < 1024) { NewWidth *= 2; SizeChanged = true; } } } #endregion #region Height if (newKeyboard.IsKeyUp(Keys.H) && oldKeyboard.IsKeyDown(Keys.H)) { if (newKeyboard.IsKeyDown(Keys.LeftShift) || newKeyboard.IsKeyDown(Keys.RightShift)) { if (Height > 32) { NewHeight /= 2; SizeChanged = true; } } else { if (Height < 1024) { NewHeight *= 2; SizeChanged = true; } } } if (SizeChanged) { while (iterateGenerateFrame) { } Width = NewWidth; Height = NewHeight; freshFrame[0] = new Texture2D(GraphicsDevice, Width, Height); freshFrame[1] = new Texture2D(GraphicsDevice, Width, Height); //GenerateTexture.Update_NewFieldSet(field); } #endregion #region Goto Sampling if (newKeyboard.IsKeyDown(Keys.E)) { RandomiseTillGoodValues = false; programState = ProgramState.sampling; sampleState = SampleState.findMax; isPaused = false; _isPauseReleased = true; } #endregion }