#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Mar 2013
    Posts
    7
    Rep Power
    0

    Challenge for you lot with nothing to do. I'm stuck.


    Okay so i'm at work and haven't got much to do today so i found an online challenge. The challenge was using a console or your preferred choice, create a two- dimensional boolean array, which can either be true-Land and false-Water. Now you have to create a life like randomly generated world, with continents and what not or whatever you feel like. Okay so this is what i got so far:

    Code:
    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace RandomLand { public class Land { int continents; public struct Piece { public int ContinentID; public bool Type; public int expansionNumber; } Piece[,] generatedLand = new Piece[50, 50]; public Piece[,] GenerateLand() { Random random = new Random(); continents = random.Next(2, 6); for (int i = 0; i < continents; i++) { // GenerateContinent int X = random.Next(0, 50); int Y = random.Next(0, 50); generatedLand[X, Y].Type = true; generatedLand[X, Y].ContinentID = i; generatedLand[X, Y].expansionNumber = 0; } generatedLand = ExpandContinents(continents); return generatedLand; } public Piece[,] ExpandContinents(int continents) { for (int continent = 0; continent < continents; continent++) { Random random = new Random(); int numberOfExpantions = 3; for (int Expanding = 0; Expanding < numberOfExpantions; Expanding++) { for (int y = 0; y < 50; y++) { for (int x = 0; x < 50; x++) { if (generatedLand[x, y].Type == true && generatedLand[x, y].expansionNumber < numberOfExpantions && generatedLand[x, y].ContinentID == continent) // BeginExpansion { if (!(x + 1 >= 50)) { generatedLand[x + 1, y].ContinentID = continent; generatedLand[x + 1, y].Type = true; generatedLand[x + 1, y].expansionNumber++; } if (!(x - 1 < 0)) { generatedLand[x - 1, y].ContinentID = continent; generatedLand[x - 1, y].Type = true; generatedLand[x - 1, y].expansionNumber++; } if (!(y + 1 >= 50)) { generatedLand[x, y + 1].ContinentID = continent; generatedLand[x, y + 1].Type = true; generatedLand[x, y + 1].expansionNumber++; } if (!(y - 1 < 0)) { generatedLand[x, y - 1].ContinentID = continent; generatedLand[x, y - 1].Type = true; generatedLand[x, y - 1].expansionNumber++; } generatedLand[x, y].expansionNumber++; break; } } } } } return generatedLand; } } }
    Now, its all in c-sharp, and i randomly placed center points for continents, then i just wanted to expand these center points without randomly generating first but thats when i got stuck.
  2. #2
  3. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Mar 2013
    Posts
    7
    Rep Power
    0
    Sorry messed up with the code tag, look at other topic

    Comments on this post

    • jakotheshadows disagrees : So edit your original post then.

IMN logo majestic logo threadwatch logo seochat tools logo