public void Check_NguThuDon_Mau_Hoi() { Tru tru = LookUpTable.NguThuDon(CanEnum.Mau, ChiEnum.Hoi); Assert.AreEqual <CanEnum>(CanEnum.Quy, tru.ThienCan.Can); Assert.AreEqual <ChiEnum>(ChiEnum.Hoi, tru.DiaChi.Ten); }
public void Check_NguHoDon_Giap_Mao() { Tru tru = LookUpTable.NguHoDon(CanEnum.Giap, ChiEnum.Mao); Assert.AreEqual <CanEnum>(CanEnum.Dinh, tru.ThienCan.Can); Assert.AreEqual <ChiEnum>(ChiEnum.Mao, tru.DiaChi.Ten); }
public void Check_NguThuDon_Binh_Suu() { Tru tru = LookUpTable.NguThuDon(CanEnum.Binh, ChiEnum.Suu); Assert.AreEqual <CanEnum>(CanEnum.Ky, tru.ThienCan.Can); Assert.AreEqual <ChiEnum>(ChiEnum.Suu, tru.DiaChi.Ten); }
public void Check_NguThuDon_Dinh_Dan() { Tru tru = LookUpTable.NguThuDon(CanEnum.Dinh, ChiEnum.Dan); Assert.AreEqual <CanEnum>(CanEnum.Nham, tru.ThienCan.Can); Assert.AreEqual <ChiEnum>(ChiEnum.Dan, tru.DiaChi.Ten); }
public void SetNapAm(Tru tru) { NguHanhEnum nguHanh; LookUpTable.NapAm.TryGetValue(new Tuple <CanEnum, ChiEnum>(tru.ThienCan.Can, tru.DiaChi.Ten), out nguHanh); tru.ThuocTinh.Add(Constants.NAP_AM, nguHanh); }
public void Check_NguThuDon_At_Than() { Tru tru = LookUpTable.NguThuDon(CanEnum.At, ChiEnum.Than); Assert.AreEqual <CanEnum>(CanEnum.Giap, tru.ThienCan.Can); Assert.AreEqual <ChiEnum>(ChiEnum.Than, tru.DiaChi.Ten); }
public void CreateDaiVan(int age = Int16.MinValue, int daiVanHienTai = Int16.MinValue) { int direction = 1; if ((this.LaSoCuaToi.GioiTinh == GioiTinhEnum.Nam && this.LaSoCuaToi.TuTru[Constants.TRU_NAM].ThienCan.AmDuong == AmDuongEnum.Duong) || (this.LaSoCuaToi.GioiTinh == GioiTinhEnum.Nu && this.LaSoCuaToi.TuTru[Constants.TRU_NAM].ThienCan.AmDuong == AmDuongEnum.Am)) { direction = 1; } else if ((this.LaSoCuaToi.GioiTinh == GioiTinhEnum.Nam && this.LaSoCuaToi.TuTru[Constants.TRU_NAM].ThienCan.AmDuong == AmDuongEnum.Am) || (this.LaSoCuaToi.GioiTinh == GioiTinhEnum.Nu && this.LaSoCuaToi.TuTru[Constants.TRU_NAM].ThienCan.AmDuong == AmDuongEnum.Duong)) { direction = -1; } var canThang = this.LaSoCuaToi.TuTru[Constants.TRU_THANG].ThienCan.Can; var chiThang = this.LaSoCuaToi.TuTru[Constants.TRU_THANG].DiaChi.Ten; int canIndex = TongHopCanChi.MuoiThienCan.FindIndex(u => u.Can == canThang); int chiIndex = TongHopCanChi.MuoiHaiDiaChi.FindIndex(u => u.Ten == chiThang); int nCan = TongHopCanChi.MuoiThienCan.Count; int nChi = TongHopCanChi.MuoiHaiDiaChi.Count; for (int i = 0; i < Constants.SO_DAI_VAN; i++) { canIndex = (canIndex + nCan + direction) % nCan; chiIndex = (chiIndex + nChi + direction) % nChi; this.LaSoCuaToi.DaiVan.Add(new Tru(TongHopCanChi.MuoiThienCan[canIndex], TongHopCanChi.MuoiHaiDiaChi[chiIndex])); } //populate ages if (age != Int16.MinValue) { for (int i = 0; i < Constants.SO_DAI_VAN; i++) { this.LaSoCuaToi.TuoiDaiVan.Add(age); age += Constants.NAM_DAI_VAN; } } //Tru cua Dai Van hien tai if (daiVanHienTai != Int16.MinValue) { this.DaiVanHienTai = this.LaSoCuaToi.DaiVan[this.LaSoCuaToi.TuoiDaiVan.FindIndex(u => u == daiVanHienTai)]; } else { this.DaiVanHienTai = this.LaSoCuaToi.DaiVan[0]; } this.LuuNien = LookUpTable.TruOfTheYear(); }
public void CreateThaiNguyen() { int canThangIndex = TongHopCanChi.MuoiThienCan.FindIndex(u => u.Can == this.LaSoCuaToi.TuTru[Constants.TRU_THANG].ThienCan.Can); int chiThangIndex = TongHopCanChi.MuoiHaiDiaChi.FindIndex(u => u.Ten == this.LaSoCuaToi.TuTru[Constants.TRU_THANG].DiaChi.Ten); int nCan = TongHopCanChi.MuoiThienCan.Count; int nChi = TongHopCanChi.MuoiHaiDiaChi.Count; int thaiNguyenCanIndex = (canThangIndex + Constants.THAI_NGUYEN_CAN_SHIFT + nCan) % nCan; int thaiNguyenChiIndex = (chiThangIndex + Constants.THAI_NGUYEN_CHI_SHIFT + nChi) % nChi; var thaiNguyen = new Tru(TongHopCanChi.MuoiThienCan[thaiNguyenCanIndex], TongHopCanChi.MuoiHaiDiaChi[thaiNguyenChiIndex]); this.LaSoCuaToi.ThaiNguyen = thaiNguyen; //this.LaSoCuaToi.TuTru.Add(Constants.THAI_NGUYEN, thaiNguyen); }
private void KhongVong() { Tru ngay = this.TTM.LaSoCuaToi.TuTru[Constants.TRU_NGAY]; int canNgayId = TongHopCanChi.MuoiThienCan.FindIndex(u => u.Can == ngay.ThienCan.Can); int quyId = TongHopCanChi.MuoiThienCan.FindIndex(u => u.Can == CanEnum.Quy); int steps = quyId - canNgayId; int chiNgayId = TongHopCanChi.MuoiHaiDiaChi.FindIndex(u => u.Ten == ngay.DiaChi.Ten); int n = TongHopCanChi.MuoiHaiDiaChi.Count; int kv1 = (chiNgayId + steps + 1) % n; int kv2 = (chiNgayId + steps + 2) % n; TongHopCanChi.MuoiHaiDiaChi[kv1].AddThanSat(Constants.ThanSat.KHONG_VONG); TongHopCanChi.MuoiHaiDiaChi[kv2].AddThanSat(Constants.ThanSat.KHONG_VONG); }
public void CreateTuTru(string gioiTinh, string canNam, string chiNam, string canThang, string chiThang, string canNgay, string chiNgay, string canGio, string chiGio) { CanEnum e_canNam, e_canThang, e_canNgay, e_canGio; ChiEnum e_chiNam, e_chiThang, e_chiNgay, e_chiGio; GioiTinhEnum e_gt; bool cvtGt = Enum.TryParse <GioiTinhEnum>(gioiTinh, true, out e_gt); cvtGt &= Enum.IsDefined(typeof(GioiTinhEnum), e_gt); bool cvtCanNam = Enum.TryParse <CanEnum>(canNam, true, out e_canNam); cvtCanNam &= Enum.IsDefined(typeof(CanEnum), e_canNam); bool cvtCanThang = Enum.TryParse <CanEnum>(canThang, true, out e_canThang); cvtCanThang &= Enum.IsDefined(typeof(CanEnum), e_canThang); bool cvtCanNgay = Enum.TryParse <CanEnum>(canNgay, true, out e_canNgay); cvtCanNgay &= Enum.IsDefined(typeof(CanEnum), e_canNgay); bool cvtCanGio = Enum.TryParse <CanEnum>(canGio, true, out e_canGio); cvtCanGio &= Enum.IsDefined(typeof(CanEnum), e_canGio); bool cvtChiNam = Enum.TryParse <ChiEnum>(chiNam, true, out e_chiNam); cvtChiNam &= Enum.IsDefined(typeof(ChiEnum), e_chiNam); bool cvtChiThang = Enum.TryParse <ChiEnum>(chiThang, true, out e_chiThang); cvtChiThang &= Enum.IsDefined(typeof(ChiEnum), e_chiThang); bool cvtChiNgay = Enum.TryParse <ChiEnum>(chiNgay, true, out e_chiNgay); cvtChiNgay &= Enum.IsDefined(typeof(ChiEnum), e_chiNgay); bool cvtChiGio = Enum.TryParse <ChiEnum>(chiGio, true, out e_chiGio); cvtChiGio &= Enum.IsDefined(typeof(ChiEnum), e_chiGio); if (!(cvtCanNam && cvtCanThang && cvtCanNgay && cvtCanGio && cvtChiNam && cvtChiThang && cvtChiNgay && cvtChiGio && cvtGt)) { this.LaSoCuaToi = null; } else { this.LaSoCuaToi = new LaSo(); Tru truNam = new Tru(TongHopCanChi.MuoiThienCan.Single <ThienCan>(u => u.Can == e_canNam), TongHopCanChi.MuoiHaiDiaChi.Single <DiaChi>(u => u.Ten == e_chiNam)); Tru truThang = new Tru(TongHopCanChi.MuoiThienCan.Single <ThienCan>(u => u.Can == e_canThang), TongHopCanChi.MuoiHaiDiaChi.Single <DiaChi>(u => u.Ten == e_chiThang)); Tru truNgay = new Tru(TongHopCanChi.MuoiThienCan.Single <ThienCan>(u => u.Can == e_canNgay), TongHopCanChi.MuoiHaiDiaChi.Single <DiaChi>(u => u.Ten == e_chiNgay)); Tru truGio = new Tru(TongHopCanChi.MuoiThienCan.Single <ThienCan>(u => u.Can == e_canGio), TongHopCanChi.MuoiHaiDiaChi.Single <DiaChi>(u => u.Ten == e_chiGio)); this.LaSoCuaToi.TuTru.Add(Constants.TRU_NAM, truNam); this.LaSoCuaToi.TuTru.Add(Constants.TRU_THANG, truThang); this.LaSoCuaToi.TuTru.Add(Constants.TRU_NGAY, truNgay); this.LaSoCuaToi.TuTru.Add(Constants.TRU_GIO, truGio); this.LaSoCuaToi.GioiTinh = e_gt; } }
public static bool IsTruMatched(Tru t, CanEnum can, ChiEnum chi) { return(t.ThienCan.Can == can && t.DiaChi.Ten == chi); }