public void ChildPropery_should_display_at_end() { var person = new Man { Name = "Jerry", Age = 28, Birthday = new DateTime(1983, 1, 1), WifeCount = 0 }; var personString = ResultBuilder.BuildInstance(person); Assert.Equal("[Name,Age,Birthday,Reserved,WifeCount]Jerry;28;19830101000000;;0", personString); }
static void Main(string[] args) { HelperLinqToObjects helper = new HelperLinqToObjects(); Console.WriteLine("Display all public interfaces and their method sum\n"); helper.DisplayInterMethodSumNonQuery(); Console.WriteLine("\nDisplay all current processes that thread count < 5\n"); helper.DisplayProcessesNonQuery(); Console.WriteLine("\nDisplay all current processes by base priority\n"); helper.DisplayProcessesByBasePriorityQuery(); helper.DisplayProcessesSum(); Man man = new Man(); Woman woman = new Woman(); man.Adress = "Jerusalem"; man.Name = "Yossi"; man.Weight = 70; man.CopyTo(woman); Console.WriteLine("man:"); Console.WriteLine(man); Console.WriteLine("woman:"); Console.WriteLine(woman); man.Adress = "Tel - Aviv"; man.Name = "Avi"; man.Weight = 80; man.CopyTo(woman); Console.WriteLine("man:"); Console.WriteLine(man); Console.WriteLine("woman:"); Console.WriteLine(woman); }
public static void Main(string[] args) { // setup test data var PlatformSet = new HashSet<Platform>(); Platform Platform0; PlatformSet.Add(Platform0 = new Platform()); var ManSet = new HashSet<Man>(); Man Man0; ManSet.Add(Man0 = new Man()); Man Man1; ManSet.Add(Man1 = new Man()); Man0.ceiling = Platform0; Man1.ceiling = Platform0; Man0.floor = Platform0; Man1.floor = Platform0; var DateSet = new HashSet<Date>(); var PersonSet = new HashSet<Person>(); Eve Eve0; PersonSet.Add(Eve0 = Eve.Instance); var WomanSet = new HashSet<Woman>(); WomanSet.Add(Eve0); var EveSet = new HashSet<Eve>(); EveSet.Add(Eve0); // check test data Contract.Assert(Contract.ForAll(ManSet, m => ManSet.Where(n => FuncClass.Above(m, n)).Count() == 1), "BelowToo"); }
public Item() { _life = _maxLife = 20f; state = STATE.ON_GROUND; _owner = null; state = STATE.ON_GROUND; }
public void SetOwner(Man owner) { _owner = owner; state = STATE.IN_HAND; // hide gameObject.GetComponent<Collider2D>().isTrigger = true; gameObject.transform.position = new Vector3(0f, 0f, -100f); }
private static void Equality() { var man = new Man() { FirstName = "Jon", LastName = "Efterman", Age = 30, SocialSecnr = 123123 }; var man2 = new Man() { FirstName = "Jon", LastName = "Efterman", Age = 30, SocialSecnr = 123123 }; if (man == man2) Console.WriteLine(true); else Console.WriteLine(false); }
private static void Family() { var man = new Man() { FirstName = "Jon", LastName = "Efterman", Age = 30, SocialSecnr = 123123 }; var woman = new Woman() { FirstName = "Johanna", LastName = "Efterwoman", Age = 32, SocialSecnr = 098098 }; var c = man + woman; var c2 = woman + man; Console.WriteLine($" M + W: {c}"); Console.WriteLine($"W + M: {c2}"); var woMan = (Man) woman; Console.WriteLine($"WoMan: {woMan}"); }
public void CreateMan(int personalNumber) { Man person = new Man(); person.Age = personalNumber; if (personalNumber % 2 == 0) { person.Name = "Adam"; person.Sex = Gender.Male; } else { person.Name = "Eve"; person.Sex = Gender.Female; } }
public ManBuilder() { person = new Man(); }
public abstract void GetManConclusion(Man concreteElementA);
protected override void Arrange() { man = new Man("Cohn", "Mike", "Male", "Pink", new DateTime(1960, 1, 1)); }
public abstract void VisitMan(Man Element);
public LoginResult(LoginResultEnum result, Man man, string message) { Result = result; Man = man; Message = message; }
public static void init(Man m, Control c) { man = m; control = c; }
public void sessionPoolTest() { const int numberOfSessions = 5; using (SessionPool pool = new SessionPool(numberOfSessions, () => new SessionNoServer(systemDir))) { { int sessionId = -1; SessionBase session = null; try { session = pool.GetSession(out sessionId); using (SessionBase.Transaction transaction = session.BeginUpdate()) { for (int i = 0; i < 1000; i++) { Man man = new Man(); session.Persist(man); } session.Commit(); } } catch (Exception e) { Console.WriteLine(e.Message); throw e; } finally { pool.FreeSession(sessionId, session); } } Parallel.ForEach(Enumerable.Range(0, numberOfSessions * 5), x => { int sessionId = -1; SessionBase session = null; try { session = pool.GetSession(out sessionId); if (session.InTransaction == false) { session.BeginRead(); } var allMen = session.AllObjects <Man>(); ulong allMenCt = allMen.Count(); foreach (Man man in allMen) { double lat = man.Latitude; } Console.WriteLine("Man Count is: " + allMenCt + " Session Id is: " + sessionId + " Current task id is: " + (Task.CurrentId.HasValue ? Task.CurrentId.Value.ToString() : "unknown")); } catch (Exception e) { session?.Abort(); Console.WriteLine(e.Message); throw e; } finally { pool.FreeSession(sessionId, session); } }); } }
//Пример группировки. static void Main(string[] args) { List <Man> persons = new List <Man>() { Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan() }; var queryMenByFirstName = from person in persons // Группировка по полю FirstName. group person by person.FirstName; // customerGroup is an IGrouping<string, Customer> foreach (var manGroup in queryMenByFirstName) { Console.WriteLine(manGroup.Key); foreach (var person in manGroup) { Console.WriteLine(person.ManInfo()); } } Console.ReadLine(); }
public async System.Threading.Tasks.Task CircularReferencesAsync() { using (var session = OpenSession()) using (var tran = session.BeginTransaction()) { var jeanne = new Woman { Name = "Jeanne" }; var paul = new Man { Name = "Paul" }; var paulette = new Woman { Name = "Paulette", Mother = jeanne, Father = paul }; var monique = new Woman { Name = "Monique", Mother = jeanne, Father = paul }; var alice = new Woman { Name = "Alice", Mother = jeanne, Father = paul }; var yves = new Man { Name = "Yves", Mother = jeanne, Father = paul }; var denis = new Man { Name = "Denis", Mother = jeanne, Father = paul }; var laure = new Woman { Name = "Laure", Mother = paulette }; var valerie = new Woman { Name = "Valérie", Mother = paulette }; var caroline = new Woman { Name = "Caroline", Mother = monique }; var cathy = new Woman { Name = "Cathy", Father = yves }; var helene = new Woman { Name = "Hélène", Father = yves }; var nicolas = new Man { Name = "Nicolas", Mother = monique }; var frederic = new Man { Name = "Frédéric", Mother = monique }; var arnaud = new Man { Name = "Arnaud", Father = denis }; await(session.SaveAsync(alice)); await(session.SaveAsync(laure)); await(session.SaveAsync(valerie)); await(session.SaveAsync(caroline)); await(session.SaveAsync(cathy)); await(session.SaveAsync(helene)); await(session.SaveAsync(nicolas)); await(session.SaveAsync(frederic)); await(session.SaveAsync(arnaud)); Assert.DoesNotThrowAsync(() => { return(tran.CommitAsync()); }); } using (var session = OpenSession()) using (var tran = session.BeginTransaction()) { Assert.AreEqual(9, await(session.Query <Woman>().CountAsync())); Assert.AreEqual(6, await(session.Query <Man>().CountAsync())); } }
static void Main(string[] args) { Man man = new Man(20, "John", 500); Man woman = new Man(19, "Alice", 200); Man[] men = new Man[] { man, woman }; ManException manException = new ManException("message", 123); WriteLine("Binary serialization: "); BinaryFormatter Bformatter = new BinaryFormatter(); using (FileStream fs = new FileStream("binary.dat", FileMode.OpenOrCreate)) { Bformatter.Serialize(fs, man); } using (FileStream fs = new FileStream("binary.dat", FileMode.OpenOrCreate)) { Man newMan = (Man)Bformatter.Deserialize(fs); WriteLine($"Name: {newMan.Name}, Age: {newMan.Age}, Money: {newMan.Money}"); } WriteLine("\nSOAP serialization: "); SoapFormatter Sformatter = new SoapFormatter(); using (FileStream fs = new FileStream("soap.dat", FileMode.OpenOrCreate)) { Sformatter.Serialize(fs, man); } using (FileStream fs = new FileStream("soap.dat", FileMode.OpenOrCreate)) { Man newMan = (Man)Sformatter.Deserialize(fs); WriteLine($"Name: {newMan.Name}, Age: {newMan.Age}, Money: {newMan.Money}"); } WriteLine("\nXML serialization: "); XmlSerializer Xserializer = new XmlSerializer(typeof(Man)); using (FileStream fs = new FileStream("X.xml", FileMode.OpenOrCreate)) { Xserializer.Serialize(fs, man); } using (FileStream fs = new FileStream("X.xml", FileMode.OpenOrCreate)) { Man newMan = (Man)Xserializer.Deserialize(fs); WriteLine($"Name: {newMan.Name}, Age: {newMan.Age}, Money: {newMan.Money}"); } WriteLine("\nJSON serialization: "); DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Man)); using (FileStream fs = new FileStream("jsonser.json", FileMode.OpenOrCreate)) { jsonSerializer.WriteObject(fs, man); } using (FileStream fs = new FileStream("jsonser.json", FileMode.OpenOrCreate)) { Man newMan = (Man)jsonSerializer.ReadObject(fs); WriteLine($"Name: {newMan.Name}, Age: {newMan.Age}, Money: {newMan.Money}"); } WriteLine("\nBinary serialization of array: "); using (FileStream fs = new FileStream("mas.dat", FileMode.OpenOrCreate)) { Bformatter.Serialize(fs, men); } using (FileStream fs = new FileStream("mas.dat", FileMode.OpenOrCreate)) { Man[] newMen = (Man[])Bformatter.Deserialize(fs); WriteLine($"Name: {newMen[0].Name}, Age: {newMen[0].Age}, Money: {newMen[0].Money}"); WriteLine($"Name: {newMen[1].Name}, Age: {newMen[1].Age}, Money: {newMen[1].Money}"); } WriteLine("\nby XPath: "); XmlDocument xDoc = new XmlDocument(); xDoc.Load("X.xml"); XmlElement xRoot = xDoc.DocumentElement; XmlNode child = xDoc.SelectSingleNode("//Man/name"); if (child != null) { WriteLine(child.OuterXml); } XmlNodeList childs = xRoot.SelectNodes("*"); foreach (XmlNode ch in childs) { WriteLine(ch.OuterXml); } WriteLine("\nLinq to XML:"); XDocument xDocument = new XDocument(); XElement man1 = new XElement("Name"); XAttribute man1_name = new XAttribute("Name", "Leha"); XElement age1 = new XElement("Age", "21"); XElement money1 = new XElement("Money", "600"); man1.Add(man1_name); man1.Add(age1); man1.Add(money1); XElement man2 = new XElement("Name"); XAttribute man2_name = new XAttribute("Name", "Serega"); XElement age2 = new XElement("Age", "22"); XElement money2 = new XElement("Money", "1000"); man2.Add(man2_name); man2.Add(age2); man2.Add(money2); XElement man3 = new XElement("Name"); XAttribute man3_name = new XAttribute("Name", "Sanya"); XElement age3 = new XElement("Age", "20"); XElement money3 = new XElement("Money", "300"); man3.Add(man3_name); man3.Add(age3); man3.Add(money3); XElement people = new XElement("people"); people.Add(man1); people.Add(man2); people.Add(man3); xDocument.Add(people); xDocument.Save("Xlinq.xml"); XDocument xdoc = XDocument.Load("Xlinq.xml"); var byAge = from el in xdoc.Element("people").Elements("Name") where Convert.ToInt32(el.Element("Age").Value) >= 21 select new Man { Name = el.Attribute("Name").Value, Age = Convert.ToInt32(el.Element("Age").Value), Money = Convert.ToInt32(el.Element("Money").Value) }; WriteLine("Age is >= 21:"); foreach (var el in byAge) { WriteLine($"Name: {el.Name}, Age: {el.Age}, Money: {el.Money}"); } var byMoney = from el in xdoc.Element("people").Elements("Name") where Convert.ToInt32(el.Element("Money").Value) >= 500 select new Man { Name = el.Attribute("Name").Value, Age = Convert.ToInt32(el.Element("Age").Value), Money = Convert.ToInt32(el.Element("Money").Value) }; WriteLine("\nHas money >= 500"); foreach (var el in byMoney) { WriteLine($"Name: {el.Name}, Age: {el.Age}, Money: {el.Money}"); } }
//Примеры сортировок static void Main(string[] args) { // Источник данных. int[] scores = new int[] { 100, 97, 92, 81, 60, -1, -2, -3, 0 }; // Определите выражение запроса. var scoreQuery = scores.OrderBy(s => s); //from score in scores //orderby score //select score; // выполнение запроса. Console.WriteLine("Отсортированная коллекция по возрастанию."); foreach (int i in scoreQuery) { Console.Write(i + " "); } Console.WriteLine(); // Определите выражение запроса. scoreQuery = scores.OrderByDescending(s => s); //from score in scores //orderby score descending //select score; // выполнение запроса. Console.WriteLine("Отсортированная коллекция по убыванию."); foreach (int i in scoreQuery) { Console.Write(i + " "); } Console.WriteLine(); List <Man> persons = new List <Man>() { Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan() }; foreach (var i in persons) { Console.WriteLine(i.ManInfo()); } // Определите выражение запроса. var personQuery = persons.OrderBy(p => p.Age); //from person in persons //orderby person.Age //select person; Console.WriteLine("Отсортированная коллекция по возрастанию."); foreach (var i in personQuery) { Console.WriteLine(i.ManInfo()); } // Определите выражение запроса. personQuery = persons.OrderByDescending(p => p.Age); //from person in persons //orderby person.Age descending //select person; Console.WriteLine("Отсортированная коллекция по убыванию."); foreach (var i in personQuery) { Console.WriteLine(i.ManInfo()); } Console.ReadLine(); }
public MapTile targetRandomMapTilePosition(Man man, Vector2 homePos, int homeLevel) // Used to get a path target for Humans { //Craetes a normal distributed range based off current level GameObject[] target = getNormalDistributionFromMap(homePos, 10 * homeLevel, whatIsTiles, 1); return(target[0].GetComponent <MapTile>()); }
public static void Main(string[] args) { var man = new Man(); var kart = new Kart(); var alien = new Alien(); }
public void ShowManConclusion(Man element) { Console.WriteLine($"失敗的{element.GetType().Name}"); }
public void BinaryDeserializationTest() { Man man = Man.BinaryDeserialization("Example.bin"); Assert.NotNull(man); }
public static void optional(string lastname, string firstname = "James", int age = 1) { // Optional parameters must appear AFTER all mandatory parameters to prevent compiler error. Man man = new Man("Steve", "Davis", 40); }
public void JsonDeserializatioTest() { Man man = Man.JsonDeserialization("Example.json"); Assert.NotNull(man); }
public void OnTrigger(Player Session, Item Item, int Request, bool HasRights) { if (Item.ExtraData.Contains(Convert.ToChar(5).ToString())) { var Stuff = Item.ExtraData.Split(Convert.ToChar(5)); Session.GetHabbo().Gender = Stuff[0].ToUpper(); var NewFig = new Dictionary <string, string>(); NewFig.Clear(); foreach (var Man in Stuff[1].Split('.')) { foreach (var Fig in Session.GetHabbo().Look.Split('.')) { if (Fig.Split('-')[0] == Man.Split('-')[0]) { if (NewFig.ContainsKey(Fig.Split('-')[0]) && !NewFig.ContainsValue(Man)) { NewFig.Remove(Fig.Split('-')[0]); NewFig.Add(Fig.Split('-')[0], Man); } else if (!NewFig.ContainsKey(Fig.Split('-')[0]) && !NewFig.ContainsValue(Man)) { NewFig.Add(Fig.Split('-')[0], Man); } } else { if (!NewFig.ContainsKey(Fig.Split('-')[0])) { NewFig.Add(Fig.Split('-')[0], Fig); } } } } var Final = ""; foreach (var Str in NewFig.Values) { Final += Str + "."; } Session.GetHabbo().Look = Final.TrimEnd('.'); using (var dbClient = Program.DatabaseManager.GetQueryReactor()) { dbClient.SetQuery("UPDATE users SET look = @look, gender = @gender WHERE id = '" + Session.GetHabbo().Id + "' LIMIT 1"); dbClient.AddParameter("look", Session.GetHabbo().Look); dbClient.AddParameter("gender", Session.GetHabbo().Gender); dbClient.RunQuery(); } var Room = Session.GetHabbo().CurrentRoom; if (Room != null) { var User = Room.GetRoomUserManager().GetRoomUserByHabbo(Session.GetHabbo().Username); if (User != null) { Session.SendPacket(new UserChangeComposer(User, true)); Session.GetHabbo().CurrentRoom.SendPacket(new UserChangeComposer(User, false)); } } } }
public override void GetManConclusion(Man man) { Console.WriteLine($"{man.GetType().Name} {GetType().Name} 时,背后多半有一个伟大的女人"); }
public override void GetManConclusion(Man man) { Console.WriteLine($"{man.GetType().Name} {GetType().Name} 时,感慨道:恋爱游戏终结时,'有妻徒刑'遥无期"); }
public void SimpleApiServer() { long ssn = 555555; UInt16 age = 1; VelocityDbSchema.Person mats; Placement place; using (ServerClientSession session = new ServerClientSession(systemDir)) { // skip delete database since it invalidates indices session.BeginUpdate(); Database db = session.OpenDatabase(10, true, false); if (db != null) { session.DeleteDatabase(db); } session.Commit(); session.BeginUpdate(); place = new Placement(10, 2, 1, 1, 10); DateTime birthday = new DateTime(1960, 6, 13); mats = new Man("Mats", "Persson", age++, ssn++, birthday); mats.Persist(place, session); session.Commit(); session.ClearServerCache(); } UInt64 mOid1 = Oid.Encode(10, 2, 1); using (ServerClientSession session = new ServerClientSession(systemDir)) { session.BeginUpdate(); UInt32 dbNum = Oid.DatabaseNumber(mOid1); mats = (VelocityDbSchema.Person)session.Open(mOid1); Woman kinga = null; mats = new Man("Mats", "Persson", age++, ssn++, new DateTime(1960, 6, 13)); Cat cat = new Cat("Boze", 8); mats.m_pets.Add(cat); Bird bird = new Bird("Pippi", 1); cat.friends.Add(bird); mats.Persist(place, session); kinga = new Woman("Kinga", "Persson", age, ssn, mats, mats); kinga.Persist(place, session); VelocityDbSchema.Person robin = new VelocityDbSchema.Person("Robin", "Persson", 13, 1, mats, null); robin.Persist(place, session); mOid1 = mats.Id; mats = null; mats = (VelocityDbSchema.Person)session.Open(mOid1); session.Commit(); session.ClearServerCache(); } using (ServerClientSession session = new ServerClientSession(systemDir)) { session.BeginUpdate(); mats = (VelocityDbSchema.Person)session.Open(mOid1); session.Commit(); session.ClearServerCache(); } using (ServerClientSession session = new ServerClientSession(systemDir)) { session.BeginRead(); ulong mOid2 = mats.Id; mats = (VelocityDbSchema.Person)session.Open(mOid2); session.Commit(); session.ClearServerCache(); } }
public Move(Player player, Man man, BoardPosition oldPosition, BoardPosition newPosition, bool capture, Man transformedMan) : base(player) { this.man = man; this.oldPosition = oldPosition; this.newPosition = newPosition; this.capture = capture; this.transformedMan = transformedMan; }
public void SingleServerReaderSingleServerUpdater2(bool useReaderCommit) { const UInt32 dbNum = 567; using (ServerClientSession updater = new ServerClientSession(systemDir)) using (ServerClientSession reader = new ServerClientSession(systemDir, null, 2000, true, false, false, CacheEnum.No)) // CacheEnum.No or cache validating on session.Begin() - makes test fail { updater.BeginUpdate(); Database db = updater.OpenDatabase(dbNum, true, false); if (db != null) { updater.DeleteDatabase(db); } updater.Checkpoint(); Man man; Placement place = new Placement(dbNum, 1, 1, 2); for (int i = 0; i < 100; i++) { man = new Man(); man.Persist(place, updater); } updater.Commit(); reader.BeginRead(); db = reader.OpenDatabase(dbNum); foreach (Page page in db) { Assert.True(page.PageInfo.VersionNumber == 1); } if (useReaderCommit) { reader.Commit(); } updater.BeginUpdate(); if (useReaderCommit) { reader.BeginRead(); } else { reader.ForceDatabaseCacheValidation(); } for (int i = 1; i < 25; i++) { db = reader.OpenDatabase(dbNum); foreach (Page page in db) { if (page.PageNumber > 0) { Assert.True(page.PageInfo.VersionNumber == (ulong)i); Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false); Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true); } } updater.Commit(); // must commit updater first, we validate and update reader on BeginRead or ForceDatabaseCacheValidation if (useReaderCommit) { reader.Commit(); reader.BeginRead(); } else { reader.ForceDatabaseCacheValidation(); } updater.BeginUpdate(); } Database db2 = reader.OpenDatabase(dbNum); db = updater.OpenDatabase(dbNum); for (int i = 25; i < 50; i++) { foreach (Page page in db) { if (page.PageNumber > 0) { Assert.True(page.PageInfo.VersionNumber == (ulong)i); Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true); } } updater.FlushUpdates(); // now server will see updated version of pages foreach (Page page in db2) { if (page.PageNumber > 0) { // BUG Nov 8, 2011 1.0.4.0 reader sees version 28 when it should see version 27 Assert.True(page.PageInfo.VersionNumber == (ulong)i); // reader should see the commited version of the page, not the uncommited updated version Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false); } } reader.ClearPageCache(); // required or else we will use cached page and Assert (see line above) will fail System.GC.Collect(); // force weak referenced pages to be garbage collected (again to avoid Assert failure) updater.Checkpoint(); } reader.Commit(); updater.DeleteDatabase(db); updater.Commit(); } }
//Примеры фильтрации static void Main(string[] args) { // Источник данных. int[] scores = new int[] { 100, 97, 92, 81, 60, -1, -2, -3, 0 }; // Определите выражение запроса. var scoreQuery = from score in scores where (score > 0 && score != 100) select score; // выполнение запроса. Console.WriteLine("Отфильтрованная коллекция."); foreach (int i in scoreQuery) { Console.Write(i + " "); } Console.WriteLine(); List <Man> persons = new List <Man>() { Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan(), Man.GetMan() }; foreach (var i in persons) { Console.WriteLine(i.ManInfo()); } // Определите выражение запроса. var personQuery = from person in persons where (person.FirstName != "Петр" && person.Age <= 40) select person; Console.WriteLine("Отфильтрованная коллекция."); foreach (var i in personQuery) { Console.WriteLine(i.ManInfo()); } Console.ReadLine(); }
public override void VisitMan(Man Element) { //Debug.Log(Element.name + "is excusing"); //如果物体和船在同一侧才能操作 //Debug.Log(Element.side); //Debug.Log(Element.gameController.boat.side); //船不在移动,且游戏没有输时才可以对人进行操作 if (Element.gameController.boat.isSwimming == false && Element.gameController.isLose == false) { if (Element.side == Element.gameController.boat.side) { //Debug.Log(Element.name + "on the same side"); if (Element.isOnBoat == false && Element.gameController.boat.count < 2) //如果人在岸上且船未满 { //Debug.Log(Element.name + "is get on the boat"); for (int i = 0; i < Element.gameController.boat.isSeatEmpty.Length; i++) { if (Element.gameController.boat.isSeatEmpty[i] == true) //找到一个空位置做进去 { //Debug.Log("find this seat: " + i); Element.transform.position = Element.gameController.boat.seatPoints[i].position; Element.transform.SetParent(Element.gameController.boat.transform); Element.gameController.GetCurrentLandSide(Element.side).GetComponent <Land>().isSeatEmpty[Element.index] = true; Element.gameController.boat.isSeatEmpty[i] = false; Element.index = i; Element.isOnBoat = true; Element.gameController.GetCurrentLandSide(Element.side).GetComponent <Land>().count--; Element.gameController.GetCurrentLandSide(Element.side).GetComponent <Land>().manAndDevil -= Element.charactor; Element.gameController.boat.count++; Element.gameController.boat.manAndDevil += Element.charactor; break; } } } else if (Element.isOnBoat == true) { //如果人在船上 Land currentLandSide = Element.gameController.GetCurrentLandSide(Element.gameController.boat.side).GetComponent <Land>(); //Debug.Log("current Land Side is " + currentLandSide.side); for (int i = 0; i < currentLandSide.isSeatEmpty.Length; i++) { if (currentLandSide.isSeatEmpty[i] == true) { //找到岸上的一个空位置坐进去 Element.transform.position = currentLandSide.seatPoints[i].position; Element.transform.SetParent(currentLandSide.transform); Element.gameController.boat.isSeatEmpty[Element.index] = true; currentLandSide.isSeatEmpty[i] = false; Element.index = i; Element.gameController.GetCurrentLandSide(Element.side).GetComponent <Land>().count++; Element.gameController.GetCurrentLandSide(Element.side).GetComponent <Land>().manAndDevil += Element.charactor; Element.gameController.boat.manAndDevil -= Element.charactor; Element.gameController.boat.count--; Element.isOnBoat = false; break; } } } } } }
public override void GetManConclusion(Man concreteElementA) { System.Console.WriteLine("{0} {1}时,闷头喝酒,谁也不用劝。", concreteElementA.GetType().Name, this.GetType().Name); }
public bool Test(Man other) => a == other.a;
[TestCase(false)] // test will fail if pessimistic locking is used public void SingleReaderSingleUpdater4(bool useReaderCommit) { using (SessionNoServer updater = new SessionNoServer(systemDir, 5000)) using (SessionNoServer reader = new SessionNoServer(systemDir, 5000)) { //updater.SetTraceAllDbActivity(); //reader.SetTraceAllDbActivity(); updater.BeginUpdate(); UInt32 dbNum = updater.DatabaseNumberOf(typeof(Man)); Database db = updater.OpenDatabase(dbNum, true, false); if (db != null) { updater.DeleteDatabase(db); } updater.Commit(); updater.BeginUpdate(); Man man = new Man(); for (int i = 0; i < 100; i++) { man = new Man(); updater.Persist(man); } updater.Commit(); reader.BeginRead(); updater.BeginUpdate(); db = reader.OpenDatabase(dbNum); foreach (Page page in db) { Assert.True(page.PageInfo.VersionNumber == 1); } if (useReaderCommit) { reader.Commit(); } if (useReaderCommit) { reader.BeginRead(); } else { reader.ForceDatabaseCacheValidation(); } for (int i = 1; i < 25; i++) { db = reader.OpenDatabase(dbNum); foreach (Page page in db) { if (page.PageNumber > 1) // skip AutoPlacemnt page { Assert.True(page.PageInfo.VersionNumber == (ulong)i); Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false); Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true); } } if (useReaderCommit) { reader.Commit(); reader.BeginRead(); } else { reader.ForceDatabaseCacheValidation(); } updater.Commit(); updater.BeginUpdate(); } Database db2 = reader.OpenDatabase(dbNum); db = updater.OpenDatabase(dbNum); for (int i = 25; i < 50; i++) { foreach (Page page in db) { if (page.PageNumber > 1) { Assert.True(page.PageInfo.VersionNumber == (ulong)i); Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true); } } updater.Commit(); updater.BeginUpdate(); db2 = reader.OpenDatabase(dbNum); foreach (Page page in db2) { if (page.PageNumber > 1) { //Assert.True(page.PageInfo.VersionNumber == (ulong)i + 1); Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false); } } reader.ClearPageCache(); System.GC.Collect(); } reader.Commit(); updater.Commit(); } }
public abstract void GetManConclusion(Man man);
public void SingleServerReaderSingleServerUpdater1() { ServerClientSession updater = new ServerClientSession(systemDir); ServerClientSession reader = new ServerClientSession(systemDir); const UInt32 dbNum = 345; try { updater.BeginUpdate(); Man man; Placement place = new Placement(dbNum, 1, 1, 2); for (int i = 0; i < 100; i++) { man = new Man(); man.Persist(place, updater); } updater.Commit(); reader.BeginRead(); Database db = reader.OpenDatabase(dbNum); foreach (Page page in db) { Assert.True(page.PageInfo.VersionNumber == 1); } reader.Commit(); updater.BeginUpdate(); reader.BeginRead(); for (int i = 1; i < 25; i++) { db = reader.OpenDatabase(dbNum); foreach (Page page in db) { if (page.PageNumber > 0) { Assert.True(page.PageInfo.VersionNumber == (ulong)i); Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false); Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true); } } reader.Commit(); reader.BeginRead(); updater.Checkpoint(); reader.ForceDatabaseCacheValidation(); // we now validate on BeginRead so to make this test pass, we need to add this call after updater commit. } Database db2 = reader.OpenDatabase(dbNum); db = updater.OpenDatabase(dbNum); for (int i = 25; i < 50; i++) { foreach (Page page in db) { if (page.PageNumber > 0) { Assert.True(page.PageInfo.VersionNumber == (ulong)i); Man manUpdated = (Man)updater.Open(dbNum, page.PageNumber, 1, true); } } updater.Commit(); updater.BeginUpdate(); foreach (Page page in db2) { if (page.PageNumber > 0) { Assert.True(page.PageInfo.VersionNumber == (ulong)i + 1); Man man2 = (Man)reader.Open(dbNum, page.PageNumber, 1, false); } } reader.ClearPageCache(); // required or else we will use cached page and Assert (see line above) will fail System.GC.Collect(); // force weak referenced pages to be garbage collected (again to avoid Assert failure) } reader.Commit(); updater.DeleteDatabase(db); updater.Commit(); } finally { updater.Dispose(); reader.Dispose(); } }
public Move(Player player, Man man, BoardPosition oldPosition, BoardPosition newPosition) : this(player, man, oldPosition, newPosition, false, null) { }