//protected override Plate preparePlate(string plate)
        //{
        //    Plate plateIn = null;
        //    ICeramicsFactory ceramicsFactory = new FactoryTaociChina();

        //    return plateIn;
        //}

        protected override Plate preparePlate(string plate)
        {
            Plate            plateIn         = null;
            ICeramicsFactory ceramicsFactory = new FactoryTaociChina();

            if (plate == "SmallPlate")
            {
                plateIn = new PlateDecorator(new SmallPLate(ceramicsFactory));
                Console.WriteLine(plateIn + "Zakład:" + this.GetType().Name);
            }
            else if (plate == "MediumPlate")
            {
                plateIn = new PlateDecorator(new MediumPlate(ceramicsFactory));
                Console.WriteLine(plateIn + "Zakład:" + this.GetType().Name);
            }
            else if (plate == "BigPlate")
            {
                plateIn = new PlateDecorator(new BigPlate(ceramicsFactory));
                Console.WriteLine(plateIn + "Zakład:" + this.GetType().Name);
            }
            else if (plate == "LuxuryPlate")
            {
                plateIn = new PlateDecorator(new LuxuryPlate(ceramicsFactory));
                Console.WriteLine(plateIn + "Zakład:" + this.GetType().Name);
            }
            else if (plate == "Vase")
            {
                plateIn = new VaseDecorator(new VaseAdapter(new Vase(ceramicsFactory)));
                Console.WriteLine(plateIn + "Zakład:" + this.GetType().Name);
            }

            return(plateIn);
        }
Exemple #2
0
 static void Main(string[] args)
 {
     Console.WriteLine("Starting ConsolePlate!");
     var plate = new Plate();
     plate.Start(args, Assembly.GetExecutingAssembly());
     Console.ReadKey();
 }
Exemple #3
0
        /// <summary>
        /// Implement this method as an external command for Revit.
        /// </summary>
        /// <param name="commandData">An object that is passed to the external application
        /// which contains data related to the command,
        /// such as the application object and active view.</param>
        /// <param name="message">A message that can be set by the external application
        /// which will be displayed if a failure or cancellation is returned by
        /// the external command.</param>
        /// <param name="elements">A set of elements to which the external application
        /// can add elements that are to be highlighted in case of failure or cancellation.</param>
        /// <returns>Return the status of the external command.
        /// A result of Succeeded means that the API external method functioned as expected.
        /// Cancelled can be used to signify that the user cancelled the external operation
        /// at some point. Failure should be returned if the application is unable to proceed with
        /// the operation.</returns>
        public virtual Result Execute(ExternalCommandData commandData
                                      , ref string message, ElementSet elements)
        {
            //Get the document from external command data.
            UIDocument activeDoc = commandData.Application.ActiveUIDocument;

            Autodesk.Revit.DB.Document doc = activeDoc.Document;

            if (null == doc)
            {
                return(Result.Failed);
            }

            try
            {
                // Start detailed steel modeling transaction
                using (FabricationTransaction trans = new FabricationTransaction(doc, false, "Create structural plate"))
                {
                    // Creating the plate, using AdvanceSteel's Plate class
                    // for more details, please consult http://www.autodesk.com/adv-steel-api-walkthroughs-2019-enu
                    Point3d ptOrig = new Point3d(20, 30, 40);
                    Plate   plate  = new Plate(new Autodesk.AdvanceSteel.Geometry.Plane(ptOrig, new Vector3d(0, 0, 1)), ptOrig, 1000, 500);
                    plate.Thickness = 10;
                    ObjectId idPlate = plate.WriteToDb();

                    trans.Commit();
                }
            }
            catch (Autodesk.Revit.Exceptions.OperationCanceledException)
            {
                return(Result.Cancelled);
            }
            return(Result.Succeeded);
        }
Exemple #4
0
        public async Task <ActionResult <Plate> > AddPlate([FromBody] Plate plate)
        {
            _context.Plates.Add(plate);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetPlate), new { id = plate.Id }, plate));
        }
        public ActionResult Create(PlateCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                foreach (var file in model.files)
                {
                    var dateTaken = Utils.GetDateTaken(file.InputStream);

                    var plateId  = Guid.NewGuid();
                    var fileName = fileUploadService.UploadFile(file, plateId.ToString() + Path.GetExtension(file.FileName));



                    var plate = new Plate()
                    {
                        HasPicture = model.files.Count() > 0,
                        Extension  = Path.GetExtension(fileName),
                        Id         = plateId,
                        TimeEaten  = dateTaken,
                        Title      = model.Title,
                        UserId     = Guid.Parse(User.Identity.GetUserId())
                    };
                    db.Plates.Add(plate);
                    db.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
Exemple #6
0
        public Plate CreatePlate(Plate plate)
        {
            _context.Plates.Add(plate);
            _context.SaveChanges();

            return(plate);
        }
Exemple #7
0
        private void UpdatePlate(Plate plate, Rect rect, double angle, string text, int confidence)
        {
            _lastPlateTime = DateTime.Now;

            plate.Angle  = angle;
            plate.Left   = (int)rect.Left;
            plate.Top    = (int)rect.Top;
            plate.Width  = (int)rect.Width;
            plate.Height = (int)rect.Height;
            if (plate.Confidence > 0 && plate.Confidence < confidence && plate.Text != text)
            {
                ShowOsdMessage("Plate updated: " + text + " with " + confidence / 10 + "% confidence");
                plate.Confidence = confidence;
                plate.Text       = text;
            }

            if (plate.Confidence == 0)
            {
                plate.Confidence = confidence;
            }

            SelectedPlate = plate;

            PlateLeft   = rect.Left - 5;
            PlateTop    = rect.Top - 5;
            PlateWidth  = rect.Width + 10;
            PlateHeight = rect.Height + 10;
            PlateAngle  = angle;

            ShowPlate = true;
        }
    public void AddFoodToPlate(Transform foodTransform, Transform plateTransform)
    {
        Transform transform = foodTransform;
        Plate     component = plateTransform.Find("triggerPlate").GetComponent <Plate>();

        component.foodOnPlate.Add(transform.GetComponent <Food>());
    }
Exemple #9
0
 // Interact with Plate
 void OnPlateInteracted(Plate plate)
 {
     if (plate.player != player)
     {
         StartCoroutine(UpdateMessageBox("Wrong Plate Interacted"));
         return;
     }
     if (ingredientPlacedInPlate && ingredientsPicked.Count == 2)
     {
         StartCoroutine(UpdateMessageBox("Limit Exceeded.Cannot Pick"));
         return;
     }
     if (ingredientsDeliveryPicked.Count > 0)
     {
         StartCoroutine(UpdateMessageBox("Deliver and Pick"));
         return;
     }
     else
     {
         if (ingredientPlacedInPlate)
         {
             ingredientsPicked.Add(ingredientPlacedInPlate);
             ingredientPlacedInPlate = null;
         }
         else if (ingredientsPicked.Count > 0)
         {
             ingredientPlacedInPlate = ingredientsPicked[ingredientsPicked.Count - 1];
             ingredientsPicked.RemoveAt(ingredientsPicked.Count - 1);
         }
         UpdatePlateText();
         UpdateHUDText();
     }
 }
        public IEnumerable <Plate> PostPlate(Boundary boundary)
        {
            List <Plate> list = new List <Plate>();

            IEnumerable <OrganizationalUnit> orgUnits  = db.OrganizationalUnits;
            IEnumerable <Employee>           employees = db.Employees.Include(x => x.OrganizationalUnit);

            foreach (OrganizationalUnit unit in orgUnits)
            {
                Plate p = new Plate();
                p.OrganizationalUnit = unit;
                int     counter = 0;
                decimal total   = 0;

                foreach (Employee e in employees)
                {
                    if (e.OrganizationalUnitId == unit.Id)
                    {
                        counter++;
                        total += e.Sallary;
                    }

                    if (counter != 0)
                    {
                        p.AvgSallary = total / counter;
                    }
                    else
                    {
                        p.AvgSallary = total;
                    }
                }
                list.Add(p);
            }
            return(list.Where(x => x.AvgSallary > boundary.granica).OrderBy(x => x.AvgSallary));
        }
Exemple #11
0
        private static async Task TestLed01()
        {
            using var plate = new Plate();
            var ports = DigitalPort.D0.GetDigitalPortRange(3);
            var leds  = ports
                        .Select(p => plate.GetOrCreateDigitalDevice(p, (dp) => new Led(dp)))
                        .ToArray();

            foreach (var led in leds)
            {
                led.Off();
            }

            var pos = 0;

            for (var i = 0; i < (leds.Length * 10); i++)
            {
                leds[pos].Toggle();
                pos = (pos + 1) % 3;
                PrintPlate(plate);
                await Task.Delay(300);
            }

            foreach (var led in leds)
            {
                led.Off();
            }
        }
        public void SelectPhoto()
        {
            OpenFileDialog fileForm = new OpenFileDialog();

            if (fileForm.ShowDialog() == true)
            {
                var file  = new FileAndPathInfo();
                var plate = new Plate();

                //wczytanie pliku
                file.FileBytes = File.ReadAllBytes(fileForm.FileName);
                file.FilePath  = System.IO.Path.GetDirectoryName(fileForm.FileName);
                PhotoPath      = file.FileName = fileForm.FileName;
                //  file.ImageArray = file.FileBytes.ToArray();

                //rozpoznanie
                var path = Environment.CurrentDirectory;

                var plateRecogn = new PlatesRecognizionHelper(string.Format(@"{0}{1}", Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, @"..\..\")), @"tessdata\"));


                //plateRecogn.DetectLicensePlate(arr, null, null, null);

                // IInputArray arr = new IInputArray();

                Mat m1 = new Mat(file.FileName, LoadImageType.Unchanged);
                var j  = plateRecogn.DetectLicensePlate(m1, plate.LicensePlateImagesList, plate.FilteredLicensePlateImagesList, plate.DetectedLicensePlateRegionList);
            }
        }
Exemple #13
0
    public void PlayerGoDown(int n)
    {
        //print("down "+n.ToString());
        //Color mode

        /*for (int times = 0; times < n; times++)
         * {
         *      for (int j = 0; j < Size; j++)
         *      {
         *              for (int i = Size-1; i >0; i--)
         *              {
         *                      buffer[i * Size + j] = buffer[(i-1) * Size + j];
         *              }
         *              buffer[ j] = Random.Range(0, 6);
         *      }
         *
         * }*/
        //flush();

        //Transform mode

        for (int times = 0; times < n; times++)
        {
            for (int j = 0; j < Size; j++)
            {
                Plate tmp = plates[(Size - 1) * Size + j];
                for (int i = Size - 1; i > 0; i--)
                {
                    plates[i * Size + j] = plates[(i - 1) * Size + j];
                }
                plates[j] = tmp;
                tmp.AssignColor(Random.Range(0, 6));
            }
        }
    }
Exemple #14
0
        // PUT api/Plate/5
        public IHttpActionResult PutPlate(Guid id, Plate plate)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != plate.Id)
            {
                return(BadRequest());
            }

            db.Entry(plate).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PlateExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemple #15
0
        public async Task <IHttpActionResult> Upload()
        {
            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new Exception();
            }

            var provider = new MultipartMemoryStreamProvider();
            await Request.Content.ReadAsMultipartAsync(provider);

            foreach (var file in provider.Contents)
            {
                var filename = file.Headers.ContentDisposition.FileName.Trim('\"');
                var buffer   = await file.ReadAsByteArrayAsync();

                var plateId   = Guid.NewGuid();
                var fileName  = fileUploadService.UploadFile(buffer, plateId.ToString() + Path.GetExtension(filename));
                var dateTaken = Utils.GetDateTaken(buffer);

                var plate = new Plate()
                {
                    HasPicture = true,
                    Extension  = Path.GetExtension(fileName),
                    Id         = plateId,
                    TimeEaten  = dateTaken,
                    UserId     = Guid.Parse(User.Identity.GetUserId())
                };
                db.Plates.Add(plate);
                db.SaveChanges();
            }

            return(Ok());
        }
Exemple #16
0
 public void DeveDarErroAoInserirPlacasInvalidasNoModeloMercosul(string placa)
 {
     Assert.Throws <InvalidPlateException>(() =>
     {
         var plate = new Plate(placa);
     });
 }
Exemple #17
0
        public void CreateSolidPlate()
        {
            // create Plate object
            Log.Append("> create plate...");
            Plate plate = new Plate();

            // read Plate data from xls sheet
            Log.Append("> load plate data...");
            if (!plate.Load())
            {
                return;
            }

            // check input data
            int nErr = plate.Check();

            if (nErr > 0)
            {
                Log.Append(string.Format("*** error: invalid plate data! {0} errors found.", nErr));
                return;
            }

            // join lines or create region
            // draw the profile without hole
            Point3d p0 = new Point3d(0.0, 0.0, 0.0);

            DrawSolidProfile(plate, p0, DIMNO);
        }
Exemple #18
0
        private void foo()
        {
            // lets have a plate
            var plate = new Plate();

            plate.Serialize(); // think about serialization - binary or xml?
        }
Exemple #19
0
    public void ValidateOrder(Plate plate)
    {
        Order       current = new Order();
        AudioSource aSource = gameObject.GetComponent <AudioSource>();

        while (plate.items.Count > 0)
        {
            var ingredient = new Ingredient();
            ingredient.itype = plate.items.Pop().type;
            current.addIngredient(ingredient);
        }

        OnOrderCompleted.Invoke(final.IsSame(current));
        if (final.IsSame(current))
        {
            //Play Good Sound
            aSource.PlayOneShot(goodSound);
            gotoNextOrder();
        }
        else
        {
            //PLay Bad Sounf
            aSource.PlayOneShot(badSound);
        }
        plate.reset();
    }
 public Controller()
 {
     display = new Display();
     ground  = new Ground(display.Side);
     plate   = new Plate(display.PlateHeight, display.PlateWidth);
     bench   = new Bench(display.BenchHeight, display.BenchWidth);
 }
Exemple #21
0
 public void PlayerGoRight(int n)
 {
     /*for (int times = 0; times < n; times++)
      * {
      *      for (int i = 0; i < Size; i++)
      *      {
      *              for (int j = 0; j < Size-1; j++)
      *              {
      *                      buffer[i * Size + j] = buffer[i * Size + j + 1];
      *              }
      *              buffer[i * Size + Size - 1] = Random.Range(0, 6);
      *      }
      *
      * }*/
     //flush();
     for (int times = 0; times < n; times++)
     {
         for (int i = 0; i < Size; i++)
         {
             Plate tmp = plates[i * Size];
             for (int j = 0; j < Size - 1; j++)
             {
                 plates[i * Size + j] = plates[i * Size + j + 1];
             }
             plates[i * Size + Size - 1] = tmp;
             tmp.AssignColor(Random.Range(0, 6));
         }
     }
 }
        private void button_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog fileForm = new OpenFileDialog();

            if (fileForm.ShowDialog() == true)
            {
                var file  = new FileAndPathInfo();
                var plate = new Plate();

                //wczytanie pliku
                file.FileBytes = File.ReadAllBytes(fileForm.FileName);
                file.FilePath  = System.IO.Path.GetDirectoryName(fileForm.FileName);
                file.FileName  = fileForm.FileName;
                //  file.ImageArray = file.FileBytes.ToArray();

                //rozpoznanie
                var plateRecogn = new PlatesRecognizionHelper("C:\\Users\\Tomek\\TabliceRejestracyjne\\TabliceRejestracyjne\\tessdata\\");


                //plateRecogn.DetectLicensePlate(arr, null, null, null);

                // IInputArray arr = new IInputArray();

                Mat m1 = new Mat(file.FileName, LoadImageType.Unchanged);
                var j  = plateRecogn.DetectLicensePlate(m1, plate.LicensePlateImagesList, plate.FilteredLicensePlateImagesList, plate.DetectedLicensePlateRegionList);
            }
        }
Exemple #23
0
 public void PlayerGoUp(int n)
 {
     /*for (int times = 0; times < n; times++)
      * {
      *      for (int j = 0; j < Size-1; j++)
      *      {
      *              for (int i = 0; i < Size-1; i++)
      *              {
      *                      buffer[i * Size + j] = buffer[(i+1) * Size + j];
      *              }
      *              buffer[(Size-1) * Size + j] = Random.Range(0, 6);
      *      }
      *
      * }*/
     //print("up "+n.ToString());
     for (int times = 0; times < n; times++)
     {
         for (int j = 0; j < Size; j++)
         {
             Plate tmp = plates[j];
             for (int i = 0; i < Size - 1; i++)
             {
                 plates[i * Size + j] = plates[(i + 1) * Size + j];
             }
             plates[(Size - 1) * Size + j] = tmp;
             tmp.AssignColor(Random.Range(0, 6));
         }
     }
     //flush();
 }
        public async Task <IActionResult> UpdatePlate(int id, [FromBody] Plate plateNew)
        {
            if (!ModelState.IsValid)
            {
                BadRequest(ModelState);
            }

            try
            {
                var plateOld = await context.Plates.FindAsync(id);

                if (plateOld == null)
                {
                    return(NotFound());
                }

                plateOld.Name         = plateNew.Name;
                plateOld.Price        = plateNew.Price;
                plateOld.RestaurantId = plateNew.RestaurantId;

                context.Plates.Update(plateOld);
                context.SaveChanges();

                return(Ok(plateOld));
            }
            catch (Exception ex)
            {
                return(BadRequest("Error:: " + ex));
            }
        }
Exemple #25
0
        private static Task TestUltrasoundSensor()
        {
            var plate = new Plate();

            var cancellationSource = new CancellationTokenSource();

            Task.Run(() =>
            {
                var sensor =
                    plate.GetOrCreateDigitalDevice <UltrasonicSensor>(DigitalPort.D3, (dp) => new UltrasonicSensor(dp));
                Observable
                .Interval(TimeSpan.FromSeconds(0.5))
                .Subscribe(_ => { Console.WriteLine(sensor.Distance); });

                PrintPlate(plate);
                Console.WriteLine("press enter key to exit");
            }, cancellationSource.Token);

            return(Task.Run(() =>
            {
                Console.ReadLine();
                plate.Dispose();
                cancellationSource.Cancel(false);
            }, cancellationSource.Token));
        }
        public virtual int _GetUniqueIdentifier()
        {
            var hashCode = 399326290;

            hashCode = hashCode * -1521134295 + (Id?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (BookingDate?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (OrderNo?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (NoIdentity?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (FromExtTime?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (ToExtTime?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (BookStatus?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (NoPlatform?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (NoCourier?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Warehouse?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Driver?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (DriverTelephone?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Plate?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (Trailerplate?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (PalletIN?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (TotalPallet?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (DateArrived?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (TimeArrived?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (DateExit?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (TImeExit?.GetHashCode() ?? 0);
            hashCode = hashCode * -1521134295 + (RouteTracking_ID?.GetHashCode() ?? 0);
            return(hashCode);
        }
Exemple #27
0
 private static void AllLedOff(Plate plate)
 {
     foreach (var led in plate.DigitalDevices.OfType <Led>())
     {
         led.Off();
     }
 }
Exemple #28
0
 public Platform(Plate width, double locationPoint, string locationName)
 {
     this.width    = width;
     LocationLeft  = locationPoint;
     Location      = locationName;
     LocationRight = CalcLocationRight(locationPoint, width);
 }
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Owner,CarDescription,OwnerDescription,PhoneNumber")] Plate plate)
        {
            if (id != plate.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(plate);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PlateExists(plate.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(plate));
        }
Exemple #30
0
        // Update all Plates and the center of gravity
        void Update()
        {
            Vector2 cog = new Vector2();

            if (_setupOK)
            {
                for (int i = 0; i < visualizedPlates.Length; i++)
                {
                    bool active = SensoManager.Instance.GetPlateActive((Direction)i);
                    //Debug.Log(i + " is " + active);
                    visualizedPlates[i].SetPlateActiveState(active);

                    Plate p = SensoManager.Instance.GetPlateState((Direction)i);
                    visualizedPlates[i].SetPlateState(p);
                }
            }
            if (SensoManager.Instance.playerPresent)
            {
                centerOfGravity.SetActive(true);
                //Debug.Log("cog before=" + cog);
                cog = SensoManager.Instance.CenterOfGravity;
                //Debug.Log("cog now=" + cog);
                centerOfGravity.transform.localPosition = new Vector3(
                    ((cog.x - topLeftCorner.x) / _range_x) * basePlate_Length - basePlate_Length / 2f,
                    SensoManager.Instance.jump ? jumpYgroundedY.x : jumpYgroundedY.y,
                    (-1) * (((cog.y - topLeftCorner.y) / _range_y) * basePlate_Length - basePlate_Length / 2)
                    );
                //Debug.Log("cog="+ cog.x + " topLeft " + topLeftCorner.x + " range " + _range_x);// * basePlate_Length - basePlate_Length/2f);
            }
            else
            {
                centerOfGravity.SetActive(false);
            }
        }
Exemple #31
0
 public void LoadOntoPlate(Plate plate)
 {
     transform.SetParent(plate.transform);
     transform.localPosition = Vector3.zero;
     onPlate = true;
     foodManager.RemoveFood(this);
 }
Exemple #32
0
    // Update is called once per frame
    void Update()
    {
        costtext.text = Money.ToString();
        if (Input.GetMouseButtonDown(0))
        {
            Ray        tempray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit tempraycastHit;
            if (Physics.Raycast(tempray, out tempraycastHit, 100000, layermark))
            {
                Plate tempplateform = tempraycastHit.collider.GetComponentInParent <Plate>();
                if ((tempplateform != null) && !tempplateform.hastower)
                {
                    float tempCost = tower.GetComponent <Tower>().cost;
                    if (Money >= tempCost)
                    {
                        GameObject temptower = GameObject.Instantiate(tower);
                        temptower.transform.parent   = null;
                        temptower.transform.position = tempplateform.towerPoint.position;
                        temptower.transform.rotation = tempplateform.towerPoint.rotation;
                        tempplateform.hastower       = true;

                        Money -= tempCost;
                    }
                }
            }
        }
    }
Exemple #33
0
        private void constructors()
        {
            // too complicated
            var plate = new Plate(plateType, typeof(ContentClass)); // possible 5

            // can't use generic type for dynamic loading
            var plate = new Plate<ContentType>(plateType); // not possible
        }
Exemple #34
0
        public Plate BCE922to750()
        {
            var rule = new Rule { StartValue = 922, EndValue = 780, RuleLineSpacing = 5 };

            var egypt = new Block { Ruler = rule, Title = "Egypt" };
            egypt.AddEntry(914,"Osorkon I 914-874");
            egypt.AddEntry(920, 780, "XXII Dynasty 935-725");
            var judah = new Block { Ruler = rule, Title = "Judah" };
            judah.AddEntry(920,"Rehoboam 922-915");
            judah.AddEntry(915,"Abijah 915-913");
            judah.AddEntry(910,"Asa 913-873");
            judah.AddEntry(873,"Jehoshaphat 873-849");
            judah.AddEntry(849,"Jehoram 849-843");
            judah.AddEntry(843,"Ahaziah 843/2");
            judah.AddEntry(839,"Athaliah 842-837");
            judah.AddEntry(837,"Joash 837-800");
            judah.AddEntry(800,"Amaziah 800-783");
            judah.AddEntry(783,"Uzziah (Azariah) 783-742");

            var israel = new Block { Ruler = rule, Title = "Israel"};
            israel.AddEntry(920,"Jeroboam I 922-901");
            israel.AddEntry(901,"Nadab 901-900");
            israel.AddEntry(897,"Baasha 900-877");
            israel.AddEntry(876, "Zimri 876,Elah 877-876", PrintLocation.Left );
            israel.AddEntry(876,"Omri 876-869",PrintLocation.Right);
            israel.AddEntry(869, "Ahab 869-850",PrintLocation.Left);
            israel.AddEntry(849, "Jehoram 849-843/2",PrintLocation.Left);
            israel.AddEntry(843, "Jehu 843/2-815",PrintLocation.Left);
            israel.AddEntry(815, "Jehoahaz 815-802",PrintLocation.Left);
            israel.AddEntry(802, "Jehoash 802-786",PrintLocation.Left);
            israel.AddEntry(786, "Jeroboam II 786-746",PrintLocation.Left);
            israel.AddEntry(869,850,"(Elijah)",PrintLocation.Right);
            israel.AddEntry(848,802,"(Elisha)",PrintLocation.Right);

            var damascus = new Block { Ruler = rule, Title = "Damascus"};
            damascus.AddEntry(885, "Ben-hadad I 885-870");
            damascus.AddEntry(870,"Ben-hadad II 870-842");
            damascus.AddEntry(842,"Hazael 842-806");
            damascus.AddEntry(806,"Ben-hadad III");

            var assyria = new Block { Ruler = rule, Title = "Assyria", Width = 34 };
            assyria.AddEntry(912,"Adad-niari II 912-892");
            assyria.AddEntry(884,"Asshur-nasir-pal II 884-860");
            assyria.AddEntry(859,"Shalmaneser III 859-825");
            assyria.AddEntry(824,"Shamshi-adad V 824-812");
            assyria.AddEntry(811,"Adad-nirari III 811-784");
            var plate = new Plate {Ruler = rule, Name = "Schism to Mid-Eighth Century BCE"};
            plate.AddArrow(new Arrow(egypt,judah){StartValue = 910});
            plate.AddArrow(new Arrow(assyria,israel){StartValue = 853,Text = "Battle of Qarqar" + new string(Config.GraphChars.DirectShaft,3)});
            plate.AddArrow(new Arrow(assyria,damascus){StartValue = 796, Text = "Siege of Damascus"});
            plate.AddBlock(egypt);
            plate.AddBlock(judah);
            plate.AddBlock(israel);
            plate.AddBlock(damascus);
            plate.AddBlock(assyria);

            return plate;
        }
Exemple #35
0
        public Plate BCE1250to900()
        {
            var rule = new Rule { StartValue = 1250, EndValue = 900, RuleLineSpacing = 5 };

            var egypt = new Block { Ruler = rule, Title = "Egypt",Width = 30};
            egypt.AddEntry(1224,  "Marniptah 1224-1211");
            egypt.AddEntry(1215,  "(Sea Peoples defeated)");
            egypt.AddEntry(1175,  "Ramesses III 1183-1152");
            egypt.AddEntry(1150,  "(Sea Peoples defeated)" );
            egypt.AddEntry(1125,  "Ramesses IV-XI 1152-1069");
            egypt.AddEntry(1100,  "Egyptian empire ends");
            egypt.AddEntry(1000,  "XXI (Tanite) Dynasty 1069-935");
            egypt.AddEntry(935,  "XXII Dynasty 935-725");
            egypt.AddEntry(925,  "Shishak 935-914");
            egypt.AddEntry(1185, 1069, "XX Dyn. 1185-1069", PrintLocation.Left );
            egypt.AddEntry(1206, 1150, "Late Bronze Age collapse", PrintLocation.Right);

            var palestine = new Block { Ruler = rule, Title = "Palestine"};
            palestine.AddEntry(1225, "Israelite Conquest of Palestine 1250-1200");
            palestine.AddEntry(1210, "Beginning of Iron Age 1200-1000");
            palestine.AddEntry(1190,"Philistines settle in Palestine", PrintLocation.Right );
            palestine.AddEntry(1149,"Deborah");
            palestine.AddEntry(1145,"Gideon");
            palestine.AddEntry(1050,"Fall of Shiloh - Ark captured");
            palestine.AddEntry(1030, "Samuel");
            palestine.AddEntry(1010, "Saul 1020-1000");
            palestine.AddEntry(1000,"David 1000-961");
            palestine.AddEntry(961,"Solomon 962-922");

            palestine.AddEntry(1200,1020,"The Period of the Judges 1200-1020");

            var judah = new Block {Ruler = rule, Title = "Judah", StartValue = 922};
            var israel = new Block { Ruler = rule, Title = "Israel", StartValue = 922 };
            var damascus = new Block { Ruler = rule, Title = "Damascus", StartValue = 945 };
            damascus.AddEntry(940,900,"Rezon");
            palestine.AddInnerBlock(judah);
            palestine.AddInnerBlock(israel);
            palestine.AddInnerBlock(damascus);

            var assyria = new Block { Ruler = rule, Title = "Assyria", Width = 28};

            assyria.AddEntry(1234,1197,"Tukulti-ninurta I 1234-1197");
            assyria.AddEntry(1180, "Assyrian weakness");
            assyria.AddEntry(1100,"(brief Assyrian revival)");
            assyria.AddEntry(1116,1078,"Tiglath-pileser I 1116-1078");
            assyria.AddEntry(1050, "Assyrian weakness");
            assyria.AddEntry(1010,"Aramean pressure",PrintLocation.Left);
            assyria.AddEntry(935,"Asshur-dan II 935-913");
            assyria.AddEntry(925,"(Assryia's recovery begins)");

            var plate = new Plate { Ruler = rule, Name = "Near East 1250 to 900 BCE" };
            plate.AddBlock(egypt);
            plate.AddBlock(palestine);
            plate.AddBlock(assyria);
            return plate;
        }
Exemple #36
0
 public vPlate(Plate model)
 {
     DB db = new DB();
     this.ID = model.ID;
     this.Title = model.Title;
     this.Time = model.Time;
     this.Picture = model.Picture;
     this.Browses = model.Browses;
     this.Description = model.Description;
     this.Collect = db.Collects.Where(x => x.TID == model.ID).Where(x => x.CollectTypeAsInt==2).Count();
 }
Exemple #37
0
        /*
         * What do I want to do with the Plate?
         */
        private void Example1()
        {
            var plate = new Plate();

            foreach (var cell in plate)
            {
                // do something for all cells in the plate
            }

            plate[123].ToString(); // access position by integer
            plate[12, 34].ToString(); // access by cords
            plate["A12"].ToString(); // alphanumeric access
            plate["A", 12].ToString(); // coords like alphanumeric access

            plate.ToString(); // I want to get formatted ASCII table
            plate.ToImage(); // a picture; TODO: think about format, something simple,
                             // preferably windows compatible vector format
        }
Exemple #38
0
 void Awake()
 {
     currentPlate = this;
 }
Exemple #39
0
 void OnDestroy()
 {
     if (currentPlate == this) currentPlate = null;
 }
Exemple #40
0
        public Plate BCE325to27()
        {
            var rule = new Rule {StartValue = 330, EndValue = 20, RuleLineSpacing = 7};

            var rome = new Block {Ruler = rule, Title = "Roman Republic", Width = 44};
            rome.AddEntry(298, "Third Samnite War(298-290)");

            rome.AddEntry(283, "+Greek Italy", PrintLocation.Left);
            rome.AddEntry(280, "Pyrrhic War (280-279)", PrintLocation.Right);
            rome.AddEntry(272, "+Lombardy & lower Italy", PrintLocation.Left);
            rome.AddEntry(264, "First Punic War (264-241)");
            rome.AddEntry(248, "Hamilcar invades Sicily");
            rome.AddEntry(241, "+Sicily", PrintLocation.Left);
            rome.AddEntry(239, "+Sardinia & Corsica", PrintLocation.Left);
            rome.AddEntry(222, "+Cisalpine Gaul", PrintLocation.Left);
            rome.AddEntry(219, "Second Punic War(219-201)");
            rome.AddEntry(215, "First Macedonian War(214-205)");
            rome.AddEntry(212, "Rome capture Syracuse(212)");
            rome.AddEntry(207, "Hasdrubal defeated @ Metaurus(207)");
            rome.AddEntry(202, "Scipio defeats Hannibal @ Zama(202)");
            rome.AddEntry(199, "+Spain", PrintLocation.Left);
            rome.AddEntry(199, "Second Macedonian War(200-197)", PrintLocation.Right);
            rome.AddEntry(171, "Third Macedonian War(171-168)");
            rome.AddEntry(167, "+Greece", PrintLocation.Left);
            rome.AddEntry(150, "Third Punic War(150-146)");
            rome.AddEntry(146, "Carthage destroyed", PrintLocation.Right);
            rome.AddEntry(146, "+Tusinia", PrintLocation.Left);
            rome.AddEntry(138, "+Anatolia", PrintLocation.Left);
            rome.AddEntry(139, "First Servile War(139)", PrintLocation.Right);
            rome.AddEntry(112, "The Jugurthine War(112-105)");
            rome.AddEntry(108, "+Allgeria", PrintLocation.Left);
            rome.AddEntry(103, "Second Servile War(103-99)");
            rome.AddEntry(88, "First Mithridatic War(88-84)");
            rome.AddEntry(83, "Second Mithridatic War(83-81)");
            rome.AddEntry(76, "+Bithynia & Cyrene", PrintLocation.Left);
            rome.AddEntry(71, "Third Servile War[Spartacus](73-71)");
            rome.AddEntry(63, "Third Mithridatic War(75-63)");
            rome.AddEntry(60, "First Triumvirate[Caesar,Crassus,Pompey]");
            rome.AddEntry(57, "+Gaul", PrintLocation.Left);
            rome.AddEntry(50, "[Commentarii de Bello Gallico(Caesar)]");
            rome.AddEntry(44, "Caesar assassinated(44)");
            rome.AddEntry(39, "Second Triumvirate[Antony,Octavian,Lepidus]");
            rome.AddEntry(30, "+Egypt", PrintLocation.Left);
            rome.AddEntry(25, "[The Aeneid(Virgil)]");

            var antigonid = new Block {Ruler = rule, EndValue = 166, Title = "Antigonid(Macedon)"};
            antigonid.AddEntry(306, "Antigonus I(306-301)");
            antigonid.AddEntry(294, "Demetrius I(294-287)");
            antigonid.AddEntry(276, "Antigonus II(276-239)");
            antigonid.AddEntry(239, "Demetrius II(239-229)");
            antigonid.AddEntry(229, "Antigonus III(229-221)");
            antigonid.AddEntry(221, "Philip V(221-179)");
            antigonid.AddEntry(179, "Perseus(179-166)");

            var attalid = new Block {Ruler = rule, EndValue = 133, Title = "Attalid(Anatolia)"};
            attalid.AddEntry(282, "Philetaerus(282-263)");
            attalid.AddEntry(263, "Eumenes I(263-241)");
            attalid.AddEntry(241, "Attalus I(241-197");
            attalid.AddEntry(197, "Eumenes II(197-159)");
            attalid.AddEntry(159, "Attalus II(159-138)");
            attalid.AddEntry(138, "Attalus III(138-133)");

            var ptolemaic = new Block {Ruler = rule, EndValue = 30, Title = "Ptolemaic(Egypt)", Width = 34};
            ptolemaic.AddEntry(290, "Ptolemy I(303-285)");
            ptolemaic.AddEntry(285, "Ptolemy II Philadelphus(285-246)");
            ptolemaic.AddEntry(246, "Ptolemy III Euergetes(246-221)");
            ptolemaic.AddEntry(221, "Ptolemy IV Philopator(221-203)");
            ptolemaic.AddEntry(204, "Ptolemy V Epiphanes(203-181)");
            ptolemaic.AddEntry(181, "Ptolemy VI Philometor(181-145)");
            ptolemaic.AddEntry(145, "Ptolemy VII Euergetes II(145-116)");
            ptolemaic.AddEntry(132, "Septuagint complete(132)");
            ptolemaic.AddEntry(116, "Cleopatra III(116-101)");
            ptolemaic.AddEntry(107, "Ptolemy X Alexander(107-88)");
            ptolemaic.AddEntry(80, "Ptolemy XII Auletes(80-51)");
            ptolemaic.AddEntry(51, "Cleopatra VII Philopator(51-30)");

            var judea = new Block {Ruler = rule, Title = "Judea", Width = 42};
            judea.AddEntry(167, 158, "Maccabean Revolt", PrintLocation.Left);
            judea.AddEntry(164, "Temple Rededication(164)", PrintLocation.Right);
            judea.AddEntry(323, 205, "Jews under Ptolemies");
            judea.AddEntry(196, 168, "Jews under Seleucids");
            judea.AddEntry(160, 115, "semi-autonomous");
            judea.AddEntry(110, 68, "Kingdom of Israel");
            judea.AddEntry(66, "Civil War[Pharisees -vs- Sadducees]");
            judea.AddEntry(62, "Rome[Pompey] & Pharisee seige Jerusalem");

            var seleucid = new Block {Ruler = rule, EndValue = 63, Title = "Seleucid(Syria)", Width = 36};
            seleucid.AddEntry(312, "Seleucus I(312-280)");
            seleucid.AddEntry(280, "Antiochus I(280-261)");
            seleucid.AddEntry(261, "Antiochus II(261-246)");
            seleucid.AddEntry(246, "Seleucus II(246-226)");
            seleucid.AddEntry(226, "Seleucus III(226-223)");
            seleucid.AddEntry(238, "Parthian Empire begins(238)", PrintLocation.Right);
            seleucid.AddEntry(223, "Antiochus (the Great) III(223-187)");
            seleucid.AddEntry(185, "Seleucus IV(187-175)");
            seleucid.AddEntry(175, "Antiochus IV (Epiphanes)(175-163)");
            seleucid.AddEntry(163, "Antiochus V(163-162)");
            seleucid.AddEntry(158, "Dimetrius(162-150)");
            seleucid.AddEntry(150, "Demetrius II(145-138)");
            seleucid.AddEntry(125, "Antiochus VII(125-96)");

            var plate = new Plate {Ruler = rule, Name = "Third to First Centuries BCE"};
            plate.AddArrow(new Arrow(seleucid, ptolemaic) {StartValue = 200, Text = "Battle of Panium"});
            plate.AddArrow(new Arrow(rome, seleucid) {StartValue = 188, Text = "Treaty of Apamea"});
            plate.AddArrow(new Arrow(rome, antigonid) {StartValue = 171, Text = "Battle of Pydna"});
            plate.AddArrow(new Arrow(rome, ptolemaic) {StartValue = 31, Text = "Battle of Actium(31)"});

            plate.AddBlock(rome);
            plate.AddBlock(seleucid);
            plate.AddBlock(judea);
            plate.AddBlock(ptolemaic);
            plate.AddBlock(antigonid);
            plate.AddBlock(attalid);

            return plate;
        }
Exemple #41
0
        public Plate CE825to1075()
        {
            var rule = new Rule {StartValue = 825, EndValue = 1075, RuleLineSpacing = 7};

            var scdv = new Block {Ruler = rule, Title = "Scandinavia", Width = 40};
            scdv.AddEntry(830, "Vikings settle Iceland(825)");
            scdv.AddEntry(872, "Harald Fairhair[Norway(872-930)]", PrintLocation.Left);
            scdv.AddEntry(960, "Harold Bluetooth[Denmark(985-986)", PrintLocation.Left);
            scdv.AddEntry(963, ",Norway(970-986)]", PrintLocation.Left);
            scdv.AddEntry(995, "Olaf Tryggvason[Norway(995-1000)]", PrintLocation.Left);
            scdv.AddEntry(986, "Sweyn Forkbeard[Denmark(986-1014)", PrintLocation.Left);
            scdv.AddEntry(989, ",Norway(986-995 & 999-1014)", PrintLocation.Left);
            scdv.AddEntry(992, ",England(1013/14)]", PrintLocation.Left);
            scdv.AddEntry(1011, "Olaf II Haraldsson[Norway(1015-1028)]", PrintLocation.Left);
            scdv.AddEntry(1018, "Cnut the Great[Denmark(1018-1035)", PrintLocation.Left);
            scdv.AddEntry(1021, ",Norway(1028-1035)", PrintLocation.Left);
            scdv.AddEntry(1025, ",England(1016-1035)]", PrintLocation.Left);
            scdv.AddEntry(1046, "Harald Sigurdsson[Norway(1046-1066)]*", PrintLocation.Left);
            scdv.AddEntry(1000, "Leif Erikson in N.America(1000)");

            var engd = new Block {Ruler = rule, Title = "English Isles", Width = 34};
            engd.AddEntry(853, "Vikings found Dublin(853)");
            engd.AddEntry(871, "Alfred the Great(871-899)");
            engd.AddEntry(1009, "AEthelred(1013-1014)");
            engd.AddEntry(1042, "Edward the Confessor(1042-1066)");

            var hre = new Block {Ruler = rule, Title = "Holy Roman Empire", Width = 48};
            hre.AddEntry(831, "Archdiocese of Hamburg founded(831)");
            hre.AddEntry(835, "Louis I(814-840)");
            hre.AddEntry(843, "Treaty of Verdun(843)");
            hre.AddEntry(846, "Lothair I(Italy);Louis(Germany);Charles(France)");

            hre.AddEntry(911, "Rollo[Normandy(911-927)]", PrintLocation.Left);
            hre.AddEntry(927, "William I[Normandy(927-942)]", PrintLocation.Left);
            hre.AddEntry(936, "Otto I[Germany(962-973)]", PrintLocation.Right);
            hre.AddEntry(942, "Richard I[Normandy(942-966)]", PrintLocation.Left);
            hre.AddEntry(963, "Otto has Pope John XII deposed(963)");
            hre.AddEntry(967, "Otto has Pope John XIII restored(966)");
            hre.AddEntry(972, "Otto's son married to Byz. princess(972)");
            hre.AddEntry(975, "Otto II[Germany(973-983)]", PrintLocation.Right);
            hre.AddEntry(996, "Richard II[Normandy(996-1026)]", PrintLocation.Left);
            hre.AddEntry(999, "Otto III[Germany(996-1002)]", PrintLocation.Right);
            hre.AddEntry(1027, "Robert I[Normandy(1027-1035)]", PrintLocation.Left);
            hre.AddEntry(1035, "William III [Normandy(1035-1087)", PrintLocation.Left);
            hre.AddEntry(1038, ",England(1066-1087)]", PrintLocation.Left);

            var byz = new Block {Ruler = rule, Title = "Byzantine Empire", Width = 32};
            byz.AddEntry(842, "Michael III(842-867)");
            byz.AddEntry(867, "Basil I(867-886)");
            byz.AddEntry(886, "Leo VI(886-912)");
            byz.AddEntry(913, "Constantine VII(913-959)");
            byz.AddEntry(960, "retake Island of Crete(960)");
            byz.AddEntry(963, "Nikephoros II Phokas(963-969)");
            byz.AddEntry(976, "Tzimisces(969-976)");
            byz.AddEntry(980, "Basil II(976-1025)");
            byz.AddEntry(1025, "Constantine VIII(1025-1028)");
            byz.AddEntry(1030, "Zoe(1028-1050)");
            byz.AddEntry(1042, "Constantine IX(1042-1055)");
            byz.AddEntry(1045, "rebuild Holy Sepulchre(1042)");
            byz.AddEntry(1059, "Constantine X(1059-1067)");
            byz.AddEntry(1068, "Romanos IV(1067-1071)");

            var abb = new Block {Ruler = rule, Title = "Abbasid Caliphate", EndValue = 1055, Width = 30};
            abb.AddEntry(861, 870, "Anarchy at Samarra(861-870)");
            abb.AddEntry(833, "Al-Mu'tasim(833-842)");
            abb.AddEntry(842, "Al-Wathiq(842-847)");
            abb.AddEntry(847, "Al-Mutawakkil(847-861)");
            abb.AddEntry(874, "Al-Mu'tamid(870-892)");
            abb.AddEntry(892, "Al-Mu'tadid(892-902)");
            abb.AddEntry(902, "Al-Muktafi(902-908)");
            abb.AddEntry(908, "Al-Muqtadir(908-932)");
            abb.AddEntry(932, "Al-Qahir(932-934)");
            abb.AddEntry(935, "Al-Radi(934,940)");
            abb.AddEntry(940, "Al-Muttaqi(904-944)");
            abb.AddEntry(944, "Al-Mustakfi(944-946)");
            abb.AddEntry(947, "Al-Muti(946-974)");
            abb.AddEntry(974, "Al-Ta'i(974-991)");
            abb.AddEntry(991, "Al-Qadir(991-1031)");
            abb.AddEntry(1031, "Al-Qa'im(1031-1075)");

            var ftd = new Block {Ruler = rule, Title = "Fatimid Caliphate", StartValue = 909, Width = 32};
            ftd.AddEntry(972, "Cario est.(969)");
            ftd.AddEntry(996, "Al-Hakim bi-Amr(996-1021)");
            ftd.AddEntry(1009, "destroys Holy Sepulchre(1009)");
            ftd.AddEntry(1021, "Ali az-Zahir(1021-1036)");
            ftd.AddEntry(1036, "Al-Mustansir(1036-1094)");
            ftd.AddEntry(1065, "famine(1065 & 1072)");

            var slj = new Block {Ruler = rule, Title = "Seljuk Empire", StartValue = 1037};
            slj.AddEntry(1040, "Tughril(1037-1063)");
            slj.AddEntry(1063, "Alp Arslan(1063-1072)");

            var plate = new Plate {Ruler = rule, Name = "Viking Age"};
            plate.AddBlock(scdv);
            plate.AddBlock(engd);
            plate.AddBlock(hre);
            plate.AddBlock(ftd);
            plate.AddBlock(byz);
            plate.AddBlock(slj);
            plate.AddBlock(abb);

            plate.AddArrow(new Arrow(scdv, engd) {StartValue = 830, Text = "raid Ireland(812-853)"});
            plate.AddArrow(new Arrow(scdv, engd) {StartValue = 839, Text = "end Pict kingdom(839)"});
            plate.AddArrow(new Arrow(scdv, engd) {StartValue = 878, Text = "Battle of Edington(878)"});
            plate.AddArrow(new Arrow(scdv, hre) {StartValue = 908, Text = "settle Normandy(911)"});
            plate.AddArrow(new Arrow(hre, scdv) {StartValue = 950, Text = "Otto I defeat Bluetooth(950)"});
            plate.AddArrow(new Arrow(hre, byz) {StartValue = 968, Text = "Otto seize S.Italy(968)"});
            plate.AddArrow(new Arrow(ftd, abb) {StartValue = 972, Text = "seize Egypt(969)"});
            plate.AddArrow(new Arrow(scdv, engd) {StartValue = 1013, Text = "Danes England(1013)"});
            plate.AddArrow(new Arrow(hre, ftd) {StartValue = 1070, Text = "R.Guiscard Sicily(1070)"});
            plate.AddArrow(new Arrow(hre, engd) {StartValue = 1066, Text = "Norman conquest(1066)"});
            plate.AddArrow(new Arrow(hre, ftd) {StartValue = 982, Text = "Battle Cape Colonna(982)"});
            plate.AddArrow(new Arrow(slj, abb) {StartValue = 1055, Text = "capture Baghdad(1055)"});
            plate.AddArrow(new Arrow(slj, byz) {StartValue = 1071, Text = "Battle of Manzikert(1071)**"});

            plate.Notes.Add(
                "*  this guy was all over the place, fights alongside his brother Olaf Haraldsson, a.k.a. Saint Olaf, who sought to reclaim the Danish throne from Cnut the Great - is defeated,");
            plate.Notes.Add(
                "   goes into exile to the Varangian (Viking) kingdom around Novgorod (Russia) working with Yaroslav the Wise who unites Keiv and Novgorod then moves to Constantinople (1034)");
            plate.Notes.Add(
                "   becomes captain of Byzantine Varangian Guard (Viking bodyguards to the Emperor) gets rich, leaves in 1042 and becomes King of Norway 1045, was caught up in war of succession in England,");
            plate.Notes.Add(
                "   goes there to become king and is killed at the Battle of Stamford Bridge(1066) by Harold Godwinson's forces (which is considered the end of the Viking Age).");

            plate.Notes.Add("** during this war Palestine is taken from Fatimid Cali.- later catalyst for Crusades");

            return plate;
        }
Exemple #42
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            int temp;
            bool Dir;
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            Texture2D PlateTexture = Content.Load<Texture2D>("stock");
            Texture2D fallTexture = Content.Load<Texture2D>("falling");
            Texture2D blastTexture = Content.Load<Texture2D>("blast");
            Texture2D pTexture = Content.Load<Texture2D>("person");
            Texture2D gameoverTexture = Content.Load<Texture2D>("gameover");

            SoundEffect PlatePop = Content.Load<SoundEffect>("Break");
            pinTexture = Content.Load<Texture2D>("pin");
            messageFont = Content.Load<SpriteFont>("MessageFont");
            lineDot = Content.Load<Texture2D>("whiteDot");

            gameImageTexture = Content.Load<Texture2D>("DiskBreakerBackground_a");
            maskImageColors = new Color[gameImageTexture.Width * gameImageTexture.Height];

            windowPosition[0] = new Vector2(60,225);
            windowPosition[1] = new Vector2(170, 75);
            windowPosition[2] = new Vector2(375, 75);
            windowPosition[3] = new Vector2(510, 225);

            hud = new HUD();
            hud.Font = Content.Load<SpriteFont>("Arial");

            setupKinect();

            for (int i = 0; i < 2; i++)
            {
                temp = rand.Next(0,3);
                if (i == 1)
                    Dir = true;
                else
                    Dir = false;

                position[i] = temp;
                Plate c = new Plate(PlateTexture, windowPosition[temp], PlatePop, fallTexture, blastTexture, pTexture,gameoverTexture, Dir);

                gameSprites.Add(c);
            }
        }
Exemple #43
0
        public void AddOrUpdateRecord(Plate plate, Parking parking, out bool isNew)
        {
            UsageRecord lastRecord = UsageRecords.FindAll()
                                     .Where(r => r.EnterDateTime.Date == DateTime.Now.Date && r.Client.CPF == plate.Client.CPF && r.IsDirty)
                                     .OrderBy(r => r.EnterDateTime)
                                     .LastOrDefault();

            if (lastRecord == null)
            {
                if (!parking.Spaces.Any(s => s.Status == ParkingSpaceState.Free))
                {
                    throw new FullParkingException("Não há mais vagas disponíves nesse estacionamento");
                }

                ParkingSpace space = parking.Spaces.FirstOrDefault(s => s.Status == ParkingSpaceState.Free);

                lastRecord = new UsageRecord()
                {
                    Client = plate.Client,
                    EnterDateTime = DateTime.Now,
                    ExitDateTime = DateTime.Now,
                    IsDirty = true,
                    Parking = parking,
                    Plate = plate,
                    SpaceNumber = space.Number
                };

                space.Status = ParkingSpaceState.Busy;
                ParkingsSpaces.Update(space);
                UsageRecords.Add(lastRecord);
                isNew = true;
            }
            else
            {
                ParkingSpace space = parking.Spaces.FirstOrDefault(s => s.Number == lastRecord.SpaceNumber);

                lastRecord.IsDirty = false;
                lastRecord.ExitDateTime = DateTime.Now;
                lastRecord.TotalHours = Convert.ToSingle((lastRecord.ExitDateTime - lastRecord.EnterDateTime).TotalHours);
                lastRecord.TotalValue = CalculatePrice(parking.CNPJ, lastRecord.EnterDateTime.TimeOfDay, lastRecord.ExitDateTime.TimeOfDay);

                space.Status = ParkingSpaceState.Free;
                ParkingsSpaces.Update(space);
                UsageRecords.Update(lastRecord);
                isNew = false;
            }
        }
 public Origin(Corner c, Plate p, Func<float[], float> f)
 {
     this.corner = c;
     this.pressure = c.pressure;
     this.shear = c.shear;
     this.plate = p;
     this.calculateElevation = f;
 }
Exemple #45
0
        public Plate CE550to825()
        {
            var rule = new Rule {StartValue = 550, EndValue = 825, RuleLineSpacing = 7};

            var byz = new Block {Ruler = rule, Title = "Byzantine Empire", Width = 36};
            byz.AddEntry(582, "Maurice(582-602)");
            byz.AddEntry(602, "Phocas(602-610)");
            byz.AddEntry(610, "Heraclius(610-641)");
            byz.AddEntry(680, "Sixth Ecumen. Council(680)");
            byz.AddEntry(692, 717, "Twenty Years Anarchy(695-717)", PrintLocation.Left);
            byz.AddEntry(725, "Leo III(717-741)");
            byz.AddEntry(746, "Constantine V(741-775)");
            byz.AddEntry(741, "Artabasdos ursurpation(741-743)");
            byz.AddEntry(775, "Leo IV(775-780)");
            byz.AddEntry(780, "Constantine VI(780-797)");
            byz.AddEntry(797, "Irene [empress](797-802)");
            byz.AddEntry(787, "2nd Council of Nicaea(787)[end Iconoclasm]");
            byz.AddEntry(719, 802, "Isaurian dyn(717-802)", PrintLocation.Right);

            var euro = new Block {Ruler = rule, Title = "West Europe", Width = 54};
            euro.AddEntry(577, "Battle of Deorham(577) - Anglo-Saxon defeat Britons");
            euro.AddEntry(589, "'filioque' intro'ed into Latin west");
            euro.AddEntry(600, "Pope Gregory(590-604)");
            euro.AddEntry(561, 614, "Gaul decends, total illiteracy", PrintLocation.Left);
            euro.AddEntry(675, "Beowulf composed(?)");
            euro.AddEntry(700, "Venerable Bede(673-735)");
            euro.AddEntry(741, "Pope Zachary(741-752)");
            euro.AddEntry(751, "Pepin the Short(751-768)", PrintLocation.Left);
            euro.AddEntry(752, "Pope Stephen II(752-757)", PrintLocation.Right);
            euro.AddEntry(756, "Donation of Pepin(754)");
            euro.AddEntry(800, "Charlemagne-Holy Roman Emperor(800)");
            euro.AddEntry(805, "Halfdan (the Black) first king of Norway(800)");
            euro.AddEntry(793, "1st Viking raid [England](793)");

            var mus = new Block {Ruler = rule, StartValue = 565, Title = "Muslims", Width = 56};
            mus.AddEntry(569, 632, "Mohammed (569-632)", PrintLocation.Left);
            mus.AddEntry(610, "vision @ Mt. Hira(610)");
            mus.AddEntry(630, "Mohammad takes Mecca(630)");
            mus.AddEntry(633, "Abu Bekr(633-634) & Omar(634-644)");
            mus.AddEntry(644, "Othman(644-656)", PrintLocation.Left);
            mus.AddEntry(656, "war of succesion Ali/Muawiya(656-669)");
            mus.AddEntry(669, "Muawiya(669-680)", PrintLocation.Left);
            mus.AddEntry(679, "war of succesion(680-683)");
            mus.AddEntry(685, "Abd-al-Malik(683-705)", PrintLocation.Left);
            mus.AddEntry(705, "Walid(705-715)", PrintLocation.Left);
            mus.AddEntry(715, "Suleiman(715-717)");
            mus.AddEntry(719, "Omar II(717-720)", PrintLocation.Left);
            mus.AddEntry(722, "Yezid II(720-24)", PrintLocation.Left);
            mus.AddEntry(725, "Hisham(724-743)", PrintLocation.Left);
            mus.AddEntry(743, "Walid II(743/44)", PrintLocation.Left);
            mus.AddEntry(747, "Merwan II(744-750)", PrintLocation.Left);
            mus.AddEntry(751, "Abu al-Abbas(750-754)", PrintLocation.Left);
            mus.AddEntry(756, "Abu Jafar(754-775)", PrintLocation.Left);
            mus.AddEntry(775, "al-Mahdi(775-784)", PrintLocation.Left);
            mus.AddEntry(784, "Abbasid(784-786)", PrintLocation.Left);
            mus.AddEntry(787, "Harun al-Rashid(786-809)", PrintLocation.Left);

            mus.AddEntry(738, "Battle of Rajasthan(738) [India]");

            mus.AddEntry(620, 661, "Rashidun Caliphate", PrintLocation.Right);
            mus.AddEntry(683, 750, "Umayyad Caliphate", PrintLocation.Right);
            mus.AddEntry(750, 825, "Abbasid Caliphate", PrintLocation.Right);

            var sas = new Block {Ruler = rule, Title = "Sasanian Empire", EndValue = 642, Width = 30};
            sas.AddEntry(596, "Khosru II(590-628)");

            var plate = new Plate {Ruler = rule, Name = "The Dark Ages"};
            plate.AddBlock(euro);
            plate.AddBlock(byz);
            plate.AddBlock(mus);
            plate.AddBlock(sas);

            plate.AddArrow(new Arrow(sas, byz) {StartValue = 627, Text = "seige Constantinople(626)"});
            plate.AddArrow(new Arrow(sas, byz) {StartValue = 614, Text = "capture Jerusalem(614)"});
            plate.AddArrow(new Arrow(byz, sas) {StartValue = 624, Text = "counter attack(624)"});
            plate.AddArrow(new Arrow(mus, sas) {StartValue = 642, Text = "battle of Nahavand(642)"});
            plate.AddArrow(new Arrow(mus, byz) {StartValue = 634, Text = "siege of Damascus(634)"});
            plate.AddArrow(new Arrow(mus, byz) {StartValue = 674, Text = "seige Constantinople(674)"});
            plate.AddArrow(new Arrow(mus, byz) {StartValue = 717, Text = "seige Constantinople(717)"});
            plate.AddArrow(new Arrow(mus, euro) {StartValue = 711, Text = "Moors invade Spain(711)"});
            plate.AddArrow(new Arrow(mus, byz) {StartValue = 698, Text = "Battle of Carthage(698)"});
            plate.AddArrow(new Arrow(mus, euro) {StartValue = 732, Text = "Battle of Tours(732)"});

            plate.Notes.Add(
                "Western Christendom was a beleaguered citadel which only survived because its greatest enemy, Islam, had");
            plate.Notes.Add(
                "reached the end of its lines of communication, and its lesser enemies (the Slavs, the Hungarians, and the Vikings)");
            plate.Notes.Add("were organized only for raids and for plunder.");
            return plate;
        }
Exemple #46
0
        public Plate CE1914to1945()
        {
            var rule = new Rule {StartValue = 1914, EndValue = 1946, RuleLineSpacing = 7};

            var usa = new Block {Ruler = rule, Title = "United States", Width = 36};
            var engd = new Block {Ruler = rule, Title = "United Kingdom"};
            var fr = new Block {Ruler = rule, Title = "France", Width = 36};
            var de = new Block {Ruler = rule, Title = "Germany"};
            var ott = new Block {Ruler = rule, Title = "Ottoman Empire", EndValue = 1922};
            var rus = new Block {Ruler = rule, Title = "Imperial Russia", EndValue = 1922};
            var ussr = new Block {Ruler = rule, Title = "Soviet Union", StartValue = 1917};
            var zho = new Block {Ruler = rule, Title = "Republic of China"};
            var jpn = new Block {Ruler = rule, Title = "Japan"};

            var plate = new Plate {Ruler = rule, Name = "The World Wars"};

            plate.AddBlock(usa);
            plate.AddBlock(engd);
            plate.AddBlock(fr);
            plate.AddBlock(de);
            plate.AddBlock(ussr);
            plate.AddBlock(rus);
            plate.AddBlock(ott);
            plate.AddBlock(zho);
            plate.AddBlock(jpn);

            usa.AddEntry(new LeaderEntry("Woodrow Wilson", new int?[,] {{1913, 1921}}) {StartValue = 1914.6});
            usa.AddEntry(1917, "enters WWI", PrintLocation.Center);
            usa.AddEntry(1920, "Women gain voting rights(1920)");
            usa.AddEntry(1920.6, 1933, "Prohibition(1920/33)", PrintLocation.Left);
            usa.AddEntry(new LeaderEntry("Warren G.Harding", new int?[,] {{1921, 1923}}) {StartValue = 1921});
            usa.AddEntry(new ScienceAdvEntry("insulin", "F.Banting") {StartValue = 1922});
            usa.AddEntry(new LeaderEntry("Calvin Coolidge", new int?[,] {{1923, 1929}}) {StartValue = 1923});
            usa.AddEntry(1924, "Immigration Act(1924)[4]");
            usa.AddEntry(new ScienceAdvEntry("intergalatic", "Hubble") {StartValue = 1924.6});
            usa.AddEntry(new LiteraryWorkEntry("The Great Gatsby", "F.S.Fitzgerald") {StartValue = 1925});
            usa.AddEntry(new LeaderEntry("Herbert Hoover", new int?[,] {{1929, 1933}}) {StartValue = 1929});
            usa.AddEntry(1929.6, "Stock Market Crash(1929)", PrintLocation.Right);
            usa.AddEntry(1930, 1935, "Great Depression", PrintLocation.Right);
            usa.AddEntry(1932, "Bonus Army Conflict(1932)");
            usa.AddEntry(new LeaderEntry("F.D. Roosevelt", new int?[,] {{1933, 1945}}) {StartValue = 1933});
            usa.AddEntry(1933.3, 1935, "Dust Bowl(1933/35)", PrintLocation.Left);
            usa.AddEntry(1935, "Social Security Act(1935)");
            usa.AddEntry(new LiteraryWorkEntry("Gone\\w.the Wind", "M.Mitchell") {StartValue = 1936});
            usa.AddEntry(new LiteraryWorkEntry("Of Mice and Men", "J.Steinbeck") {StartValue = 1937});
            usa.AddEntry(new LiteraryWorkEntry("Grapes of Wrath", "J.Steinbeck") {StartValue = 1939});
            usa.AddEntry(new LiteraryWorkEntry("For Whom the Bell Tolls", "E.Hemingway") {StartValue = 1940});
            plate.AddArrow(new Arrow(usa, jpn) {StartValue = 1943, Text = "Battle of Midway"});
            plate.AddArrow(new Arrow(usa,jpn) {StartValue = 1945.6, Text = "atomic bombs dropped"});
            plate.AddArrow(new Arrow(usa,de) {StartValue = 1944, Text = "Normandy invasion"});

            engd.AddEntry(new LeaderEntry("David L. George", new int?[,] {{1916, 1922}}) {StartValue = 1916});
            engd.AddEntry(new LeaderEntry("Bonar Law", new int?[,] {{1922, 1923}}) {StartValue = 1922});
            engd.AddEntry(new LeaderEntry("Stanley Baldwin", new int?[,] {{1923, 1924}, {1934, 1929}, {1935, 1937}})
            {
                StartValue = 1923
            });
            engd.AddEntry(new LeaderEntry("Ramsay MacDonald", new int?[,] {{null, 1924}, {1929, 1935}})
            {
                StartValue = 1924
            });
            engd.AddEntry(new ScienceAdvEntry("Penicillin", "A.Fleming") {StartValue = 1928});
            engd.AddEntry(new LiteraryWorkEntry("Brave New World", "A.Huxley") {StartValue = 1932});
            engd.AddEntry(1936, "Battle of Cable Street(1936)");
            engd.AddEntry(new LeaderEntry("Neville Chamberlain", new int?[,] {{1937, 1940}}) {StartValue = 1937});
            engd.AddEntry(new LiteraryWorkEntry("The Hobbit", "Tolkien") {StartValue = 1937.6});
            engd.AddEntry(new LeaderEntry("Winston Churchill", new int?[,] {{1940, 1945}}) {StartValue = 1939});
            engd.AddEntry(new ScienceAdvEntry("Frisch-Peierls memo", "(#)") {StartValue = 1941});
            engd.AddEntry(new LiteraryWorkEntry("Animal Farm", "G.Orwell") {StartValue = 1945.6});
            plate.AddArrow(new Arrow(engd,de) {StartValue = 1943.7, Text = "Invasion of Italy"});

            fr.AddEntry(new LeaderEntry("Raymond Poincare", new int?[,] {{1913, 1920}}) {StartValue = 1914.6});
            plate.AddArrow(new Arrow(de, fr) {StartValue = 1915, Text = "2nd Battle of Ypres(1915)[1]"});
            fr.AddEntry(1919, "Treaty of Versailles(1919)");
            fr.AddEntry(new LeaderEntry("Paul Deschanel", new int?[,] {{null, 1920}}) {StartValue = 1920});
            fr.AddEntry(new LeaderEntry("Alexandre Millerand", new int?[,] {{1920, 1924}}) {StartValue = 1922});
            fr.AddEntry(new LeaderEntry("Gaston Doumergue", new int?[,] {{1924, 1931}}) {StartValue = 1924});
            fr.AddEntry(new ScienceAdvEntry("big bang theory", "G.Lemaitre") {StartValue = 1927});
            fr.AddEntry(new LeaderEntry("Paul Doumer", new int?[,] {{1931, 1932}}) {StartValue = 1931});
            fr.AddEntry(new LeaderEntry("Albert Lebrun", new int?[,] {{1932, 1940}}) {StartValue = 1932});
            fr.AddEntry(1934, "anti-parliamentarist riots(1934)");

            de.AddEntry(new ScienceAdvEntry("general relativity", "Einstein") {StartValue = 1915.6});
            plate.AddArrow(new Arrow(fr, de) {StartValue = 1916, Text = "Battle of Verdun(1916)"});
            plate.AddArrow(new Arrow(fr, de) {StartValue = 1916.6, Text = "Battle of Somme(1916)"});
            plate.AddArrow(new Arrow(engd, de) {StartValue = 1917, Text = "Battle of Passchendaele(1917)"});
            plate.AddArrow(new Arrow(engd, de) {StartValue = 1917.6, Text = "Battle of Arras(1917)"});
            plate.AddArrow(new Arrow(engd, de) {StartValue = 1918, Text = "The Spring Offensive(1918)"});
            plate.AddArrow(new Arrow(usa, de) {StartValue = 1918.6, Text = "Hundred Days Offensive(1918)"});
            de.AddEntry(1919, 1933, "Weimar Republic", PrintLocation.Right);
            de.AddEntry(new LeaderEntry("Friedrich Ebert", new int?[,] {{1919, 1925}}) {StartValue = 1919.6});
            de.AddEntry(1923, "Beer Hall Putsch(1923)");
            de.AddEntry(new LeaderEntry("Paul von Hindenburg", new int?[,] {{1925, 1933}}) {StartValue = 1925});
            de.AddEntry(new LiteraryWorkEntry("Mein Kampf", "A.Hitler") {StartValue = 1925.6});
            de.AddEntry(new LiteraryWorkEntry("All Quiet..W.Front", "E.M.Remarque") {StartValue = 1928});
            de.AddEntry(1933.6, 1945, "Nazi Germany", PrintLocation.Right);
            de.AddEntry(1933, "Enabling Act of 1933");
            de.AddEntry(new LeaderEntry("Aldof Hitler", new int?[,] {{1933, 1945}}) {StartValue = 1933.3});
            de.AddEntry(1935, "Nuremberg Laws(1935)");
            de.AddEntry(1938, "Sudetenland annexed(1938)");
            plate.AddArrow(new Arrow(de, fr) {StartValue = 1940, Text = "conquest of France"});
            plate.AddArrow(new Arrow(de, engd) {StartValue = 1940.6, Text = "Battle of Britian"});
            plate.AddArrow(new Arrow(de, ussr) {StartValue = 1942.4, Text = "Operation Barbarossa" });

            plate.AddArrow(new Arrow(de, rus) {StartValue = 1914.6, Text = "Battle of Tannenberg(1914)"});
            rus.AddEntry(1918, "Tsar & family executed(1918)");
            rus.AddEntry(1918.6, "Red Terror");
            rus.AddEntry(1920, "Whites retreat east(1920)");
            rus.AddEntry(1922, "total devastation[2]");

            ussr.AddEntry(1917.6, "Bolshevik Revolution(1917)");
            ussr.AddEntry(1918, "Brest-Litovsk treaty(1918)");
            plate.AddArrow(new Arrow(ussr, rus) {StartValue = 1919, Text = "Keiv captured(1919)"});
            ussr.AddEntry(1919.6, "Polish-Soviet War(1919\\20)");
            ussr.AddEntry(new LeaderEntry("Lenin", new int?[,] {{null, 1924}}) {StartValue = 1922});
            ussr.AddEntry(new LeaderEntry("Stalin", new int?[,] {{1924, 1953}}) {StartValue = 1924});
            ussr.AddEntry(1928, 1932, "First Five Year Plan", PrintLocation.Right);
            ussr.AddEntry(1932, 1933, "Soviet famine", PrintLocation.Left);
            ussr.AddEntry(1933, 1937, "Second Five Year Plan", PrintLocation.Right);
            ussr.AddEntry(1936, 1938, "Great Purge[3]", PrintLocation.Left);

            plate.AddArrow(new Arrow(ott, rus) {StartValue = 1914.6, Text = "suprise attack on Black Sea"});
            plate.AddArrow(new Arrow(ott, rus) {StartValue = 1915, Text = "Battle of Gallipoli"});
            ott.AddEntry(1918, "Armistice of Mudros(1918)");
            ott.AddEntry(1920, "Occupation of Constantinople");
            ott.AddEntry(1920.6, "Treaty of Sevres[5]");

            jpn.AddEntry(1914.6,1926,"Taisho era", PrintLocation.Left);
            jpn.AddEntry(1926.6,1945,"Showa era", PrintLocation.Left);
            jpn.AddEntry(1925, "General Election Law");
            plate.AddArrow(new Arrow(jpn, zho) {StartValue = 1931, Text = "invasion of Manchuria"});
            jpn.AddEntry(1932, "PM assassinated[6]");
            jpn.AddEntry(1937,"Marco Polo Bridge Incident[7]");
            plate.AddArrow(new Arrow(jpn, zho) {StartValue = 1937.6, Text = "Battle of Shanghai"});
            plate.AddArrow(new Arrow(jpn, usa) {StartValue = 1941.9, Text = "Pearl Harbor"});

            plate.Notes.Add(" [1] First lethal use of chemical weapons.");
            plate.Notes.Add(" [2] war and famine, millions dead, industry ruined, skilled and edu workers fled");
            plate.Notes.Add(" [3] 600K-1.2M deaths estimated.");
            plate.Notes.Add(
                " [4] East & South European: limited, African: severely limited, Asian and Arab: " +
                "banned, Latin American: no restriction");
            plate.Notes.Add(" (#) First technical expo on creating the atomic bomb.");
            plate.Notes.Add(" [5] Ottoman Empire partitioned amoung national groups within it.");
            plate.Notes.Add(" [6] (Army cadet assassins) seen popularly as having acted out of patriotism and " +
                            "the atmosphere was set where the military was able to act with little restraint.");
            plate.Notes.Add(" [7] beginning of WWII in East");
            return plate;
        }
Exemple #47
0
        public Plate BCE2000to1500()
        {
            var rule = new Rule {StartValue = 2100, EndValue = 1500,RuleLineSpacing = 5};
            var egypt = new Block {Ruler = rule, Title = "Egypt", Width = 22};
            egypt.AddEntry(2040,"XI Dynasty");
            egypt.AddEntry(1980,"XII Dynasty");
            egypt.AddEntry(1710,"The Hykos");
            egypt.AddEntry(1550,"New Kingdom (Empire)");
            egypt.AddEntry(1530,"XVIII Dynasty");
            egypt.AddEntry(2060,1800,"Middle Kingdom");
            egypt.AddEntry(1750,1580,"II Intermediate");

            var palestine = new Block {Ruler = rule, Title = "Palestine", Width = 16};
            palestine.AddEntry(1900,1700,"The Patriarchs");

            var hittities = new Block {Ruler = rule, Title = "Hittites", Width = 20};
            hittities.AddEntry(1700,"Hittite Old Kingdom");
            hittities.AddEntry(1650,"Labarna I");
            hittities.AddEntry(1600,"Hattusili I");
            hittities.AddEntry(1550,"Mursili I");
            hittities.AddEntry(1900,1600,"City States");

            var mesopotamia = new Block {Ruler = rule, Title = "Mesopotamia"};

            var assyria = new Block {Ruler = rule, Title = "Assyria",StartValue = 1950};
            assyria.AddEntry(1900,"Cappadocian Colonies");
            assyria.AddEntry(1750,"Shamshi-Adad I");

            var mari = new Block {Ruler = rule, Title = "Mari", StartValue = 1950, EndValue = 1700, Width = 16};
            mari.AddEntry(1750,"The 'Mari Age'");

            var isin = new Block {Ruler = rule, Title = "Isin", StartValue = 1950, EndValue = 1750, Width = 8};

            var larsa = new Block {Ruler = rule, Title = "Larsa", StartValue = 1950, EndValue = 1700, Width = 16};
            larsa.AddEntry(1758,"Rim-Sin I");

            var babylon = new Block {Ruler = rule, Title = "Babylon", StartValue = 1830, EndValue = 1550, Width = 20};
            babylon.AddEntry(1700, "Hammurabi");
            babylon.AddEntry(1630, "Kassite Dyn." );

            mesopotamia.AddInnerBlock(assyria);
            mesopotamia.AddInnerBlock(mari);
            mesopotamia.AddInnerBlock(isin);
            mesopotamia.AddInnerBlock(larsa);
            mesopotamia.AddInnerBlock(babylon);

            mesopotamia.AddArrow(new Arrow(larsa, isin) { StartValue = 1750, ArrowTail = ".." });
            mesopotamia.AddArrow(new Arrow(assyria, mari) { StartValue = 1720, ArrowTail = ".." });
            mesopotamia.AddArrow(new Arrow(babylon, assyria) { StartValue = 1720, ArrowTail = ".." });
            mesopotamia.AddArrow(new Arrow(babylon,mari){StartValue = 1700, ArrowTail = ".."});
            mesopotamia.AddArrow(new Arrow(babylon,larsa){StartValue = 1700, ArrowTail = ".."});
            mesopotamia.AddEntry(new Entry { StartValue = 2060, EndValue = 1950, Text = "Ur III" });

            var plate = new Plate {Ruler = rule, Name = "Near East 2000-1500 BCE"};

            plate.AddBlock(egypt);
            plate.AddBlock(palestine);
            plate.AddBlock(hittities);
            plate.AddBlock(mesopotamia);

            plate.AddArrow(new Arrow(hittities, babylon){StartValue = 1550, Text = "Babylon razed"});

            return plate;
        }
 void Start()
 {
     foodBeingPrepared = FindObjectOfType<FoodBeingPrepared>();
     foodBeingPreparedOriginalPos = foodBeingPrepared.transform.position;
     foodBeingPrepared.gameObject.SetActive(false);
     mainCamera = FindObjectOfType<Camera>();
     knifeSet = GameObject.Find("KnifeSet").GetComponent<KnifeSet>();
     database = GameObject.Find("ItemDatabase").GetComponent<ItemDatabase>();
     gameManager = GameObject.Find("GameOverlay").GetComponent<GameManager>();
     plate = GameObject.Find("Plate").GetComponent<Plate>();
 }
Exemple #49
0
        public Plate BCE780to500()
        {
            var rule = new Rule {StartValue = 780, EndValue = 500, RuleLineSpacing = 7};
            var egypt = new Block {StartValue = 780, EndValue = 528, Ruler = rule, Title = "Egypt"};
            egypt.AddEntry(705, "Shabako 710/9-696/5");
            egypt.AddEntry(696, "Shebteko 696/5-685/4");
            egypt.AddEntry(690, "(Tirhakah coregent 690/89)");
            egypt.AddEntry(685, "Tirhakah (690) 685/4-664");
            egypt.AddEntry(655, "Psammetichus I 664-610");
            egypt.AddEntry(610, "Neco II 610-594");
            egypt.AddEntry(594, "Psammetichus II 594-589");
            egypt.AddEntry(589, "Apries (Hophra) 589-570");
            egypt.AddEntry(759, 716, "Libyian Dyn.(s) 759-715 ", PrintLocation.Right);
            egypt.AddEntry(710, 663, "Nubian Dyn. 715-663 (Kush)", PrintLocation.Right);
            egypt.AddEntry(660, 525, "XXVI Dyn. 664-525", PrintLocation.Right);
            egypt.AddEntry(570, "Armasis 570-526");
            egypt.AddEntry(530, "Psammetichus III 526/5");

            var judah = new Block {Ruler = rule, Title = "Judah", StartValue = 780, EndValue = 500, Width = 34};
            judah.AddEntry(750, "(Jotham coregent 750)");
            judah.AddEntry(742, "Jotham 742-735", PrintLocation.Left);
            judah.AddEntry(735, "Ahaz 735-715", PrintLocation.Left);
            judah.AddEntry(715, "Hezekiah 715-687/6", PrintLocation.Left);
            judah.AddEntry(687, "Manasseh 687/6-642", PrintLocation.Left);
            judah.AddEntry(642, "Amon 642-640", PrintLocation.Left);
            judah.AddEntry(638, "Josiah 640-609", PrintLocation.Left);
            judah.AddEntry(609, "Jehoahaz 609", PrintLocation.Left);
            judah.AddEntry(604, "Jehoiakim 609-598", PrintLocation.Left);
            judah.AddEntry(598, "Jehoiachin 598/7", PrintLocation.Left);
            judah.AddEntry(595, "Zedekiah 597-587", PrintLocation.Left);
            judah.AddEntry(590, "1st dep. 597", PrintLocation.Left);
            judah.AddEntry(587, "2nd dep.", PrintLocation.Left);
            judah.AddEntry(582, "3rd dep. 582", PrintLocation.Left);
            judah.AddEntry(625, "(Zephaniah)", PrintLocation.Right);
            judah.AddEntry(619, "(Nahum)", PrintLocation.Right);
            judah.AddEntry(602, "(Habakkuk)", PrintLocation.Right);
            judah.AddEntry(735, 701, "(Micah)", PrintLocation.Right);
            judah.AddEntry(730, 688, "(Isaiah)");
            judah.AddEntry(630, 587, "(Jeremiah)");
            judah.AddEntry(595, 575, "(Ezekiel)", PrintLocation.Right);
            judah.AddEntry(568, "in exile");
            judah.AddEntry(545, 525, "(II Isaiah)", PrintLocation.Right);
            judah.AddEntry(538, "Cyrus' edict(538)");
            judah.AddEntry(528, "Zerubbabel (gov. Judah)");
            judah.AddEntry(520, "The Temple rebuilt 520-515");
            judah.AddEntry(515, "(Haggai, Zechariah)", PrintLocation.Right);

            var israel = new Block {Ruler = rule, Title = "Israel", StartValue = 780, EndValue = 722};
            israel.AddEntry(746, "Zechariah 746/5", PrintLocation.Left);
            israel.AddEntry(745, "Shallum 745", PrintLocation.Left);
            israel.AddEntry(745, "Menahem 745-737", PrintLocation.Right);
            israel.AddEntry(737, "Pekahiah 737/6", PrintLocation.Left);
            israel.AddEntry(736, "Pekah 736-732", PrintLocation.Right);
            israel.AddEntry(732, "Hoshea 732-724", PrintLocation.Left);
            israel.AddEntry(756, "(Amos)", PrintLocation.Right);
            israel.AddEntry(750, 736, "(Hosea)", PrintLocation.Right);

            var assyria = new Block {Ruler = rule, Title = "Assyria", StartValue = 780, EndValue = 604, Width = 29};
            assyria.AddEntry(777, 750, "Assyrian weakness");
            assyria.AddEntry(746, "Tiglath-pileser III 745-727");
            assyria.AddEntry(726, "Shalmaneser V 726-722");
            assyria.AddEntry(721, "Sargon II 721-705");
            assyria.AddEntry(704, "Sennacherib 704-681");
            assyria.AddEntry(680, "Esarhaddon 680-669");
            assyria.AddEntry(668, "Asshurbanapal 668-627");
            assyria.AddEntry(629, "Sin-shar-ishkun 629-612");
            assyria.AddEntry(609, "Asshur-uballit II 612-609");

            var babylon = new Block {Ruler = rule, Title = "Babylon", StartValue = 666, EndValue = 542};
            babylon.AddEntry(626, "Nabopolassar 626-605");
            babylon.AddEntry(609, "Nebuchadnezzar 605-562");
            babylon.AddEntry(562, "Amel-marduk 562-560");
            babylon.AddEntry(560, "Neriglissar 560-556");
            babylon.AddEntry(556, "Nabonidus 556-539");

            var persia = new Block {Ruler = rule, Title = "Persia/Media", StartValue = 675, EndValue = 500};
            persia.AddEntry(670, 638, "Medes");
            persia.AddEntry(625, "Cyaxares 625-585");
            persia.AddEntry(585, "Astyages 585-550");
            persia.AddEntry(550, "Cyrus (the Great) 550-530");
            persia.AddEntry(530, "Cambyses 530-522");
            persia.AddEntry(520, "Darius I 522-486");

            var greece = new Block {Ruler = rule, Title = "Archaic Greece", Width = 24};
            greece.AddEntry(776, "First Olympic Games");
            greece.AddEntry(750, "(Homer)", PrintLocation.Right);
            greece.AddEntry(710, "Spread of Greek colonies");
            greece.AddEntry(550, "(Xenophanes)", PrintLocation.Right);
            greece.AddEntry(540, "(Pythagoras)", PrintLocation.Right);
            greece.AddEntry(743, 724, "First Messenian War");
            greece.AddEntry(685, 668, "Second Messenian War");

            var rome = new Block {Ruler = rule, Title = "Kingdom of Rome"};
            rome.AddEntry(753,
                new string(Config.GraphChars.Rail, 3) + "Rome founded" + new string(Config.GraphChars.Rail, 3));
            rome.AddEntry(748, "Romulus 753-716");
            rome.AddEntry(717, "Numa Pompilius 715-672");
            rome.AddEntry(674, "Tullus Hostilius 672-640");
            rome.AddEntry(643, "Ancus Marcius 640-616");
            rome.AddEntry(616, "Lucius T. Priscus 616-578");
            rome.AddEntry(578, "Servius Tullius 578-534");
            rome.AddEntry(534, "Lucius T Superbus 534-510");
            rome.AddEntry(509,
                new string(Config.GraphChars.Rail, 3) + "Republic Founded" + new string(Config.GraphChars.Rail, 3));

            var plate = new Plate {Ruler = rule, Name = "Mid-Eighth to Fifth Centuries BCE"};
            plate.AddArrow(new Arrow(assyria, egypt) {StartValue = 663, Text = "Thebes sacked(663)"});
            plate.AddArrow(new Arrow(babylon, egypt) {StartValue = 568, Text = "Nebuchadnezzer invades"});
            plate.AddArrow(new Arrow(persia, babylon) {StartValue = 539, Text = "Fall of Babylon(539)"});
            plate.AddArrow(new Arrow(persia, egypt) {StartValue = 525, Text = "Fall of Egypt(525)"});
            plate.AddArrow(new Arrow(assyria, israel) {StartValue = 720, Text = "Fall of Samaria(722)"});
            plate.AddArrow(new Arrow(babylon, judah) {StartValue = 587, Text = "Fall of Jerusalem(587)"});
            plate.AddArrow(new Arrow(babylon, assyria) {StartValue = 612, Text = "Fall of Nineveh(612)"});
            plate.AddBlock(egypt);
            plate.AddBlock(judah);
            plate.AddBlock(israel);
            plate.AddBlock(assyria);
            plate.AddBlock(babylon);
            plate.AddBlock(persia);
            plate.AddBlock(greece);
            plate.AddBlock(rome);

            return plate;
        }
Exemple #50
0
        public Plate CE1500to1700()
        {
            var rule = new Rule {StartValue = 1500, EndValue = 1705, RuleLineSpacing = 7};

            var amer = new Block {Ruler = rule, Title = "Americas", Width = 50};
            amer.AddEntry(1506, "[Balboa] Pacific from Panama(1513)", PrintLocation.Left);
            amer.AddEntry(1510, "[Ponce d'Leon]-Florida(1513)", PrintLocation.Left);
            amer.AddEntry(1512, "1st African-native slaves(1517)");
            amer.AddEntry(1517, "[Franciso Garay]Mississippi R.(1519)", PrintLocation.Left);

            amer.AddEntry(1522, "[Magellan]cir.navigation(1522)", PrintLocation.Left);
            amer.AddEntry(1525, "[Verrazano]East Coast(1525)", PrintLocation.Left);

            amer.AddEntry(1534, "[Jacques Cartier]St. Lawrence R.(1534)", PrintLocation.Left);
            amer.AddEntry(1536, "[Cortes]-California(1536)", PrintLocation.Left);
            amer.AddEntry(1539, "[De Soto]-Alabama(1539)", PrintLocation.Left);
            amer.AddEntry(1542, "[Coronado]-Arizonia, Kansas(1540/41/42)", PrintLocation.Left);
            amer.AddEntry(1576, "[Frobisher]-NW Passage(1576-78)", PrintLocation.Left);
            amer.AddEntry(1583, "[H.Gilbert]-claims Newfoundland for England(1583)", PrintLocation.Left);
            amer.AddEntry(1586, "[W.Raleigh]-claims Virginia for England(1584)", PrintLocation.Left);
            amer.AddEntry(1590, "Roanoke Island-Lost Colony(1590)");
            amer.AddEntry(1603, "French colony in Nova Scotia(1603)");
            amer.AddEntry(1607, "Jamestown, Virginia(1607)(d.)");
            amer.AddEntry(1610, "[H.Hudson]-Hudson Riv.&Bay(1609/10)", PrintLocation.Left);

            amer.AddEntry(1619, "1st N.Amer African slaves @ Jamestown(1619)");
            amer.AddEntry(1623, "Pilgrims @ Plymouth(1620)");
            amer.AddEntry(1628, "Dutch purchase Manhattan Island(1626)");
            amer.AddEntry(1631, "Boston, MA founded(1630)");
            amer.AddEntry(1636, "Harvard College(1636)");
            amer.AddEntry(1639, "Delaware settled by Finns & Swedes(1638)");
            amer.AddEntry(1650, "settlment in N.Carolina(1650)");
            amer.AddEntry(1661, "Charlestown SC(1663)");
            amer.AddEntry(1664, "English take New Amsterdam-rename New York(1664)");
            amer.AddEntry(1669, "[La.Salle]-Ohio Riv.&Lake Mich.(1669/70)", PrintLocation.Left);
            amer.AddEntry(1682, "Philadelphia, PA founded(1682)");
            amer.AddEntry(1685, "[La.Salle]-Mid West N.Amer(1681-84)", PrintLocation.Left);

            var engd = new Block {Ruler = rule, Title = "England", Width = 36};
            engd.AddEntry(1509, "[Henry VIII 1509-1547]", PrintLocation.Left);
            engd.AddEntry(1547, "[Edward VI 1547-1553]", PrintLocation.Left);
            engd.AddEntry(1553, "[Mary 1553-1558]", PrintLocation.Left);
            engd.AddEntry(1558, "[Elizabeth I 1558-1603]", PrintLocation.Left);
            engd.AddEntry(1603, "[James I 1603-1625]", PrintLocation.Left);
            engd.AddEntry(1625, "[Charles I 1625-1649]", PrintLocation.Left);
            engd.AddEntry(1645, "[O. Cromwell 1644-1658]", PrintLocation.Left);
            engd.AddEntry(1656, "[R. Cromwell 1658-1660]", PrintLocation.Left);
            engd.AddEntry(1663, "[Charles II 1660-1685]", PrintLocation.Left);
            engd.AddEntry(1685, "[James II 1685-1688]", PrintLocation.Left);
            engd.AddEntry(1689, "[William III 1689-1702]", PrintLocation.Left);

            engd.AddEntry(1516, "'Utopia' Thomas More(1516)", PrintLocation.Right);
            engd.AddEntry(1534, "Church Of England(1534)", PrintLocation.Right);
            engd.AddEntry(1595, "Stock Frame invented(1589)(c.)", PrintLocation.Right);
            engd.AddEntry(1580, "W.Shakespeare (1564-1616)", PrintLocation.Right);
            engd.AddEntry(1605, "Gunpowder Plot(1605)");
            engd.AddEntry(1611, "'KJV Bible'(1611)", PrintLocation.Right);
            engd.AddEntry(1614, "'.Logarithms' J.Napier(1614)", PrintLocation.Right);
            engd.AddEntry(1619, "'Novum Organum' F.Bacon(1620)", PrintLocation.Right);
            engd.AddEntry(1642, "English Civil War(1642-1651)");
            engd.AddEntry(1651, "'Leviathan' T.Hobbes(1651)", PrintLocation.Right);
            engd.AddEntry(1628, "'De Motu Cordis' W.Harvey(1628)(e.)", PrintLocation.Right);
            engd.AddEntry(1667, "'Paradise Lost' Milton(1667)", PrintLocation.Right);
            engd.AddEntry(1687, "'Principia' Newton(1687)", PrintLocation.Right);
            engd.AddEntry(1691, "'Two Treatises' J.Locke(1689)", PrintLocation.Right);

            engd.AddEntry(1660, 1700, "Stuart(restored)", PrintLocation.Left);
            engd.AddEntry(1600, 1649, "Stuart", PrintLocation.Left);
            engd.AddEntry(1503, 1553, "Tudor", PrintLocation.Left);

            var fr = new Block {Ruler = rule, Title = "France"};
            fr.AddEntry(1509, "[Louis XII 1498-1515]", PrintLocation.Left);
            fr.AddEntry(1515, "[Francis I 1515-1547]", PrintLocation.Left);
            fr.AddEntry(1547, "[Henry II 1547-1559]", PrintLocation.Left);
            fr.AddEntry(1559, "[Francis II 1559/60]", PrintLocation.Left);
            fr.AddEntry(1563, "[Charles IX 1560-1574]", PrintLocation.Left);
            fr.AddEntry(1576, "[Henry III 1574-1589]", PrintLocation.Left);
            fr.AddEntry(1594, "[Henry IV 1589-1610]", PrintLocation.Left);
            fr.AddEntry(1610, "[Louis XIII 1610-1643]", PrintLocation.Left);
            fr.AddEntry(1629, "[Richelieu PM 1629-1642]", PrintLocation.Left);
            fr.AddEntry(1643, "[Louis XIV 1643-1715]", PrintLocation.Left);

            fr.AddEntry(1598, "Edict of Nantes(1598)", PrintLocation.Right);
            fr.AddEntry(1637, "'Discourse on the Method'", PrintLocation.Right);
            fr.AddEntry(1639, "    R.Descartes(1637)", PrintLocation.Right);
            fr.AddEntry(1656, "C.Huygens[pendulum clock](1656)", PrintLocation.Right);
            fr.AddEntry(1654, "O.Guericke[vacuum pump](1654)", PrintLocation.Right);
            fr.AddEntry(1673, "Leeuwenhoek[microscope](1675)", PrintLocation.Right);
            fr.AddEntry(1677, "'Ethics' B.Spinoza(1677)", PrintLocation.Right);

            fr.AddEntry(1685, "revocation of Edict of Nantes(1685)", PrintLocation.Left);
            fr.AddEntry(1589, 1792, "Capetian[Bourbon]", PrintLocation.Left);
            fr.AddEntry(1503, 1586, "Capetian[Valois]", PrintLocation.Left);

            var esp = new Block {Ruler = rule, Title = "Spain & Portugal"};
            esp.AddEntry(1516, "[Charles V 1516-1556]", PrintLocation.Left);
            esp.AddEntry(1556, "[Philip II 1556-1598]", PrintLocation.Left);
            esp.AddEntry(1598, "[Philip III 1598-1621]", PrintLocation.Left);
            esp.AddEntry(1621, "[Philip IV 1621-1665]", PrintLocation.Left);
            esp.AddEntry(1665, "[Charles II 1665-1700]", PrintLocation.Left);

            esp.AddEntry(1510, "Portuguese in India(1510)", PrintLocation.Right);
            esp.AddEntry(1542, "Portuguese in Japan(1542)", PrintLocation.Right);
            esp.AddEntry(1606, "Portuguese discover Australia(1606)", PrintLocation.Right);

            esp.AddEntry(1503, 1700, "Hapsburg Dyn.", PrintLocation.Left);

            var hre = new Block
            {
                Ruler = rule,
                Title = "Holy Roman Empire",
                Width = 38,
                StartValue = 1500,
                EndValue = 1648
            };
            hre.AddEntry(1511, "[Maximilian I 1486-1519]", PrintLocation.Left);
            hre.AddEntry(1540, "[Ferdinand I 1531-1564]", PrintLocation.Left);
            hre.AddEntry(1564, "[Maximilian II 1564-1576]", PrintLocation.Left);
            hre.AddEntry(1575, "[Rudolf II 1575-1612]", PrintLocation.Left);
            hre.AddEntry(1612, "[Matthias 1612-1619]", PrintLocation.Left);
            hre.AddEntry(1623, "[Ferdinand II 1619-1637]", PrintLocation.Left);
            hre.AddEntry(1637, "[Ferdinand III 1637-1657]", PrintLocation.Left);

            hre.AddEntry(1509, "Michelangelo - Sistine Chapel(1508)", PrintLocation.Right);
            hre.AddEntry(1517, "Martin Luther 'Theses'(1517)", PrintLocation.Right);
            hre.AddEntry(1525, "German Peasants' War(1525)");
            hre.AddEntry(1532, "'The Prince' Machiavelli(1532)", PrintLocation.Right);
            hre.AddEntry(1543, "'Celestial Spheres' Copernicus(1543)", PrintLocation.Right);
            hre.AddEntry(1545, "Council of Trent(1545,1563)", PrintLocation.Right);
            hre.AddEntry(1555, "Peace of Augsburg(1555)", PrintLocation.Right);
            hre.AddEntry(1582, "Gregorian Calendar(1582)", PrintLocation.Right);
            hre.AddEntry(1609, "Galileo[telescope](1609)", PrintLocation.Right);
            hre.AddEntry(1643, "Torricelli[barometer](1643)", PrintLocation.Right);
            hre.AddEntry(1648, "Peace of Westphalia(1648)");

            hre.AddEntry(1618, 1648, "Thirty Years War(1618-1648)(g.)", PrintLocation.Right);

            var swd = new Block {Ruler = rule, Title = "Swedish Empire", StartValue = 1611};
            swd.AddEntry(1614, "[Gustavus Adolphus 1611-1632]", PrintLocation.Left);
            swd.AddEntry(1632, "[Kristina 1632-1654]", PrintLocation.Left);
            swd.AddEntry(1654, "[Karl X Gustav 1654-1660]", PrintLocation.Left);
            swd.AddEntry(1660, "[Karl XI 1660-1697]", PrintLocation.Left);

            var ott = new Block {Ruler = rule, Title = "Ottoman Empire", Width = 34};
            ott.AddEntry(1503, "[Bayezid II 1481-1512]", PrintLocation.Left);
            ott.AddEntry(1512, "[Selim I 1512-1520]", PrintLocation.Left);
            ott.AddEntry(1520, "[Suleiman I 1520-1566]", PrintLocation.Left);
            ott.AddEntry(1566, "[Selim II 1566-1574]", PrintLocation.Left);
            ott.AddEntry(1570, "[Murad III 1574-1595]", PrintLocation.Left);
            ott.AddEntry(1595, "[Mehmed III 1595-1603]", PrintLocation.Left);
            ott.AddEntry(1603, "[Ahmed I 1603-1617]", PrintLocation.Left);
            ott.AddEntry(1617, "[Mustafa I 1617/18/22/23]", PrintLocation.Left);
            ott.AddEntry(1620, "[Osman II 1618-1622]", PrintLocation.Left);
            ott.AddEntry(1623, "[Murad IV 1623-1640]", PrintLocation.Left);
            ott.AddEntry(1640, "[Ibrahim 1640-1648]", PrintLocation.Left);
            ott.AddEntry(1648, "[Mehmed IV 1648-1687]", PrintLocation.Left);
            ott.AddEntry(1687, "[Suleiman II 1687-1691]", PrintLocation.Left);
            ott.AddEntry(1691, "[Ahmed II 1691-1695]", PrintLocation.Left);
            ott.AddEntry(1695, "[Mustafa II 1695-1703]", PrintLocation.Left);

            ott.AddEntry(1517, "Egypt & Arabia conquered(1517/18)");

            var plate = new Plate {Ruler = rule, Name = "Early Modern Age(1)"};
            plate.AddBlock(amer);
            plate.AddBlock(engd);
            plate.AddBlock(esp);
            plate.AddBlock(fr);
            plate.AddBlock(swd);
            plate.AddBlock(hre);
            plate.AddBlock(ott);
            plate.Notes.Add("(a.)Eurasian disease est. to have killed 90% of W.Hemisphere pop.");
            plate.Notes.Add("(b.)Ottoman naval power limited to the east Mediterranean");
            plate.Notes.Add("(c.)First invention to mech. the textile industry.");
            plate.Notes.Add("(d.)Considered the beginning of the British Empire");
            plate.Notes.Add("(e.)circulation of blood in the body");
            plate.Notes.Add("(f.)marks the end of Ottoman expansion into Europe");
            plate.Notes.Add("(g.)300+ German principalities become independent of any central auth.");

            plate.AddArrow(new Arrow(ott, hre) {StartValue = 1534, Text = "Siege of Vienna(1529)"});
            plate.AddArrow(new Arrow(esp, ott) {StartValue = 1571, Text = "Battle of Lepanto(1571)(b.)"});
            plate.AddArrow(new Arrow(esp, amer) {StartValue = 1521, Text = "Aztec Empire conquered(1519-21)(a.)"});
            plate.AddArrow(new Arrow(esp, amer) {StartValue = 1532, Text = "Inca Empire conquered(1532)"});
            plate.AddArrow(new Arrow(esp, engd) {StartValue = 1588, Text = "Spanish Armada(1588)"});
            plate.AddArrow(new Arrow(ott, hre) {StartValue = 1599, Text = "Battle of Keresztes(1596)"});
            plate.AddArrow(new Arrow(esp, hre) {StartValue = 1620, Text = "Battle of White Mountain(1620)"});
            plate.AddArrow(new Arrow(swd, hre) {StartValue = 1631, Text = "Battle of Breitenfeld(1631)"});
            plate.AddArrow(new Arrow(swd, hre) {StartValue = 1634, Text = "Battle of Nordlingen(1634)"});
            plate.AddArrow(new Arrow(hre, ott) {StartValue = 1664, Text = "Battle of St.Gotthard(1664)"});
            plate.AddArrow(new Arrow(ott, hre) {StartValue = 1683, Text = "Siege of Vienna(1683)(f.)"});
            plate.AddArrow(new Arrow(hre, ott) {StartValue = 1700, Text = "Battle of Zenta(1697)"});
            return plate;
        }
Exemple #51
0
        public Plate CE105to325()
        {
            var rule = new Rule {StartValue = 105, EndValue = 325, RuleLineSpacing = 7};

            var rome = new Block {Ruler = rule, Title = "Roman Empire", Width = 48};
            rome.AddEntry(114, "[Histories(Tacitus)]");
            rome.AddEntry(111, "+Dacia[Carpathian Mts]", PrintLocation.Left);
            rome.AddEntry(135, "+Arabia Petraea[Sinia]", PrintLocation.Left);
            rome.AddEntry(108, 114, "Trajan(98-117)", PrintLocation.Right);
            rome.AddEntry(117, 135, "Hadrian(117-138)", PrintLocation.Right);
            rome.AddEntry(138, "Antoninus Pius(138-161)", PrintLocation.Right);
            rome.AddEntry(144, 158, "\"Roman Golden Age\"", PrintLocation.Right);
            rome.AddEntry(166, "Roman emissaries in China (166)");
            rome.AddEntry(170, "[Meditations(Marcus Aurelius)]");
            rome.AddEntry(161, 180, "Marcus Aurelius(161-180)", PrintLocation.Right);
            rome.AddEntry(169, 180, "Antonine Plague (165-180)");
            rome.AddEntry(107, 191, "Nervan-Antonian Dyn.", PrintLocation.Left);
            rome.AddEntry(224, "(Parthian -> Sassanid Empire (224))");
            rome.AddEntry(193, 235, "Serveran Dyn.", PrintLocation.Left);
            rome.AddEntry(238, "Year of the Five Emperors(238)");
            rome.AddEntry(240, 282, "'Crisis of the 3rd Century'**", PrintLocation.Left);
            rome.AddEntry(257, 260, "Valerian persecutions(257-260)", PrintLocation.Right);
            rome.AddEntry(250, 270, "Cyprian Plague (250-270)");
            rome.AddEntry(270, 275, "Aurelian(270-275)", PrintLocation.Right);
            rome.AddEntry(303, 313, "Diocletian persecutions(303-313)", PrintLocation.Right);
            rome.AddEntry(284, 310, "Tetrarchy*", PrintLocation.Left);
            rome.AddEntry(312, 325, "Constantinian Dyn", PrintLocation.Left);
            rome.AddEntry(315, "Battle of the Mulvian Bridge(312)");
            rome.AddEntry(319, "Edict of Milan(313)");

            var west = new Block {Ruler = rule, Title = "Latin West", Width = 60};
            west.AddEntry(107, "Pope Alexander I(107-115)", PrintLocation.Right);
            west.AddEntry(117, "Pope Xystus(115-125)", PrintLocation.Right);
            west.AddEntry(127, "Pope Telesphorus(125-138)", PrintLocation.Right);
            west.AddEntry(140, "Pope Hyginus(138-140)", PrintLocation.Right);
            west.AddEntry(144, "Pope Pius(142-155)", PrintLocation.Right);
            west.AddEntry(157, "Pope Anicetus(155-166)", PrintLocation.Right);
            west.AddEntry(168, "Pope Soter(166-175)", PrintLocation.Right);
            west.AddEntry(177, "Pope Eleuterus(175-189)", PrintLocation.Right);
            west.AddEntry(191, "Pope Victor I(189,199)", PrintLocation.Right);
            west.AddEntry(201, "Pope Zephyrinus(199-217)", PrintLocation.Right);
            west.AddEntry(219, "Pope Callixtus(217-222)", PrintLocation.Right);
            west.AddEntry(222, "Pope Urban(222-230)", PrintLocation.Right);
            west.AddEntry(233, "Pope Pontian(230-235)", PrintLocation.Right);
            west.AddEntry(236, "Pope Anterus(235-236)", PrintLocation.Right);
            west.AddEntry(239, "Pope Fabian(236-250)", PrintLocation.Right);

            west.AddEntry(257, "Pope Sixtus II(257-258)", PrintLocation.Right);

            west.AddEntry(150, "[H] Marcionism (Old Test. false)");
            west.AddEntry(156, "Irenaeus(130-202)", PrintLocation.Left);
            west.AddEntry(180, "[Against Heresies(Irenaeus)]");
            west.AddEntry(230, "Cyprian of Carthage(200-258)", PrintLocation.Left);
            west.AddEntry(210, "Tertullian(160-225)", PrintLocation.Left);
            west.AddEntry(193, "[Apologeticus(Tertullian)]");
            west.AddEntry(175, "[H] Valentinians (Aeons)");
            west.AddEntry(195, "[H] Adoptionism (christ divine after baptism)");
            west.AddEntry(200, "[H] Sabellianism (no trinity)");
            west.AddEntry(312, "[H] Manichaeism (duality, east import)");
            west.AddEntry(280, "[H] Donatist (disallow lapsed)");
            west.AddEntry(260, 274, "Gallic Empire (260-274)");

            var east = new Block {Ruler = rule, Title = "Greek East", Width = 48};
            east.AddEntry(130, "Justin Martyr(100-165)", PrintLocation.Left);
            east.AddEntry(155, "[First Apology(Martyr)]");
            east.AddEntry(200, "Clement of Alexandria(150-215)", PrintLocation.Left);
            east.AddEntry(225, "Origen(185-254)", PrintLocation.Left);
            east.AddEntry(240, "[Hexapla(Origen)]");
            east.AddEntry(165, "[H] Montanism (frenzy prophets)");
            east.AddEntry(175, "[H] Docetism (christ w/o body)");
            east.AddEntry(135, "[H] Ophites (serpent worship)");
            east.AddEntry(145, "[H] Egyptian Basilides (non-being creation)");
            east.AddEntry(269, 274, "Palmyrene Empire (269-274)");

            var judea = new Block {Ruler = rule, EndValue = 142, Title = "Judea", Width = 64};
            judea.AddEntry(124, 142, "Third Jewish-Roman War", PrintLocation.Left);
            judea.AddEntry(128, "Planned revolt begins, led by Simon bar Kokhba(132)");
            judea.AddEntry(130, "Judea an independent state(132-134)");
            judea.AddEntry(134, "12 legions total, Jerusalem lost, Betar fortress siege(135)");
            judea.AddEntry(137, "580,000 Jews killed, XXII legion destroyed(135)");
            judea.AddEntry(139, "Hadrian outlaws Judism, Judea renamed Palaestina(136)");
            var plate = new Plate {Ruler = rule, Name = "Second and Third Centuries CE (Ante-Nicene)"};

            plate.AddBlock(rome);
            plate.AddBlock(west);
            plate.AddBlock(east);
            plate.AddBlock(judea);

            plate.Notes.Add(" * Empire ruled by four different tetrarchs in four different capitals.");
            plate.Notes.Add(
                " ** A period in which the empire nearly collapsed by the combined affects of invasion, civil war, plague, hyperinflation.");

            return plate;
        }
    private List<Plate> GeneratePlanetTectonicPlates()
    {
        var plates = new List<Plate>();
        var platelessTiles = new List<Tile>();
        var platelessTilePlates = new List<Plate>();
        var topology = this.surface.topology;

        var failedCount = 0;
        while (plates.Count < plateCount && failedCount < 10000)
        {
            var corner = topology.corners[globalRandom.Next(0, topology.corners.Count)];
            var adjacentToExistingPlate = false;
            for (var i = 0; i < corner.tiles.Length; ++i)
            {
                if (corner.tiles[i].plate != null)
                {
                    adjacentToExistingPlate = true;
                    failedCount += 1;
                    break;
                }
            }
            if (adjacentToExistingPlate) continue;

            failedCount = 0;

            var oceanic = (globalRandom.NextDouble() < this.oceanicRate);
            var plate = new Plate(new Color((float)globalRandom.NextDouble(), (float)globalRandom.NextDouble(), (float)globalRandom.NextDouble()),
                                    Utils.RandomUnitVector(globalRandom),
                                    (float)(globalRandom.NextDouble() * (Math.PI / 15f) - (Math.PI / 30f)),
                                    (float)(globalRandom.NextDouble() * (Math.PI / 15f) - (Math.PI / 30f)),
                                    (float)((oceanic) ? (globalRandom.NextDouble() * 0.5 - 0.8) : (globalRandom.NextDouble() * 0.4 + 0.1)),
                                    oceanic,
                                    corner);
            plates.Add(plate);

            for (var i = 0; i < corner.tiles.Length; ++i)
            {
                corner.tiles[i].plate = plate;
                plate.tiles.Add(corner.tiles[i]);
            }
            for (var i = 0; i < corner.tiles.Length; ++i)
            {
                var tile = corner.tiles[i];
                for (var j = 0; j < tile.tiles.Length; ++j)
                {
                    var adjacentTile = tile.tiles[j];
                    if (adjacentTile.plate == null)
                    {
                        platelessTiles.Add(adjacentTile);
                        platelessTilePlates.Add(plate);
                    }
                }
            }
        }

        while (platelessTiles.Count > 0)
        {
            // XXX: Try something else instead of globalRandom.Next() if this fails.
            var tileIndex = (int)Math.Floor(Math.Pow(globalRandom.NextDouble(), 2) * platelessTiles.Count);
            var tile = platelessTiles[tileIndex];
            var plate = platelessTilePlates[tileIndex];
            platelessTiles.RemoveAt(tileIndex); // splice(tileIndex, 1);
            platelessTilePlates.RemoveAt(tileIndex); // splice(tileIndex, 1);
            if (tile.plate == null)
            {
                tile.plate = plate;
                plate.tiles.Add(tile);
                for (var j = 0; j < tile.tiles.Length; ++j)
                {
                    if (tile.tiles[j].plate == null)
                    {
                        platelessTiles.Add(tile.tiles[j]);
                        platelessTilePlates.Add(plate);
                    }
                }
            }
        }
        calculateCornerDistancesToPlateRoot(plates);
        this.tectonicPlates = plates;
        return plates;
    }
Exemple #53
0
        public Plate CE30to105()
        {
            var rule = new Rule { StartValue = 30, EndValue = 105, RuleLineSpacing = 7 };

            var wRome = new Block { Ruler = rule, Title = "Roman Empire(West)", Width = 48 };
            wRome.AddEntry(32,"Tiberius(14BCE-37)",PrintLocation.Left);
            wRome.AddEntry(46,"+Britain", PrintLocation.Left);
            wRome.AddEntry(37, "Caligula(37-41)", PrintLocation.Left);
            wRome.AddEntry(41, "Claudius(41-54)", PrintLocation.Left);
            wRome.AddEntry(54, "Nero(54-68)", PrintLocation.Left);
            wRome.AddEntry(64, "Great Fire of Rome");
            wRome.AddEntry(67, "Martyrdom of Peter & Paul @ Rome(67)", PrintLocation.Right);
            wRome.AddEntry(68,"'Year of Four Emperors'");
            wRome.AddEntry(70, "Vespasian(69-79)", PrintLocation.Left);
            wRome.AddEntry(79, "Titus(79-81)", PrintLocation.Left);
            wRome.AddEntry(81, "Domitian(81-96)", PrintLocation.Left);
            wRome.AddEntry(97, "Nerva(96-98)", PrintLocation.Left);
            wRome.AddEntry(98, "Trajan(98-117)", PrintLocation.Left);
            wRome.AddEntry(79, "Pompeii destroyed(79)");
            wRome.AddEntry(80, "Colosseum completed(80)");
            wRome.AddEntry(82, "Arch of Titus erected-for capture of Jerusalem");
            wRome.AddEntry(69, 79, "Pope Linus(67-79)", PrintLocation.Right);
            wRome.AddEntry(81, 92, "Pope Anacletus(79-92)", PrintLocation.Right);
            wRome.AddEntry(90,"[The Jewish War(Josephus)]");
            wRome.AddEntry(93, 99, "Pope Clement I(92-99)", PrintLocation.Right);
            wRome.AddEntry(100, 105, "Pope Evaristus(99-107)", PrintLocation.Right);

            wRome.AddEntry(69, 95, "Flavian Dyn.", PrintLocation.Left);
            wRome.AddEntry(31, 68, "Julio-Claudian Dyn.", PrintLocation.Left);
            wRome.AddEntry(96, 105, "Nervan-Antonian Dyn.", PrintLocation.Left);

            var eRome = new Block { Ruler = rule, Title = "Roman Empire(East)", Width = 48 };
            eRome.AddEntry(34, "Conversion of Saul(34)");
            eRome.AddEntry(35, 37, "Paul in Arabia(35-37)");
            eRome.AddEntry(43, "Church of Antioch Founded(43)");
            eRome.AddEntry(48, "First Missionary Journey(48)", PrintLocation.Left);
            eRome.AddEntry(49,52,"Second Missionary Journey(49-52)", PrintLocation.Left);
            eRome.AddEntry(50, "Paul est. Church @ Corinth(50)", PrintLocation.Right);
            eRome.AddEntry(51, "Paul in Athens", PrintLocation.Right);
            eRome.AddEntry(53, 57, "Third Missionary Journey(53-57)", PrintLocation.Left);
            eRome.AddEntry(58,"[Epistle to Romans(Paul)]");
            eRome.AddEntry(67, "[Gospel of Mark (John Mark of Jerusalem)]");
            eRome.AddEntry(70, "[Gospel of Matthew]");
            eRome.AddEntry(85, "[Gospel of Luke]");
            eRome.AddEntry(89, "Polycarp of Smyrna(69-155)");
            eRome.AddEntry(75, "Ignatius of Antioch(35-106)");
            eRome.AddEntry(95, "[Gospel of John]");
            eRome.AddEntry(98, "John the Apostle dies(98)");

            var judea = new Block {Ruler = rule, Title = "Judea", Width = 60};
            judea.AddEntry(31, "Pontius Pilate(26-36)", PrintLocation.Left);
            judea.AddEntry(36, "Marcellus(36-37)", PrintLocation.Left);
            judea.AddEntry(37, "Marullus(37-41)", PrintLocation.Left);
            judea.AddEntry(41, "Herod Agrippa I [king](41-44)", PrintLocation.Left);
            judea.AddEntry(43, "Cuspius Fadus(44-46)", PrintLocation.Left);
            judea.AddEntry(46, "T.Julius Alexander(46-48)", PrintLocation.Left);
            judea.AddEntry(48, "Ventidius Cumanus(48-52)", PrintLocation.Left);
            judea.AddEntry(52, "M. Antonius Felixs(52-60)", PrintLocation.Left);
            judea.AddEntry(60, "Porcius Festus(60-62)", PrintLocation.Left);
            judea.AddEntry(62, "Lucceius Albinus(62-64)", PrintLocation.Left);
            judea.AddEntry(64, "Gessius Florus(64-66)", PrintLocation.Left);
            judea.AddEntry(74, "Lucius Flavius Silva(72-81)", PrintLocation.Left);
            judea.AddEntry(81, "M. Salvidenus(81-85)", PrintLocation.Left);
            judea.AddEntry(86, "Cnaeus Pompeius Longinus(c.86)", PrintLocation.Left);
            judea.AddEntry(99, "T. Claudius Atticus Herodes(99-102)", PrintLocation.Left);
            judea.AddEntry(102, "G. Julius Quadratus Bassus(102-104)", PrintLocation.Left);

            judea.AddEntry(66, "Battle of Beth Horan - 21st legion defeated(66)");
            judea.AddEntry(67, "Vespasian & Titus: 10th, 5th & 15th legions arrive(67)");
            judea.AddEntry(68, "Rebels @ Galilee crushed-leaders flee to Jerusalem(68)");
            judea.AddEntry(69, "Vespasian to Rome, Titus advances on Jerusalem(69)");
            judea.AddEntry(70, "Siege of Jerusalem-Temple destroyed(70)");
            judea.AddEntry(71, "Titus to Rome w\\ spoils-triumph procession held(71)");
            judea.AddEntry(72, "Siege of stronghold Masada(72)");

            judea.AddEntry(32, "Stephen's Stoning(32)", PrintLocation.Right);
            judea.AddEntry(42, "James (Zebedee) Killed by Herod(42?)", PrintLocation.Right);
            judea.AddEntry(44, "Paul & Barnabas @ Jerusalem - Famine relief(44)", PrintLocation.Right);
            judea.AddEntry(49, "First Christian Council @ Jerusalem(49)", PrintLocation.Right);
            judea.AddEntry(62, "Martyrdom of James (brother)(62)", PrintLocation.Right);

            judea.AddEntry(31,40,"[prefects]");
            judea.AddEntry(43,64,"[procurators]");
            judea.AddEntry(65, 72, "First Jewish-Roman War(66-72)", PrintLocation.Left);
            judea.AddEntry(73,105,"[legates]");

            var plate = new Plate { Ruler = rule, Name = "First Century CE" };

            plate.AddBlock(wRome);
            plate.AddBlock(eRome);
            plate.AddBlock(judea);

            return plate;
        }
 public void Ensure_that_containers_loaded_into_the_dishwasher_are_empty_first()
 {
     Avatar avatar = new Avatar();
     BaconSlab bacon = new BaconSlab();
     avatar.PickUp(bacon);
     Dishwasher washer = new Dishwasher();
     Plate plate = new Plate();
     avatar.Put(bacon).In(plate);
     washer.Load(plate);
 }
Exemple #55
0
        public Plate CE1075to1350()
        {
            var rule = new Rule {StartValue = 1075, EndValue = 1350, RuleLineSpacing = 7};

            var engd = new Block {Ruler = rule, Title = "Kingdom of England", Width = 35};

            engd.AddEntry(1087, "William II(1085-1100)", PrintLocation.Left);
            engd.AddEntry(1100, "Henry I(1100-1135)", PrintLocation.Left);
            engd.AddEntry(1135, 1150, "The Anarchy(1135-1154)");
            engd.AddEntry(1159, "Henry II(1154-1189)", PrintLocation.Left);
            engd.AddEntry(1189, "Richard I(1189-1199)", PrintLocation.Left);
            engd.AddEntry(1199, "John(1199-1216)", PrintLocation.Left);
            engd.AddEntry(1219, "Magna Carta(1215)", PrintLocation.Right);
            engd.AddEntry(1222, "Henry III(1216-1272)", PrintLocation.Left);
            engd.AddEntry(1272, "Edward I(1272-1307)", PrintLocation.Left);
            engd.AddEntry(1300, "[Sentences(Duns Scotus)]", PrintLocation.Right);
            engd.AddEntry(1307, "Edward II(1307-1327)", PrintLocation.Left);
            engd.AddEntry(1327, "Edward III(1327-1377)", PrintLocation.Left);
            engd.AddEntry(1334, 1350, "2nd War Scottish Indep.(1332-1357)");
            engd.AddEntry(1296, 1328, "1st War Scottish Indep.(1296-1328)");
            engd.AddEntry(1337, 1350, "Hundred Years' War(1337-1415)");

            engd.AddEntry(1077, 1135, "Norman dyn.", PrintLocation.Left);
            engd.AddEntry(1154, 1214, "Avgevin dyn.", PrintLocation.Left);
            engd.AddEntry(1219, 1350, "Plantagenet dyn.", PrintLocation.Left);

            var hre = new Block {Ruler = rule, Title = "Holy Roman Empire"};
            hre.AddEntry(1084, "Henry IV(1084-1105)", PrintLocation.Left);
            hre.AddEntry(1111, "Henry V(1111-1125)", PrintLocation.Left);
            hre.AddEntry(1133, "Lothair III(1133-1137)", PrintLocation.Left);
            hre.AddEntry(1155, "Frederick I(1155-1190)", PrintLocation.Left);
            hre.AddEntry(1191, "Henry VI(1191-1197)", PrintLocation.Left);
            hre.AddEntry(1209, "Otto IV(1209-1215)", PrintLocation.Left);
            hre.AddEntry(1220, "Frederick II(1220-1250)", PrintLocation.Left);
            hre.AddEntry(1247, "Interregnum(1254-1273)");
            hre.AddEntry(1312, "Henry VII(1312,3)", PrintLocation.Left);
            hre.AddEntry(1328, "Louis IV(1328-1347)", PrintLocation.Left);
            hre.AddEntry(1331, "William of Ockham", PrintLocation.Right);

            hre.AddEntry(1078, 1125, "Salian dyn.", PrintLocation.Left);
            hre.AddEntry(1128, 1137, "Supplinburg dyn.", PrintLocation.Left);
            hre.AddEntry(1152, 1197, "Staufen dyn.", PrintLocation.Left);
            hre.AddEntry(1215, 1250, "Staufen dyn.(again)", PrintLocation.Left);

            var byz = new Block {Ruler = rule, Title = "Byzantine Empire"};
            byz.AddEntry(1081, "Alexios I(1081-1118)", PrintLocation.Left);
            byz.AddEntry(1118, "John II(1118-1143)", PrintLocation.Left);
            byz.AddEntry(1150, "Manuel I(1143-1180)", PrintLocation.Left);
            byz.AddEntry(1180, "Alexios II(1180-1183)", PrintLocation.Left);
            byz.AddEntry(1182, "Andronikos I(1183-1185)", PrintLocation.Left);
            byz.AddEntry(1091, "Isaac II(1185-1195)", PrintLocation.Left);
            byz.AddEntry(1195, "Alexios III(1195-1203)", PrintLocation.Left);
            byz.AddEntry(1200, "Alexios IV & Isaac II(1203,4)", PrintLocation.Left);
            byz.AddEntry(1203, "Alexios V(1204)", PrintLocation.Right);
            byz.AddEntry(1208, "Theodore I(1205-1222)", PrintLocation.Left);
            byz.AddEntry(1222, "John III(1222-1254)", PrintLocation.Left);
            byz.AddEntry(1254, "Theodore II(1254-1258)", PrintLocation.Left);
            byz.AddEntry(1258, "John IV(1258-1261)", PrintLocation.Left);
            byz.AddEntry(1268, "Michael VII(1259-1282)", PrintLocation.Left);
            byz.AddEntry(1282, "Andronikos II(1282-1328)", PrintLocation.Left);
            byz.AddEntry(1328, "Andronikos III(1328-1341)", PrintLocation.Left);
            byz.AddEntry(1341, 1347, "Civil War");

            byz.AddEntry(1079, 1183, "Komnenid dyn.", PrintLocation.Left);
            byz.AddEntry(1188, 1203, "Angelid dyn.", PrintLocation.Left);
            byz.AddEntry(1205, 1259, "Laskarid dyn.", PrintLocation.Left);
            byz.AddEntry(1265, 1350, "Palaiologan dyn.", PrintLocation.Left);

            var slj = new Block {Ruler = rule, Title = "Rum Seljuks", EndValue = 1307};
            slj.AddEntry(1077, "Suleyman(1077-1082)", PrintLocation.Left);
            slj.AddEntry(1092, "Kilij Arslan(1092-1107)", PrintLocation.Left);
            slj.AddEntry(1110, "Malik Shah(1110-1116)", PrintLocation.Left);
            slj.AddEntry(1116, "Masud I(1116-1156)", PrintLocation.Left);
            slj.AddEntry(1156, "Kilij Arslan II(1156-1192)", PrintLocation.Left);
            slj.AddEntry(1194, 1202, "wars of Ascension");
            slj.AddEntry(1205, "Kaykhusraw I(1205-1211)", PrintLocation.Left);
            slj.AddEntry(1211, "Kaykaus I(1211-1220)", PrintLocation.Left);
            slj.AddEntry(1220, "Kayqubad I(1220-1237)", PrintLocation.Left);
            slj.AddEntry(1237, "Kaykhusraw II(1237-1246)", PrintLocation.Left);
            slj.AddEntry(1252, 1304, "Mongol admin/intrl dicord");

            var ott = new Block {Ruler = rule, Title = "Ottoman Empire", StartValue = 1299};
            ott.AddEntry(1303, "Osman I(1299-1326)");
            ott.AddEntry(1328, "Orhan(1327-1359)");

            var mong = new Block {Ruler = rule, Title = "Mongols", StartValue = 1200, Width = 38};
            mong.AddEntry(1206, "Genghis(1206-1227)", PrintLocation.Left);
            mong.AddEntry(1215, "Battle of Zhongdu(1215)[N. China]");
            mong.AddEntry(1225, "Battle of Kalka R.(1223)[Ukraine][+]");
            mong.AddEntry(1229, "Ogedei(1229-1241)", PrintLocation.Left);
            mong.AddEntry(1233, "Invade Korea(1236)");
            mong.AddEntry(1238, "Battle of Mohi(1241)[Hungary]");
            mong.AddEntry(1241, "Battle of Legnica(1241)[Poland]");
            mong.AddEntry(1248, "Guyuk(1246-1248)", PrintLocation.Left);
            mong.AddEntry(1251, "Mongke(1251-1259)", PrintLocation.Left);
            mong.AddEntry(1265, "sack Hanio(1257)[Vietnam]");
            mong.AddEntry(1260, "Kublai(1260-1294)", PrintLocation.Left);
            mong.AddEntry(1274, "Battle of Bun'ei(1274)[Japan]");
            mong.AddEntry(1281, "Battle of Koan(1281)[Japan]");
            mong.AddEntry(1333, "Toghan Temur(1333-1370)", PrintLocation.Left);

            var ftd = new Block {Ruler = rule, Title = "Fatimid Caliphate", EndValue = 1171};
            ftd.AddEntry(1078, "Abul-Qasim(1094-1101)", PrintLocation.Left);
            ftd.AddEntry(1101, "Abu Ali(1101-1130)", PrintLocation.Left);
            ftd.AddEntry(1130, "Abul-Maymun(1130-1149)", PrintLocation.Left);
            ftd.AddEntry(1149, "Abu Mansur(1149-1154)", PrintLocation.Left);
            ftd.AddEntry(1154, "Abul-Qasim(1154-1160)", PrintLocation.Left);
            ftd.AddEntry(1160, "Abu Muhammad(1160-1171)", PrintLocation.Left);

            var ayy = new Block {Ruler = rule, Title = "Ayyubid Sultanates", StartValue = 1171, EndValue = 1260};
            ayy.AddEntry(1174, "Saladin(1174-1193)", PrintLocation.Left);
            ayy.AddEntry(1194, 1240, "wars of Ascension");

            var mam = new Block {Ruler = rule, Title = "Mamluk Sultanate", StartValue = 1250};
            mam.AddEntry(1254, 1350, "Bahri dyn.", PrintLocation.Left);

            var jrs = new Block {Ruler = rule, Title = "Crusader States", StartValue = 1090, EndValue = 1295};
            jrs.AddEntry(1100, 1149, "County of Edessa", PrintLocation.Left);
            jrs.AddEntry(1103, 1268, "Principality of Antioch", PrintLocation.Right);
            jrs.AddEntry(1106, 1288, "Kingdom of Jerusalem");
            jrs.AddEntry(1291, "Fall of Acre(1291)");

            var fr = new Block {Ruler = rule, Title = "Kingdom of France", Width = 28};
            fr.AddEntry(1096, "Phillip I(1052-1108)", PrintLocation.Left);
            fr.AddEntry(1108, "Louis VI(1108-1137)", PrintLocation.Left);
            fr.AddEntry(1137, "Louis VII(1137-1180)", PrintLocation.Left);
            fr.AddEntry(1167, "[H] Cathars (duality)");
            fr.AddEntry(1180, "Phillip II(1180-1223)", PrintLocation.Left);
            fr.AddEntry(1209, "Cathar Crusade(1209-1229)");
            fr.AddEntry(1223, "Louis VII(1223-1226)", PrintLocation.Left);
            fr.AddEntry(1226, "Louis IX(1226-1270)", PrintLocation.Left);
            fr.AddEntry(1270, "Philip III(1270-1285)", PrintLocation.Left);
            fr.AddEntry(1285, "Philip IV(1285-1314)", PrintLocation.Left);
            fr.AddEntry(1314, "Louis X(1314-1316)", PrintLocation.Left);
            fr.AddEntry(1317, "The Divine Comedy(1320)");
            fr.AddEntry(1320, "Philip V(1316-1322)", PrintLocation.Left);
            fr.AddEntry(1325, "Charles IV(1322-1328)", PrintLocation.Left);
            fr.AddEntry(1328, "Philip VI(1328-1350)", PrintLocation.Left);
            fr.AddEntry(1240, "Thomas Aquinas(1225-1274)", PrintLocation.Right);
            fr.AddEntry(1079, 1350, "Capetian dyn.", PrintLocation.Left);
            fr.AddEntry(1163, 1340, "Notre Dame ctor(1163-1345)", PrintLocation.Right);
            fr.AddEntry(1309, 1350, "Avignon Papacy(1307-1377)");

            var plate = new Plate {Ruler = rule, Name = "High Middle Ages"};
            plate.AddBlock(engd);
            plate.AddBlock(fr);
            plate.AddBlock(hre);
            plate.AddBlock(byz);
            plate.AddBlock(jrs);
            plate.AddBlock(slj);
            plate.AddBlock(ott);
            plate.AddBlock(ftd);
            plate.AddBlock(ayy);
            plate.AddBlock(mong);
            plate.AddBlock(mam);

            plate.AddArrow(new Arrow(fr, slj)
            {
                StartValue = 1096,
                Text = "First Crusade(1096-1099)",
                ArrowTail = "...",
                FromLeftToRightArrowHead = ".....>"
            });
            plate.AddArrow(new Arrow(slj, byz) {StartValue = 1176, Text = "Battle of Myriokephalon(1176)"});
            plate.AddArrow(new Arrow(fr, slj)
            {
                StartValue = 1145,
                Text = "Second Crusade(1145-1149)",
                ArrowTail = "...",
                FromLeftToRightArrowHead = ".....>"
            });
            plate.AddArrow(new Arrow(engd, slj)
            {
                StartValue = 1189,
                Text = "Third Crusade(1189-1192)",
                ArrowTail = "..",
                FromLeftToRightArrowHead = ".....>"
            });
            plate.AddArrow(new Arrow(fr, engd) {StartValue = 1214, Text = "Battle of Bouvines(1214)**"});
            plate.AddArrow(new Arrow(mam, engd)
            {
                StartValue = 1314,
                Text = "Medieval Warm Period ends***",
                ArrowTail = "............]",
                FromRightToLeftArrowHead = "[......"
            });
            plate.AddArrow(new Arrow(mam, engd)
            {
                StartValue = 1346,
                Text = "Black Death (1346)****",
                ArrowTail = "............]",
                FromRightToLeftArrowHead = "[......"
            });
            plate.AddArrow(new Arrow(ayy, jrs) {StartValue = 1187, Text = "Battle of Hattin(1187)*"});
            plate.AddArrow(new Arrow(fr, byz)
            {
                StartValue = 1202,
                Text = "Fourth Crusade(1202-1204)",
                FromLeftToRightArrowHead = ".....>"
            });
            plate.AddArrow(new Arrow(hre, ayy) {StartValue = 1213, Text = "Fifth Crusade(1213-1221)"});
            plate.AddArrow(new Arrow(hre, ayy)
            {
                StartValue = 1228,
                Text = "Sixth Crusade(1228)",
                FromLeftToRightArrowHead = ".......>"
            });
            plate.AddArrow(new Arrow(mong, slj) {StartValue = 1243, Text = "Battle of Kose Dag(1243)"});
            plate.AddArrow(new Arrow(jrs, ayy) {StartValue = 1248, Text = "Battle of Harbiyah(1244)"});
            plate.AddArrow(new Arrow(mong, ayy) {StartValue = 1258, Text = "Siege of Baghdad(1258)"});
            plate.AddArrow(new Arrow(mam, mong) {StartValue = 1258, Text = "Battle of Ain Jalut(1260)[a]"});
            plate.AddArrow(new Arrow(mam, mong) {StartValue = 1299, Text = "B. of Wadi al-Khazandar(1299) "});
            plate.AddArrow(new Arrow(mam, mong) {StartValue = 1303, Text = "B. of Marj al-Saffar(1303)"});
            plate.AddArrow(new Arrow(ott, byz) {StartValue = 1324, Text = "capture of Bursa(1326)"});
            plate.AddArrow(new Arrow(ott, byz) {StartValue = 1333, Text = "capture Nicaea(1333)"});
            plate.AddArrow(new Arrow(ott, byz) {StartValue = 1337, Text = "capture Nicomedia(1337)"});

            plate.Notes.Add("* Jerusalem is retaken by Muslims");
            plate.Notes.Add(
                "** John of England was weakened thereby submitting to sign the Magna Carta while Phillip centralized monarchy ruled until French Rev.");
            plate.Notes.Add("*** This causes wide spread famine and population decline.");
            plate.Notes.Add(
                "**** By the end of this period the population of the west is cut by 1/2th of what it was prior.");
            plate.Notes.Add(
                "[+] Republic of Vience had struck a deal with the Mongols to destroy any other European trading posts.");
            plate.Notes.Add(
                "[a] first time Mongols ever permanently beaten back in direct combat - Mongols never reach the Nile.");
            plate.Notes.Add("Sultan : sovereign;  Emir : local cheiften; Caliph : successor to Muhammad");
            return plate;
        }
Exemple #56
0
        public Plate CE1350to1500()
        {
            var rule = new Rule {StartValue = 1350, EndValue = 1500, RuleLineSpacing = 7};

            var engd = new Block {Ruler = rule, Title = "Kingdom of England", Width = 28};
            engd.AddEntry(1381, "Peasent Revolt(1381)");
            engd.AddEntry(1327, "Edward III(1327-1377)", PrintLocation.Left);
            engd.AddEntry(1377, "Richard II(1377-1399)", PrintLocation.Left);
            engd.AddEntry(1382, "'The Canterbury Tales'", PrintLocation.Right);
            engd.AddEntry(1384, "Wycliffe translates Bible", PrintLocation.Right);
            engd.AddEntry(1405, "Henry IV(1399-1413)", PrintLocation.Left);
            engd.AddEntry(1413, "Henry V(1413-1422)", PrintLocation.Left);
            engd.AddEntry(1422, "Henry VI(1422-1461)", PrintLocation.Left);
            engd.AddEntry(1470, "Edward IV(1461-1483)", PrintLocation.Left);
            engd.AddEntry(1479, "Edward V(1483)", PrintLocation.Left);
            engd.AddEntry(1481, "Richard III(1483-1485)", PrintLocation.Left);
            engd.AddEntry(1485, "Battle of Bosworth(1485)**");
            engd.AddEntry(1491, "Henry VII(1485-1509)", PrintLocation.Left);

            engd.AddEntry(1399, 1459, "House of Lancaster", PrintLocation.Left);
            engd.AddEntry(1355, 1415, "Hundred Years' War (1337-1415)");
            engd.AddEntry(1455, 1485, "War of the Roses(1455-1485)");
            engd.AddEntry(1461, 1485, "House of York", PrintLocation.Left);
            engd.AddEntry(1488, 1500, "The Tudors", PrintLocation.Left);

            var fr = new Block {Ruler = rule, Title = "Kingdom of France", Width = 28};
            fr.AddEntry(1358, "Peasent Revolt(1358)");
            fr.AddEntry(1353, "John II(1350-1364)", PrintLocation.Left);
            fr.AddEntry(1364, "Charles V(1364-1380)", PrintLocation.Left);
            fr.AddEntry(1380, "Charles VI(1380-1422)", PrintLocation.Left);
            fr.AddEntry(1422, "Charles VII(1422-1461)", PrintLocation.Left);
            fr.AddEntry(1461, "Louis XI(1461-1483)", PrintLocation.Left);
            fr.AddEntry(1483, "Charles VIII(1483-1498)", PrintLocation.Left);
            fr.AddEntry(1485, "'Le Morte d`Arthur'(1485)");

            var byz = new Block {Ruler = rule, Title = "Byzantine Empire", EndValue = 1453};
            byz.AddEntry(1353, "John V(1341-1391) [b]", PrintLocation.Left);
            byz.AddEntry(1391, "Manuel II(1391-1425)", PrintLocation.Left);
            byz.AddEntry(1425, "John VIII(1425-1448)", PrintLocation.Left);
            byz.AddEntry(1449, "Constantine XI(1449-1453)", PrintLocation.Left);

            var hre = new Block {Ruler = rule, Title = "Holy Roman Empire"};
            hre.AddEntry(1355, "Charles IV(1347-1378)", PrintLocation.Left);
            hre.AddEntry(1378, "Wenceslas(1378-1400)", PrintLocation.Left);
            hre.AddEntry(1386, "Univ. of Heidelberg (1386)");
            hre.AddEntry(1400, "Rupert(1400-1410)", PrintLocation.Left);
            hre.AddEntry(1410, "Sigismund(1410-1437)", PrintLocation.Left);
            hre.AddEntry(1438, "Albert II(1438/39)", PrintLocation.Left);
            hre.AddEntry(1440, "printing press (1439)");
            hre.AddEntry(1442, "Frederick III(1440-1493)", PrintLocation.Left);
            hre.AddEntry(1493, "Maximilian I(1493-1519)", PrintLocation.Left);

            hre.AddEntry(1419, 1434, "Hussite Wars(1419-1434)");

            var ppl = new Block() {Ruler = rule, Title = "Papal State"};
            ppl.AddEntry(1356, "Innocent VI(1352-1362)", PrintLocation.Left);
            ppl.AddEntry(1362, "Urban V(1362-1370)", PrintLocation.Left);
            ppl.AddEntry(1370, "Gregory XI(1370-1378)", PrintLocation.Left);
            ppl.AddEntry(1414, "Cncil. of Constance(1414-1418)");
            ppl.AddEntry(1417, "Martin V(1417-1431)", PrintLocation.Left);
            ppl.AddEntry(1431, "Eugenius IV(1431-1447)", PrintLocation.Left);
            ppl.AddEntry(1447, "Nicholas V(1447-1455)", PrintLocation.Left);
            ppl.AddEntry(1455, "Calixtus III(1455-1458)", PrintLocation.Left);
            ppl.AddEntry(1458, "Pius II(1458-1464)", PrintLocation.Left);
            ppl.AddEntry(1464, "Paul II(1464-1471)", PrintLocation.Left);
            ppl.AddEntry(1471, "Sixtus IV(1471-1484)", PrintLocation.Left);
            ppl.AddEntry(1484, "Innocent VIII(1484-1492)", PrintLocation.Left);
            ppl.AddEntry(1490, "Alexander VI(1492-1503)", PrintLocation.Left);
            ppl.AddEntry(1492, "Reconquista/Columbus");
            ppl.AddEntry(1494, "Treaty of Tordesillas(1494)");

            ppl.AddEntry(1378, 1417, "Western Schism(3 Popes)");

            var ott = new Block {Ruler = rule, Title = "Ottoman Turks"};
            ott.AddEntry(1362, "Murad I(1362-1389)", PrintLocation.Left);
            ott.AddEntry(1389, "Bayezid I(1389-1403)", PrintLocation.Left);
            ott.AddEntry(1402, 1413, "Civil War(1402-1413)*");
            ott.AddEntry(1421, "Murad II(1421-1451)", PrintLocation.Left);
            ott.AddEntry(1451, "Mehmed II(1451-1481)", PrintLocation.Left);
            ott.AddEntry(1481, "Bayezid II(1481-1512)", PrintLocation.Left);

            var rus = new Block {Ruler = rule, Title = "Russia", StartValue = 1470};
            rus.AddEntry(1473, "Ivan III(1462-1505)", PrintLocation.Left);
            rus.AddEntry(1476, "Ivan refuses tribute to Horde");
            rus.AddEntry(1478, "Rep. of Novgorod annexed(1478)");
            rus.AddEntry(1485, "Annex Tver(1485)");

            var plate = new Plate {Ruler = rule, Name = "Late Middle Ages"};

            plate.AddBlock(engd);
            plate.AddBlock(fr);
            plate.AddBlock(hre);
            plate.AddBlock(ppl);
            plate.AddBlock(byz);
            plate.AddBlock(rus);
            plate.AddBlock(ott);

            plate.AddArrow(new Arrow(fr, ott) {StartValue = 1396, Text = "Crusade of Nicopolis(1396)"});
            plate.AddArrow(new Arrow(engd, fr) {StartValue = 1415, Text = "Battle of Agincourt(1415)"});
            plate.AddArrow(new Arrow(ott, byz) {StartValue = 1453, Text = "Fall of Constantinople"});
            plate.AddArrow(new Arrow(fr, engd) {StartValue = 1429, Text = "Joan of Arc[siege of Orleans](1429)"});

            plate.Notes.Add(
                "* this was caused by the invasion of Timurid Empire and the Battle of Ankara(1402) in which Bayezid I was captured by the Mongol forces.");
            plate.Notes.Add("** final victory of War of the Roses Henry Tudor defeats Richard III");
            plate.Notes.Add("[b] restored to senior emperor three times.");

            return plate;
        }
 public Tile(int id, Vector3 position, int cornerCount, int borderCount, int tileCount)
 {
     this.id = id;
     this.position = position;
     this.corners = new Corner[cornerCount];
     this.borders = new Border[borderCount];
     this.tiles = new Tile[tileCount];
     this.plate = null;
 }
        public void Ensure_that_you_cannot_fill_a_plate_with_beer()
        {
            Avatar avatar = new Avatar();
            Plate plate = new Plate();
            avatar.PickUp(plate);

            Fridge fridge = new Fridge();
            avatar.DispenseBeerFrom(fridge).Into(plate);
        }
Exemple #59
0
        public Plate CE325to550()
        {
            var rule = new Rule {StartValue = 325, EndValue = 550, RuleLineSpacing = 7};

            var rome = new Block {Ruler = rule, Title = "Roman Empire", EndValue = 479, Width = 60};
            rome.AddEntry(330, "Capital moved to Byzantium(330)");
            rome.AddEntry(341, "Council of Antioch(341)");
            rome.AddEntry(360, "Julian Apostocy(361-363)");
            rome.AddEntry(405, "Jerome completes Latin Vulgate(405)");
            rome.AddEntry(380, "Edict of Thessalonica(380)", PrintLocation.Right);
            rome.AddEntry(383, "Legions withdrawn from Britian(383)");
            rome.AddEntry(397, "[Confessions(Augustine)]");
            rome.AddEntry(415, "Hypatia murdered in Alexandria(415)");
            rome.AddEntry(420, "[City of God(Augustine)]");
            rome.AddEntry(379, "Theodosius[E](379-395)", PrintLocation.Left);
            rome.AddEntry(395, "Honorius[W](395-423)", PrintLocation.Left);
            rome.AddEntry(408, "Theodosius II[E](408-450)", PrintLocation.Left);
            rome.AddEntry(425, "Valentinian III[W](425-455)", PrintLocation.Left);
            rome.AddEntry(476, "Odoacer King of Italy(479-493)");
            rome.AddEntry(337, 379, "Arian Controversy(337-381)");

            var vis = new Block {Ruler = rule, Title = "Visigoths", StartValue = 390, EndValue = 507};
            vis.AddEntry(396, 410, "Alaric(395-410)");
            vis.AddEntry(416, 451, "Theodoric I(418-451)");

            var ost = new Block {Ruler = rule, Title = "Ostrogoths", StartValue = 476, Width = 32};
            ost.AddEntry(490, "Odoacer defeated in Italy");
            ost.AddEntry(493, "Theoderic the Great(493-526)");
            ost.AddEntry(541, "Totila(541-552)");

            var van = new Block {Ruler = rule, Title = "Vandels", StartValue = 404, EndValue = 533, Width = 36};
            van.AddEntry(430, "Seige of Hippo(430)");
            van.AddEntry(439, "Seige of Carthage(439)");
            van.AddEntry(426, 477, "Gaiseric(428-477)");

            var hun = new Block {Ruler = rule, StartValue = 370, EndValue = 456, Title = "Huns", Width = 44};
            hun.AddEntry(372, "cross Volga(370)");
            hun.AddEntry(376, "subjugate Ostrogoths(376)");
            hun.AddEntry(382, "settle in Pannonia(382)");
            hun.AddEntry(398, "invade Sassanid Empire, fall back(398)");
            hun.AddEntry(435, "Treaty of Margus[w/ Rome](435)");
            hun.AddEntry(437, "Attila and Bleda co-rulers(437)");
            hun.AddEntry(440, "exact tribute from Constantinople(443)");
            hun.AddEntry(453, "Battle of Nedao(453)[collapse]");
            hun.AddEntry(444, 451, "Attila(444-453)");

            var byz = new Block {Ruler = rule, StartValue = 476, Title = "Byzantine Empire", Width = 36};
            byz.AddEntry(480, "Zeno(474-491)");
            byz.AddEntry(529, "Nika riots(532)", PrintLocation.Right);
            byz.AddEntry(537, "Hagia Sophia completed(537)", PrintLocation.Right);
            byz.AddEntry(527, "Justinian I(527-565)");
            byz.AddEntry(532, "capture Carthage(534)", PrintLocation.Right);
            byz.AddEntry(540, "capture Ravenna(540)", PrintLocation.Right);
            byz.AddEntry(542, "retakes Syria [Sasanian Empire]", PrintLocation.Right);

            var fnk = new Block {Ruler = rule, StartValue = 482, Title = "Franks"};
            fnk.AddEntry(490, "Paris made as capital");
            fnk.AddEntry(509, "Clovis I(509-534)");
            fnk.AddEntry(533, "Sigebert I(535-575)");

            var plate = new Plate {Ruler = rule, Name = "Fall of Roman Empire(325-550)"};

            plate.AddArrow(new Arrow(van, rome) {StartValue = 407, Text = "Vandels x Rhine(407)"});
            plate.AddArrow(new Arrow(vis, rome) {StartValue = 396, Text = "Greece/Italy"});
            plate.AddArrow(new Arrow(vis, rome) {StartValue = 409, Text = "Rome sacked(409)"});
            plate.AddArrow(new Arrow(van, rome) {StartValue = 457, Text = "Rome sacked(455)"});
            plate.AddArrow(new Arrow(vis, van) {StartValue = 420, Text = "take back Spain(420)"});
            plate.AddArrow(new Arrow(van, rome) {StartValue = 430, Text = "invade Africa(430)"});
            plate.AddArrow(new Arrow(byz, van) {StartValue = 533, Text = "Battle of Tricamarum(533)"});
            plate.AddArrow(new Arrow(fnk, vis) {StartValue = 507, Text = "Battle of Vouille(507)"});
            plate.AddArrow(new Arrow(hun, rome) {StartValue = 451, Text = "Battle of Catalaunian Fields(451)"});
            plate.AddArrow(new Arrow(hun, rome) {StartValue = 395, Text = "pillage Cappodocia(395)"});
            plate.AddArrow(new Arrow(hun, rome) {StartValue = 443, Text = "Battle of Chersonesus(443)"});
            plate.AddArrow(new Arrow(hun, rome) {StartValue = 453, Text = "invade Italy, Aquileia razed(452)**"});
            plate.AddArrow(new Arrow(byz, ost) {StartValue = 535, Text = "Gothic Wars(535-554)"});
            plate.AddBlock(rome);
            plate.AddBlock(vis);
            plate.AddBlock(ost);
            plate.AddBlock(fnk);
            plate.AddBlock(van);
            plate.AddBlock(hun);
            plate.AddBlock(byz);
            plate.Notes.Add("* Valentinian II[W] sudden death 392");
            plate.Notes.Add("  Theodusius[E] installs Flavius Eugenis in [W] who favors old pagan Roman religion 392");
            plate.Notes.Add(
                "  Flavius pulls legions from Gaul leaving it unprotected - later allowing for Vandel invasion");
            plate.Notes.Add("  At Battle of Frigidas both Alaric & Stilicho are amoung Theodusius generals 394");
            plate.Notes.Add(
                "  Alaric bitter concerning recognition at battle breaks treaty with Rome and is made King of Visigoths 395");
            plate.Notes.Add("  Alaric invades Greece and is defeated by Stilicho 396");
            plate.Notes.Add("  Alaric invades Italy, Stilicho rescues Honorius[W] 398");
            plate.Notes.Add("  Honorius[W] has Stilicho executed, in outrage Alaric invades 408");
            plate.Notes.Add("");
            plate.Notes.Add(
                "** On road to Rome Atilla meets with Pope Leo and two Seneators, agrees to withdraw from Italy(452)");
            plate.Notes.Add("   Valentinian III[W] persuaded by Petronius to assisinate Aetius (Rome's defender)(455)");
            plate.Notes.Add(
                "   Petronius then persuades Aetius's followers to assisinate Valentinian III[W], names himself Emperor(455)");
            plate.Notes.Add(
                "   Petronius forces Eudoxia, Valentinian III's widow to marry him.  She appeals to Gaiseric who sails from Carthage, sacks Rome and kills Petronias(455).");

            return plate;
        }