Albracca

Albracca (also spelled Albraca and Albrace) is a major city of Cathay in the Italian romantic epics Orlando innamorato by Matteo Maria Boiardo[1] and Orlando furioso by Ludovico Ariosto.[2] In the story it is the walled city and fortress where Angelica and the knights she has befriended make their stand when attacked by Agrican, emperor of Tartary.[3]

Scholars have identified Albracca with Bukhara in modern Uzbekistan, in part because the siege of Albracca by Agrican described in the Orlando innamorato resembles the historic siege of Bukhara by Genghis Khan in 1220.[4]

Sources

  • Boiardo: Orlando innamorato ed. Giuseppe Anceschi (Garzanti,1978)
  • Boiardo: Orlando innamorato, verse translation by Charles Stanley Ross (Oxford University Press, 1995), Book I, Cantos 10-19 and Explanatory Notes, pp. 401-402. ISBN 0-19-282438-4
  • Ariosto:Orlando Furioso, verse translation by Barbara Reynolds in two volumes (Penguin Classics, 1975). Part one, ISBN 0-14-044311-8; part two, ISBN 0-14-044310-X
  • Ariosto: Orlando Furioso ed. Marcello Turchi (Garzanti, 1974)
gollark: - Checks if the available-items list already contains the item needed. If so, just return that.- If not, checks for recipes to do what is wanted- If one exists, iterate over them (not sure what to *do* with them)- If none exists, we can't do anything, so just return no tasks, no costs and no outputs.
gollark: ```rusttype Items = HashMap<ItemType, u32>;fn quantity(items: &Items, desired: &ItemType) -> u32 { if let Some(available_quantity) = items.get(desired) { *available_quantity } else { 0 }}fn contains(items: &Items, desired: &Item) -> bool { quantity(items, &to_item_type(desired)) >= desired.quantity}fn satisfies(available: &Items, desired: &Items) -> bool { for (typ, desired_quantity) in desired.iter() { if quantity(available, typ) < *desired_quantity { return false } } true}fn to_map(is: &Vec<Item>) -> Items { let out = HashMap::new(); for i in is.iter() { out.entry(to_item_type_clone(i)) .and_modify(|e| { *e += 1 }) .or_insert(0); } out}fn one_item(i: Item) -> Items { let out = HashMap::new(); out.insert(to_item_type(&i), i.quantity); out}#[derive(Debug, Deserialize, PartialEq, Eq, Serialize, Clone)]pub struct CraftingResult { pub tasks: Vec<Recipe>, pub costs: Items, pub outputs: Items}fn solve(desired: Item, available: Items, recipes: &MultiMap<ItemType, Recipe>) -> CraftingResult { if contains(&available, &desired) { // If our available items list already contains the desired item, yay, we can just do nothing return CraftingResult { tasks: vec![], costs: one_item(desired), outputs: one_item(desired) } } if let Some(recipes) = recipes.get_vec(&to_item_type(&desired)) { for recipe in recipes.iter() { let result = solve() // ??? } } else { CraftingResult { tasks: vec![], costs: HashMap::new(), outputs: HashMap::new() } }}```My code, or at least part of it.
gollark: That is NOT THE HARD PART.
gollark: (I'm still confused though)
gollark: People have already given helpful suggestions how to, soo...

References

  1. First mentioned in Book I, Canto VI, stanza 42.
  2. First mentioned in Canto I, stanza 75.
  3. Orlando innamorato, Book I, Canto X, stanzas 36-42.
  4. Orlando Innamorato translated by Charles Stanley Ross, Parlor Press LLC, 2004, p. 593.


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.