public static void Exploring() { if (world == null) { return; } Console.Title = gameTitle + " Exploring"; bool loopExploring = true; renderer.DrawClear(); menu = new Menu(renderer.Width - 24, 1, 24, "Exploring"); MenuText worldNameDisplay = new MenuText(world.Name); menu.AddMenuItem(worldNameDisplay); MenuText mapNameDisplay = new MenuText(world.CurrentMap.Name); menu.AddMenuItem(mapNameDisplay); MenuText tileNameDisplay = new MenuText(world.CurrentMap.SelectedTile.Name); menu.AddMenuItem(tileNameDisplay); MenuText positionDisplay = new MenuText(""); menu.AddMenuItem(positionDisplay); menu.AddMenuItem(new MenuText("")); menu.AddMenuItem(new MenuText("")); menu.AddMenuItem(new MenuText("")); MenuButton tileEnterExitButton = new MenuButton("Enter Tile") { ButtonEvent = () => { world.EnterExitInteriorExterior(); } }; menu.AddMenuItem(tileEnterExitButton); while (loopExploring) { worldNameDisplay.Text = "World: " + world.Name; mapNameDisplay.Text = "Region: " + world.CurrentMap.Name; tileNameDisplay.Text = "Terrain: " + world.CurrentMap.SelectedTile.Name; if (world.CurrentMap.SelectedTile.Exsterior != null) { tileEnterExitButton.Text = "Explore " + world.CurrentMap.SelectedTile.Exsterior.Name; } if (world.CurrentMap.SelectedTile.Interior != null) { tileEnterExitButton.Text = "Explore " + world.CurrentMap.SelectedTile.Interior.Name; } positionDisplay.Text = "Position: " + world.CurrentMap.CameraX + ":" + -world.CurrentMap.CameraY; world.Render(renderer); menu.Renderer(renderer); renderer.Render(); KeyEvent(true); } }
static void CharacterCreation() { Console.Title = gameTitle + " Character Creation"; bool loopCharacterCreation = true; renderer.DrawBox(0, 0, renderer.Width, renderer.Height, ConsoleColor.Gray); player = new Player(random); //Character Creation: Name & Race #region Character Creation: Name & Race loopCharacterCreation = true; renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = new Menu(((renderer.Width + 1) / 2 - standardMenuWidth / 2), (standardMenuY), standardMenuWidth, "Character Creation: Name & Race"); menu.AddMenuItem(new MenuText("NAME:")); MenuButton nameInput = new MenuButton("NONAME"); nameInput.ButtonEvent = () => { Console.Beep(131, 50); Console.Beep(111, 50); bool loopNameInput = true; while (loopNameInput) { menu.Renderer(renderer); renderer.Render(); ConsoleKey ck = Console.ReadKey().Key; switch (ck) { default: nameInput.Text += ck.ToString(); break; case ConsoleKey.Backspace: if (nameInput.Text.Length > 0) { nameInput.Text = nameInput.Text.Remove(nameInput.Text.Length - 1); } break; case ConsoleKey.Enter: loopNameInput = false; break; case ConsoleKey.Delete: nameInput.Text = ""; break; } } }; menu.AddMenuItem(nameInput); menu.AddBlankMenuItem(); int raceIndex = 0; Actor_Description.DescriptionRace[] races = new Actor_Description.DescriptionRace[] { Actor_Description.DescriptionRace.Human, Actor_Description.DescriptionRace.Elf, Actor_Description.DescriptionRace.Orc }; MenuText raceIndexCounter = new MenuText("Race: " + races[raceIndex]); menu.AddMenuItem(raceIndexCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (raceIndex < races.Length - 1) { Console.Beep(131, 100); raceIndexCounter.Text = "Race: " + races[++raceIndex]; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (raceIndex > 0) { Console.Beep(111, 100); raceIndexCounter.Text = "Race: " + races[--raceIndex]; } } }); menu.AddBlankMenuItem(); int genderIndex = 0; Actor_Description.DescriptionGender[] genders = new Actor_Description.DescriptionGender[] { Actor_Description.DescriptionGender.None, Actor_Description.DescriptionGender.Male, Actor_Description.DescriptionGender.Female, Actor_Description.DescriptionGender.Male_Female }; MenuText genderIndexCounter = new MenuText("Gender: " + genders[genderIndex]); menu.AddMenuItem(genderIndexCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (genderIndex < genders.Length - 1) { Console.Beep(131, 100); genderIndexCounter.Text = "Gender: " + genders[++genderIndex]; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (genderIndex > 0) { Console.Beep(111, 100); genderIndexCounter.Text = "Gender: " + genders[--genderIndex]; } } }); menu.AddBlankMenuItem(); menu.AddMenuItem(new MenuButton("Continue: ") { ButtonEvent = () => { Console.Beep(121, 100); loopCharacterCreation = false; } }); while (loopCharacterCreation) { menu.Renderer(renderer); renderer.Render(); KeyEvent(); } player.Description.InitilizeNRG(races[raceIndex], genders[genderIndex]); #endregion //Character Creation: Skillpoints #region Character Creation: Skillpoints loopCharacterCreation = true; renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = new Menu(((renderer.Width + 1) / 2 - standardMenuWidth / 2), (standardMenuY - 6), standardMenuWidth, "Character Creation: Skillpoints"); //SKILLPOINTS int skillPoints = 42; MenuText skillPointCounter = new MenuText("Skillpoints: " + skillPoints); menu.AddMenuItem(skillPointCounter); menu.AddMenuItem(new MenuText(" Physic:")); //STRENGHT int strenghtPoints = 3; MenuText strenghtPointCounter = new MenuText("Strenght: " + strenghtPoints); menu.AddMenuItem(strenghtPointCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (skillPoints > 0) { Console.Beep(131, 100); skillPointCounter.Text = "Skillpoints: " + --skillPoints; strenghtPointCounter.Text = "Strenght: " + ++strenghtPoints; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (strenghtPoints > 0) { Console.Beep(111, 100); skillPointCounter.Text = "Skillpoints: " + ++skillPoints; strenghtPointCounter.Text = "Strenght: " + --strenghtPoints; } } }); //ENDURANCE int endurancePoints = 3; MenuText endurancePointCounter = new MenuText("Endurance: " + endurancePoints); menu.AddMenuItem(endurancePointCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (skillPoints > 0) { Console.Beep(131, 100); skillPointCounter.Text = "Skillpoints: " + --skillPoints; endurancePointCounter.Text = "Endurance: " + ++endurancePoints; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (endurancePoints > 0) { Console.Beep(111, 100); skillPointCounter.Text = "Skillpoints: " + ++skillPoints; endurancePointCounter.Text = "Endurance: " + --endurancePoints; } } }); //DEXTERITY int dexsterityPoints = 3; MenuText dexterityPointCounter = new MenuText("Dexterity: " + dexsterityPoints); menu.AddMenuItem(dexterityPointCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (skillPoints > 0) { Console.Beep(131, 100); skillPointCounter.Text = "Skillpoints: " + --skillPoints; dexterityPointCounter.Text = "Dexyesterity: " + ++dexsterityPoints; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (dexsterityPoints > 0) { Console.Beep(111, 100); skillPointCounter.Text = "Skillpoints: " + ++skillPoints; dexterityPointCounter.Text = "Dexsterity: " + --dexsterityPoints; } } }); menu.AddMenuItem(new MenuText(" Psyce:")); //WISDOM int wisdomPoints = 3; MenuText wisdomPointCounter = new MenuText("Wisdom: " + wisdomPoints); menu.AddMenuItem(wisdomPointCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (skillPoints > 0) { Console.Beep(131, 100); skillPointCounter.Text = "Skillpoints: " + --skillPoints; wisdomPointCounter.Text = "Wisdom: " + ++wisdomPoints; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (wisdomPoints > 0) { Console.Beep(111, 100); skillPointCounter.Text = "Skillpoints: " + ++skillPoints; wisdomPointCounter.Text = "Wisdom: " + --wisdomPoints; } } }); //INTELLIGENCE int intelligencePoints = 3; MenuText intelligencePointCounter = new MenuText("Intelligence: " + intelligencePoints); menu.AddMenuItem(intelligencePointCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (skillPoints > 0) { Console.Beep(131, 100); skillPointCounter.Text = "Skillpoints: " + --skillPoints; intelligencePointCounter.Text = "Intelligence: " + ++intelligencePoints; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (intelligencePoints > 0) { Console.Beep(111, 100); skillPointCounter.Text = "Skillpoints: " + ++skillPoints; intelligencePointCounter.Text = "Intelligence: " + --intelligencePoints; } } }); //CHARISMA int charismaPoints = 3; MenuText charismaPointCounter = new MenuText("Charisma: " + charismaPoints); menu.AddMenuItem(charismaPointCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (skillPoints > 0) { Console.Beep(131, 100); skillPointCounter.Text = "Skillpoints: " + --skillPoints; charismaPointCounter.Text = "Charisma: " + ++charismaPoints; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (charismaPoints > 0) { Console.Beep(111, 100); skillPointCounter.Text = "Skillpoints: " + ++skillPoints; charismaPointCounter.Text = "Charisma: " + --charismaPoints; } } }); menu.AddBlankMenuItem(); menu.AddMenuItem(new MenuButton("Continue: ") { ButtonEvent = () => { Console.Beep(121, 100); loopCharacterCreation = false; } }); while (loopCharacterCreation) { menu.Renderer(renderer); renderer.Render(); KeyEvent(); } player.InitilizeSkillPoints(skillPoints, strenghtPoints, endurancePoints, dexsterityPoints, wisdomPoints, intelligencePoints, charismaPoints); #endregion //Character Creation: Looks #region Character Creation: Looks loopCharacterCreation = true; renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = new Menu(((renderer.Width + 1) / 2 - standardMenuWidth / 2), (standardMenuY), standardMenuWidth, "Character Creation: Looks"); //HEAD menu.AddMenuItem(new MenuButton("Head") { ButtonEvent = () => { Console.Beep(121, 100); Menu startMenu = menu; renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = new Menu(((renderer.Width + 1) / 2 - standardMenuWidth / 2), (standardMenuY), standardMenuWidth, "Head"); //HAIR int hairIndex = 0; Actor_Description.DescriptionLenght[] hairs = new Actor_Description.DescriptionLenght[] { Actor_Description.DescriptionLenght.None, Actor_Description.DescriptionLenght.Short, Actor_Description.DescriptionLenght.Medium, Actor_Description.DescriptionLenght.Long }; MenuText hairIndexCounter = new MenuText("Hair: " + hairs[hairIndex]); menu.AddMenuItem(hairIndexCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (hairIndex < hairs.Length - 1) { Console.Beep(131, 100); hairIndexCounter.Text = "Hair: " + hairs[++hairIndex]; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (hairIndex > 0) { Console.Beep(111, 100); hairIndexCounter.Text = "Hair: " + hairs[--hairIndex]; } } }); menu.AddBlankMenuItem(); //EYES int eyeIndex = 0; ConsoleColor[] eyes = new ConsoleColor[] { ConsoleColor.Black, ConsoleColor.Blue, ConsoleColor.Cyan, ConsoleColor.Gray, ConsoleColor.Green, ConsoleColor.Magenta, ConsoleColor.Red, ConsoleColor.White, ConsoleColor.Yellow }; MenuText eyeIndexCounter = new MenuText("Eyes: " + eyes[eyeIndex]); menu.AddMenuItem(eyeIndexCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (eyeIndex < eyes.Length - 1) { Console.Beep(131, 100); eyeIndexCounter.Text = "Eyes: " + eyes[++eyeIndex]; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (eyeIndex > 0) { Console.Beep(111, 100); eyeIndexCounter.Text = "Eyes: " + eyes[--eyeIndex]; } } }); menu.AddBlankMenuItem(); //BEARD int beardIndex = 0; Actor_Description.DescriptionLenght[] beard = new Actor_Description.DescriptionLenght[] { Actor_Description.DescriptionLenght.None, Actor_Description.DescriptionLenght.None, Actor_Description.DescriptionLenght.Medium, Actor_Description.DescriptionLenght.Long }; MenuText beardIndexCounter = new MenuText("Beard: " + beard[beardIndex]); menu.AddMenuItem(beardIndexCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (beardIndex < beard.Length - 1) { Console.Beep(131, 100); beardIndexCounter.Text = "Beard: " + beard[++beardIndex]; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (beardIndex > 0) { Console.Beep(111, 100); beardIndexCounter.Text = "Beard: " + beard[--beardIndex]; } } }); menu.AddBlankMenuItem(); menu.AddMenuItem(new MenuButton("Back") { ButtonEvent = () => { Console.Beep(121, 100); renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = startMenu; player.Description.InitilizeDescriptionHead(hairs[hairIndex], eyes[eyeIndex], beard[beardIndex]); } }); } }); menu.AddBlankMenuItem(); //TORSO menu.AddMenuItem(new MenuButton("Torso") { ButtonEvent = () => { Console.Beep(121, 100); Menu startMenu = menu; renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = new Menu(((renderer.Width + 1) / 2 - standardMenuWidth / 2), (standardMenuY), standardMenuWidth, "Torso"); //TORSO int sizeIndex = 0; Actor_Description.DescriptionSize[] sizes = new Actor_Description.DescriptionSize[] { Actor_Description.DescriptionSize.Small, Actor_Description.DescriptionSize.Medium, Actor_Description.DescriptionSize.Large }; MenuText sizeIndexCounter = new MenuText("Size: " + sizes[sizeIndex]); menu.AddMenuItem(sizeIndexCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (sizeIndex < sizes.Length - 1) { Console.Beep(131, 100); sizeIndexCounter.Text = "Size: " + sizes[++sizeIndex]; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (sizeIndex > 0) { Console.Beep(111, 100); sizeIndexCounter.Text = "Size: " + sizes[--sizeIndex]; } } }); menu.AddBlankMenuItem(); menu.AddMenuItem(new MenuButton("Back") { ButtonEvent = () => { Console.Beep(121, 100); renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = startMenu; player.Description.InitilizeDescriptionTorso(sizes[sizeIndex]); } }); } }); menu.AddBlankMenuItem(); //LEGS menu.AddMenuItem(new MenuButton("Legs") { ButtonEvent = () => { Console.Beep(121, 100); Menu startMenu = menu; renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = new Menu(((renderer.Width + 1) / 2 - standardMenuWidth / 2), (standardMenuY), standardMenuWidth, "Legs"); //LEGS int sizeIndex = 0; Actor_Description.DescriptionSize[] sizes = new Actor_Description.DescriptionSize[] { Actor_Description.DescriptionSize.Small, Actor_Description.DescriptionSize.Medium, Actor_Description.DescriptionSize.Large }; MenuText sizeIndexCounter = new MenuText("Size: " + sizes[sizeIndex]); menu.AddMenuItem(sizeIndexCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (sizeIndex < sizes.Length - 1) { Console.Beep(131, 100); sizeIndexCounter.Text = "Size: " + sizes[++sizeIndex]; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (sizeIndex > 0) { Console.Beep(111, 100); sizeIndexCounter.Text = "Size: " + sizes[--sizeIndex]; } } }); menu.AddBlankMenuItem(); menu.AddMenuItem(new MenuButton("Back") { ButtonEvent = () => { Console.Beep(121, 100); renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = startMenu; player.Description.InitilizeDescriptionLegs(sizes[sizeIndex]); } }); } }); menu.AddBlankMenuItem(); //OTHER menu.AddMenuItem(new MenuButton("Other") { ButtonEvent = () => { Console.Beep(121, 100); Menu startMenu = menu; renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = new Menu(((renderer.Width + 1) / 2 - standardMenuWidth / 2), (standardMenuY), standardMenuWidth, "Other"); //HAIRCOLOR int hairIndex = 0; ConsoleColor[] hairs = new ConsoleColor[] { ConsoleColor.White, ConsoleColor.Black, ConsoleColor.Blue, ConsoleColor.DarkBlue, ConsoleColor.Cyan, ConsoleColor.DarkCyan, ConsoleColor.Gray, ConsoleColor.DarkGray, ConsoleColor.Green, ConsoleColor.DarkGreen, ConsoleColor.Magenta, ConsoleColor.DarkMagenta, ConsoleColor.Red, ConsoleColor.DarkRed, ConsoleColor.Yellow, ConsoleColor.DarkYellow }; MenuText hairIndexCounter = new MenuText("Hair Color: " + hairs[hairIndex]); menu.AddMenuItem(hairIndexCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (hairIndex < hairs.Length - 1) { Console.Beep(131, 100); hairIndexCounter.Text = "Hair Color: " + hairs[++hairIndex]; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (hairIndex > 0) { Console.Beep(111, 100); hairIndexCounter.Text = "Hair Color: " + hairs[--hairIndex]; } } }); menu.AddBlankMenuItem(); //SKIN int skinIndex = 0; ConsoleColor[] skin = new ConsoleColor[] { ConsoleColor.White, ConsoleColor.Black, ConsoleColor.Blue, ConsoleColor.DarkBlue, ConsoleColor.Cyan, ConsoleColor.DarkCyan, ConsoleColor.Gray, ConsoleColor.DarkGray, ConsoleColor.Green, ConsoleColor.DarkGreen, ConsoleColor.Magenta, ConsoleColor.DarkMagenta, ConsoleColor.Red, ConsoleColor.DarkRed, ConsoleColor.Yellow, ConsoleColor.DarkYellow }; MenuText skinIndexCounter = new MenuText("Skin: " + skin[skinIndex]); menu.AddMenuItem(skinIndexCounter); menu.AddMenuItem(new MenuButton(" +") { ButtonEvent = () => { if (skinIndex < skin.Length - 1) { Console.Beep(131, 100); skinIndexCounter.Text = "Skin: " + skin[++skinIndex]; } } }); menu.AddMenuItem(new MenuButton(" -") { ButtonEvent = () => { if (skinIndex > 0) { Console.Beep(111, 100); skinIndexCounter.Text = "Skin: " + skin[--skinIndex]; } } }); menu.AddBlankMenuItem(); menu.AddMenuItem(new MenuButton("Back") { ButtonEvent = () => { Console.Beep(121, 100); renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); menu = startMenu; player.Description.InitilizeDescriptionOther(hairs[hairIndex], skin[skinIndex]); } }); } }); menu.AddBlankMenuItem(); menu.AddMenuItem(new MenuButton("Continue: ") { ButtonEvent = () => { Console.Beep(121, 100); loopCharacterCreation = false; } }); while (loopCharacterCreation) { menu.Renderer(renderer); renderer.Render(); KeyEvent(); } #endregion //RENDER renderer.DrawBox(1, 1, renderer.Width - 1, renderer.Height - 1, ConsoleColor.Black); player.Description.Render(renderer, (renderer.Width + 1) / 2 - 32 / 2, 2); renderer.Render(); Console.ReadKey(); }