void addone(card i) { GetComponent <Animation>()["shownum"].speed = 1; GetComponent <Animation>().Play("shownum"); info = i; }
public void throwCard(int playerPosition, short cardIndex) { int random = Random.Range(0, otherDecks[playerPosition].Count - 1); card card = otherDecks[playerPosition][random]; card.cardIndex = cardIndex; card.transform.GetComponent <SpriteRenderer>().sortingOrder = 0; card.showFace(); card.transform.localRotation = Quaternion.Euler(new Vector3(0f, 0f, 0f)); otherDecks[playerPosition].RemoveAt(random); StartCoroutine(throwCard(card.gameObject)); if (groundCards.Count != 0) { groundCards[groundCards.Count - 1].transform.position = new Vector3(1f, -2.3f, 1f / groundCards.Count); } groundCards.Add(card); deckArranger(playerPosition); positionToText(playerPosition).color = Color.white; if (playerPosition != 4 && playerPosition % 4 + 1 != Client.playerPosition) { positionToText(playerPosition + 1).color = Color.green; } else if (playerPosition == 4 && Client.playerPosition != 1) { positionToText(1).color = Color.green; } }
private async void CreateCard(card_7isab card_7) { await Task.Run(() => { OpenSample4Dialog(); AcceptSample4Dialog(); Ico.getValue <db>().GetUnivdb().processes.ToList().Where(p => p.Id == process.Id).First().NewCost = newcost; var d = DateTime.Now; var name = "بطاقة أخذ بحساب رقم " + 1 + " سنة " + d.Year; var car = new card() { date = DateTime.Now, id_prosess = process.Id, num = 1, year = Ico.getValue <db>().GetUnivdb().years.ToList().LastOrDefault().Id, location = process.location + "\\" + name, }; card_7 = new card_7isab() { card = car, visa = null }; Ico.getValue <db>().GetUnivdb().cards.Add(car); Ico.getValue <db>().GetUnivdb().card_7isab.Add(card_7); Ico.getValue <db>().savedb(); card_7 = Ico.getValue <db>().GetUnivdb().card_7isab.ToList().Where(c => c.card.id_prosess == process.Id).FirstOrDefault(); Card_7isabExecl c7 = new Card_7isabExecl(card_7); c7.CreateCard(); CancelSample4Dialog(); }); }
private IEnumerator holdDetector(card card) { while (true) { if (card.mouseDownTime < 0f) { if (selectedCards.Count == 1 && yourTurn && cardDistrubuter.cardTaken) { //throw card throwCard(card); } else { card.transform.Translate(new Vector3(0f, -0.5f, 0f)); selectedCards.Remove(card); } break; } if (Time.time - card.mouseDownTime > 1f) { sortCardList(selectedCards); foreach (card c in selectedCards) { c.followPointer = true; } followingPointer = true; break; } yield return(new WaitForSeconds(0f)); } }
public void changedNumCard(card card) { foreach (var c in dbu.cards.ToList().Where(c => c.id_prosess == card.id_prosess && c.num > card.num)) { c.num -= 1; } }
void edit() { if (info.cards == null) { return; } //拆箱 string[] cs = info.cards.Split('/'); foreach (string s in cs) { Debug.Log("将要拆箱的:" + s); if (s != "") { string[] idandnum = s.Split('*'); card tc = wdscpage.getcardwithid(idandnum[0]); Debug.Log("拆箱后得到的结果:" + tc.cardid + "*" + tc.insetcount + "*" + tc.count); for (int x = 0; x < int.Parse(idandnum[1]); x++) { addcard(tc); tc.insetcount++; tc.count--; } } } }
/// <summary> /// 得到用户的卡 /// </summary> /// <returns></returns> public static List <card> getPlayCards() { string[] cardidtext = player.cards.Split('/'); List <card> ret = new List <card>(); foreach (string id in cardidtext) { if (id != "") { bool isin = false; for (int x = 0; x < ret.Count; x++)//是不是已经存在,如果存在就加1张 { if (ret[x].cardid == id) { card t = ret[x]; t.count++; ret[x] = t; isin = true; } } if (!isin) { ret.Add(getCardWithID(id)); } } } return(ret); }
void addone(card i) { animation["shownum"].speed = 1; animation.Play("shownum"); info = i; }
public static Int64 AddCardToState(Int64 state, card card, int NumOfDecks) { int Position = card.CardLiteralKeyPosition(); string NewState = ""; string literal = Convert.ToString(state, (NumOfDecks + 1)); for (int i = 0; i < literal.Length; i++) { if (Position == i) { if (literal[i] == '0') { NewState += '1'; continue; } if (literal[i] == '1') { NewState += '2'; continue; } if (literal[i] == '2') { NewState += '3'; continue; } if (literal[i] == '3') { NewState += '4'; continue; } } NewState += literal[i]; } return(Convert.ToInt64(NewState, (NumOfDecks + 1))); }
public card ObterTokenCartao(ObterTokenCartaoInputModel obterTokenCartaoInput) { try { card card = new card(); var URLBase = GlobalConfiguration.OBTERTOKENCARTAO; var client = new HttpClient(); var content = new FormUrlEncodedContent(new[] { new KeyValuePair <string, string>("sessionId", obterTokenCartaoInput.sessionId), new KeyValuePair <string, string>("amount", Convert.ToString(obterTokenCartaoInput.amount).Replace(",", ".")), new KeyValuePair <string, string>("cardNumber", obterTokenCartaoInput.cardNumber), new KeyValuePair <string, string>("cardBrand", obterTokenCartaoInput.cardBrand), new KeyValuePair <string, string>("cardCvv", obterTokenCartaoInput.cardCvv), new KeyValuePair <string, string>("cardExpirationMonth", obterTokenCartaoInput.cardExpirationMonth.ToString()), new KeyValuePair <string, string>("cardExpirationYear", obterTokenCartaoInput.cardExpirationYear.ToString()) }); HttpResponseMessage response = client.PostAsync(URLBase, content).Result; if (response.StatusCode == HttpStatusCode.OK) { string result = response.Content.ReadAsStringAsync().Result; card = this.Deserializer <card>(result); } return(card); } catch (System.Exception) { throw; } }
public void addPossibleCard(string c, bool bSteal, string user) { card currCard = new card(); currCard.T = c; currCard.B = bSteal; int index = getPlayerUsernames().IndexOf(user); if(index == 0 && !pOnePossibleCards.Contains(currCard)) { addCard(currCard, pOnePossibleCards); } else if(index == 1 && !pTwoPossibleCards.Contains(currCard)) { addCard(currCard, pTwoPossibleCards); } else if (index == 2 && !pThreePossibleCards.Contains(currCard)) { addCard(currCard, pThreePossibleCards); } else if (index == 3 && !pFourPossibleCards.Contains(currCard)) { addCard(currCard, pFourPossibleCards); } else if (index == 4 && !pFivePossibleCards.Contains(currCard)) { addCard(currCard, pFivePossibleCards); } }
//把卡清掉 void cls() { string cardstext = ""; foreach (Transform t in setcards) { card c = t.GetComponent <SetCard>().info; //装箱 cardstext += c.cardid + "*" + c.insetcount + "/"; //进行记录 } if (cardstext != info.cards) { info.cards = cardstext; int retid = web.updatSet(info); if (info.id == -1)//如果卡组的id=-1,那就是新建立的.把返回过来的id给它 { info.id = retid; } } //广播方法 setcardcls gameObject.BroadcastMessage("setcardcls", SendMessageOptions.DontRequireReceiver); setcards.Clear(); updatacardcount(""); }
void updatacardcount() { int count = 0; costcount = new int[7] { 0, 0, 0, 0, 0, 0, 0 }; foreach (Transform t in setcards) { card c = t.GetComponent <SetCard>().info; count = count + c.insetcount; //更新统计信息 int cost = int.Parse(c.cost); if (cost <= 7) { costcount[cost] += c.insetcount; } else { costcount[7] += c.insetcount; } } updatacardcount(count + "/30"); //更新统计信息 updateCostCount(); }
private void selectHandler(object sender, EventArgs e) { if (firstCard != null && secondCard != null) { return; } card clickedCard = ((card)sender); if (!clickedCard.Reveled) { clickedCard.flipCard(); if (!clickedCard.EmptyCard) { if (this.firstCard == null) { firstCard = clickedCard; } else if (clickedCard.compereTo(firstCard)) { reveledPears++; firstCard = null; secondCard = null; this.chekForWin(); } else { this.secondCard = clickedCard; lagTimer.Start(); } } } }
/// <summary> /// It generates add member using REST service by providing invalid multiple attribute sets /// </summary> /// <returns></returns> public Memberm GenerateAddMemberMultipleAttributeSetForREST() { Memberm member = new Memberm(); member.firstName = "REST_" + RandomString(6) + "_" + NameGenerator.GenerateFirstName(Gender.Male); member.lastName = "REST_" + RandomString(6) + "_" + NameGenerator.GenerateFirstName(Gender.Male); member.Username = member.firstName; member.Password = "******"; member.email = member.firstName + "@test.com"; member.cards = new List <card>(); Logger.Info(member.firstName); card vc = new card(); member.attributeSets = new List <AttributeSets>(); vc.cardNumber = new System.Random().Next(1, 9999999).ToString(); AttributeSets details = new AttributeSets(); details.memberDetails = new REST_Services.REST_Models.AttributeSet_Model(); details.memberDetails = REST_DataGenerator.GenerateMemberAttributeSet(this); vc.cardNumber = new System.Random().Next(1, 9999999).ToString(); //AttributeSets details1 = new AttributeSets(); //details1.memberDetails = new REST_Services.REST_Models.AttributeSet_Model(); //details1.memberDetails = REST_DataGenerator.GenerateMemberAttributeSet(this); member.cards.Add(vc); member.attributeSets.Add(details); //member.attributeSets.Add(details1); return(member); }
public void addPossibleCard(string c, bool bSteal, string user) { card currCard = new card(); currCard.T = c; currCard.B = bSteal; int index = getPlayerUsernames().IndexOf(user); if (index == 0 && !pOnePossibleCards.Contains(currCard)) { addCard(currCard, pOnePossibleCards); } else if (index == 1 && !pTwoPossibleCards.Contains(currCard)) { addCard(currCard, pTwoPossibleCards); } else if (index == 2 && !pThreePossibleCards.Contains(currCard)) { addCard(currCard, pThreePossibleCards); } else if (index == 3 && !pFourPossibleCards.Contains(currCard)) { addCard(currCard, pFourPossibleCards); } else if (index == 4 && !pFivePossibleCards.Contains(currCard)) { addCard(currCard, pFivePossibleCards); } }
static void Main(string[] args) { //Declaration done here: string title = "temp"; string[] suitArr = { "Clubs", "Spades", "Diamonds", "Hearts", }; string[] cardArr = { "Ace", "King", "Queen", "Jack", "10", "9", "8", "7", "6", "5", "4", "3", "2", }; int z = 0; card c = new card(); // array of objects // Property of each card created here for (int x = 0; x < 13; x++) { title = cardArr[x] + " of temp"; {} for (int y = 0; y < 4; y++) { title = title.Replace("temp", suitArr[y]); c[z] = title; z++; title = title.Replace(suitArr[y], "temp"); } } for (int p = 0; p < 52; p++) // print each object { Console.WriteLine(c[p]); } Console.ReadLine(); }
public void throwCard(card card) { card.transform.localRotation = Quaternion.Euler(new Vector3(0f, 0f, 0f)); StartCoroutine(throwCard(card.gameObject)); if (groundCards.Count != 0) { groundCards[groundCards.Count - 1].transform.position = new Vector3(1f, -2.3f, 1f / groundCards.Count); } groundCards.Add(card); selectedCards.Remove(card); myDeckObjects.Remove(card); myDeck.Remove(card.cardIndex); client.Send("CTHRW|" + card.cardIndex.ToString()); yourTurn = false; deckArranger(Client.playerPosition); if (Client.playerPosition != 4) { positionToText(Client.playerPosition + 1).color = Color.green; } else { positionToText(1).color = Color.green; } }
////////////////////////////////////////////////////////////////////////// //在更新卡的信息 void updatecard(card c) { //对显示的卡进行数量 //在page中找到这张卡 Transform inpagecard = transform.FindChild(c.cardid); if (inpagecard != null) { inpagecard.SendMessage("upinfo", c); } //对总卡进行更新 for (int x = 0; x < playerscard.Count; x++) { if (playerscard[x].cardid == c.cardid) { playerscard[x] = c; } } //对过滤后的卡进行更新 for (int x = 0; x < costcard.Count; x++) { if (costcard[x].cardid == c.cardid) { costcard[x] = c; } } }
public async Task <IActionResult> Edit(int id, [Bind("id,front,back,webReference,catagory")] card card) { if (id != card.id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(card); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!cardExists(card.id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(card)); }
void drawcard(int i,card c,string mode) { if (i > 2) {c.drawCard(0.28,0.05+ 0.25*(i-3), 0.16, 0.25,mode); } else {c.drawCard (0.1 , 0.05+0.25*i, 0.16, 0.25,mode); } return; }
private void neuerPatient_Click(object sender, EventArgs e) { String readerID = d.getReader().id; this.eCard = d.getBaseService().getCardData(readerID); Nachname.Text = eCard.nachname; }
public async Task CreateCard(card_7isab card_7) { await Task.Run(() => { Ico.getValue <db>().GetUnivdb().processes.ToList().Where(p => p.Id == process.Id).First().NewCost = newcost; Ico.getValue <db>().GetUnivdb().processes.ToList().Where(p => p.Id == process.Id).First().edit = false; var d = DateTime.Now; var name = "بطاقة أخذ بحساب رقم " + 1 + " سنة " + d.Year; var car = new card() { date = DateTime.Now, id_prosess = process.Id, num = 1, year = Ico.getValue <Date>().GetNowDate().Id, location = process.location + "\\" + name, }; card_7 = new card_7isab() { card = car, visa = null }; Ico.getValue <db>().GetUnivdb().cards.Add(car); Ico.getValue <db>().GetUnivdb().card_7isab.Add(card_7); Ico.getValue <db>().savedb(); card_7 = Ico.getValue <db>().GetUnivdb().card_7isab.ToList().Where(c => c.card.id_prosess == process.Id).FirstOrDefault(); Card_7isabExecl c7 = new Card_7isabExecl(card_7); c7.CreateCard(); card = card_7.card; this.inTilData(); Ico.getValue <ContentApp>().CancelSample4Dialog(); }); }
/// <summary> /// 删除食物资料卡 /// </summary> /// <param name="cid">资料卡id</param> /// <returns></returns> public ActionResult FoodIfoDeleteRequest(int cid) { card c = db.card.SingleOrDefault <card>(ca => ca.id == cid); db.DeleteObject(c); db.SaveChanges(); return(Redirect("/food/FoodIfoList")); }
void updatecard(card c) { if (page == null) { page = transform.root.FindChild("page"); } page.SendMessage("updatecard", c); }
public void Upick_All() { for (int i = 0; i < 10; i++) { card comp = ally_cards[i].GetComponent <card>(); comp.unpick(); } }
private void lagTimer_Tick(object sender, EventArgs e) { lagTimer.Stop(); firstCard.flipCard(); secondCard.flipCard(); firstCard = null; secondCard = null; }
// Get the position of a card in CardsToLiteralKey public static int CardLiteralKeyPosition(this card card) { int position = 0; //Position is arbitary and is 1D , 1C , 1H, 1S, 2D, 2C, 2H, 2S ... position = ((card.value - 1) * 4) + (card.suit - 1); return(position); }
private void DrawCard() { int cardsLeft = playdeck.Count; card newCard = null; btnEndTurn.Enabled = false; btnDrawCard.Enabled = false; btnEndTurn2.Enabled = false; btnDrawCard2.Enabled = false; btnDrawLoot.Visible = false; if (cardsLeft >= 1) { newCard = playdeck[cardsLeft - 1]; txtCardTitle.Text = newCard.Title; txtCardDescription.Text = newCard.Description; txtCardClass.Text = ""; GameManager.CurrentCard = newCard; GameManager.CurrentPlayer.hand.Add(newCard); playdeck.RemoveAt(cardsLeft - 1); CheckCard(GameManager.CurrentCard); } else { //player p = GameManager.Players.ToList<player>().OrderByDescending(x => x.Points).First(); // int numberOfWinners = GameManager.Players.ToList<player>(x => x.Points == p.ToString).Count(); // // List<player> listOfWinners = (from p2 in GameManager.Players.ToList<player>() select p2.Points == GameManager.WinningPlayer.Points); List <player> listOfWinners; listOfWinners = GameManager.Players.ToList <player>().FindAll(x => x.Points == GameManager.WinningPlayer.Points); string winners = ""; if (listOfWinners.Count == 1) { winners = listOfWinners[0].classType.ToString(); } if (listOfWinners.Count > 1) { foreach (player p in listOfWinners) { winners = winners + ", " + p.classType.ToString(); } } StringBuilder winningMessage = new StringBuilder(String.Format("Game Over! The {0} wins with {1} points!", winners, GameManager.MaxPointsEarned)); MessageBox.Show(winningMessage.ToString()); btnSetUpGame.Text = "Play Again?"; ResetBoard(); } refreshDeckList(); }
public async Task Creat_card(part part) { await Task.Run(() => { var num = 1; var kanon = Ico.getValue <db>().GetUnivdb().parts.ToList().Where(p => p.Id == part.Id).ToList().FirstOrDefault().card_kanoni.ToList().FirstOrDefault(); if (kanon != null) { Ico.getValue <db>().GetUnivdb().card_kanoni.Remove(kanon); var ca = Ico.getValue <db>().GetUnivdb().cards.ToList().Where(c => c.Id == kanon.id_card).ToList().FirstOrDefault(); if (ca != null) { num = ca.num; Ico.getValue <db>().GetUnivdb().cards.Remove(ca); Ico.getValue <db>().savedb(); } } var cardn = Ico.getValue <db>().GetUnivdb().cards.ToList().Where(c => c.id_prosess == part.Id_Pro && c.year == Ico.getValue <Date>().GetNowDate().Id).OrderByDescending(c => c.num).ToList().FirstOrDefault(); if (num == 1) { if (cardn != null) { num = cardn.num + 1; } } var d = DateTime.Now; var name = "بطاقة إلتزام قانوني رقم " + num + " سنة " + d.Year; var card = new card() { id_prosess = part.process.Id, year = Ico.getValue <Date>().GetNowDate().Id, num = num, location = Ico.getValue <IO>().CREATE_F_kanoni(part.process.location) + "\\" + name, date = DateTime.Now, }; var kanoni = new card_kanoni() { card = card, id_client = client.Id, id_part = part.Id, cost = part.Cost, visa = null }; Ico.getValue <db>().GetUnivdb().cards.Add(card); Ico.getValue <db>().GetUnivdb().card_kanoni.Add(kanoni); Ico.getValue <db>().savedb(); Card_kanoniExecl card_Kanoni = new Card_kanoniExecl(Ico.getValue <db>().GetUnivdb().card_kanoni.ToList().Where(c => c.id_part == part.Id).ToList().FirstOrDefault()); card_Kanoni.CreateCard(); Ico.getValue <ContentApp>().CancelSample4Dialog(); }); }
public static void AddHandCard(card card_to_add) { Zone handzone = Enemy.HandZone; handzone.AddCard(card_to_add); CardsInHand += 1; GameObject.FindWithTag ("Enemy").SendMessage("TakesCardSFX"); }
public void ProcessRequest(HttpContext context) { string str = ""; if (context.Request["cardid"] != null) { string sql = "select * from Card where id=@id"; DataTable dt = SqlHelper.ExecuteDataTable(SqlHelper.connstrpark, CommandType.Text, sql, new SqlParameter("@id", context.Request["cardid"].ToString())); if (dt != null) { if (dt.Rows.Count > 0) { card entity = new card(); entity.id = Int32.Parse(dt.Rows[0]["id"].ToString()); entity.CardTypeId = Int32.Parse(dt.Rows[0]["CardTypeId"].ToString()); entity.Balance = Convert.ToDecimal(dt.Rows[0]["Balance"].ToString()); entity.CardNumber = dt.Rows[0]["CardNumber"].ToString(); entity.CardTypeName = dt.Rows[0]["CardTypeName"].ToString(); entity.MemberId = Int32.Parse(dt.Rows[0]["MemberId"].ToString()); object oo = SqlHelper.ExecuteScalar(SqlHelper.connstrpark, CommandType.Text, "select count(*) from Recharge where CardId=@CardId and AddPrice<0", new SqlParameter("@CardId", Int32.Parse(context.Request["cardid"].ToString()))); if (oo != null) { if (oo.ToString() != "") { entity.AllInTimes = Int32.Parse(oo.ToString()); } } if (entity.MemberId != 0) { object oonum = SqlHelper.ExecuteScalar(SqlHelper.connstrpark, CommandType.Text, "select count(*) from Card where MemberId=@MemberId ", new SqlParameter("@MemberId", Int32.Parse(dt.Rows[0]["MemberId"].ToString()))); if (oonum != null) { if (oo.ToString() != "") { entity.CardNum = Int32.Parse(oonum.ToString()); } else { entity.CardNum = 1; } } else { entity.CardNum = 1; } } else { entity.CardNum = 1; } str = JsonConvert.SerializeObject(entity); } } } context.Response.ContentType = "text/plain"; context.Response.Write(str); }
public static void AddEnchantment(card card_to_add) { cards_in_game.Add(card_to_add); enchantments.Add (card_to_add); Zone creaturezone = Enemy.CreaturesZone; creaturezone.AddCard (card_to_add); card_to_add.GetComponent<AudioSource>().PlayOneShot(card_to_add.sfxEntry); }
private card init_card(int id, string name, int type, int element) { var card = new card(); card.id = id; card.name = name; card.type = type; card.element = element; return(card); }
public void Align(card[] pdeck,int deckcnumber) { string mode = "dead"; int deadnumber = 0; int decknumber = 0; for(int i=0;i<deckcnumber;i++){ if(mode=="dead"){ if(pdeck[i].islive){ mode="deck"; deadnumber--; decknumber--; } deadnumber++; decknumber++; } if(mode=="deck"){ if(!pdeck[i].islive){ swapcard(pdeck[i].position0,deadnumber,pdeck); deadnumber++; } if(pdeck[i].onfield){ mode="field"; decknumber--; } decknumber++; } if(mode=="field"){ if(!pdeck[i].islive){ swapcard(pdeck[i].position0,deadnumber,pdeck); if(decknumber==deadnumber){ deadnumber++; decknumber++; } else{ swapcard(pdeck[i].position0,decknumber,pdeck); deadnumber++; decknumber++; } } else if(!pdeck[i].onfield){ swapcard(pdeck[i].position0,decknumber,pdeck); decknumber++; } } } for (int i=deckcnumber-1; i>=decknumber; i--) { for(int j=i;j<deckcnumber-1;j++) { if(pdeck[j].position1>pdeck[j+1].position1){ swapcard(j,j+1,pdeck); } } } }
public static void DoBuff(bool positive, int param, int BuffType, bool EOT=false, card effectcard=null) { card card_to_buff; foreach (GameObject target in ourtargets) { card_to_buff = target.GetComponent<card>(); //only cards can be buffed for now (not players) card_to_buff.AddBuff(positive, param, BuffType, EOT, effectcard); } }
public static void AddToStack(bool AI, card effectcard, int effect_number) { EffectToDo effect_to_add = new EffectToDo(); effect_to_add.AI = AI; effect_to_add.effectcard = effectcard; effect_to_add.effect_number = effect_number; if (AI) foreach (GameObject target in Enemy.targets) effect_to_add.targets.Add(target); else foreach (GameObject target in Player.targets) effect_to_add.targets.Add(target); Stack.Add (effect_to_add); Debug.Log ("added to stack effect from card:" + effectcard.Name + ", for enemy: "+AI); }
//加一张卡 void addcard(card c) { //如果已经满了 if (getcardcount()=="30/30") { //不加, return; } c.insetcount++; c.count--; if (isinset(c.cardid)) //有 { transform.FindChild(c.cardid).SendMessage("addone",c); } else { //根据消费来定插入位置 int p = indexofset(int.Parse(c.cost)); //实例化一个 Transform go; if (setcards.Count == 0) { go = (Transform)Instantiate(setcardmodel, startpostion, transform.rotation); go.parent = transform; go.localPosition = startpostion; } else if (p == setcards.Count) { go = (Transform)Instantiate(setcardmodel, setcards[p - 1].position, setcards[p - 1].rotation); go.Translate(Vector3.back * 0.15f * 1.290421f); } else { go = (Transform)Instantiate(setcardmodel, setcards[p].position, setcards[p].rotation); } go.parent = transform; go.SendMessage("setinfo", c); setcarddown(p); setcards.Insert(p, go); } updatacardcount(); //向page更新这张卡的信息 updatecard(c); //更新统计信息 }
public static void AddCreature(card card_to_add) { cards_in_game.Add(card_to_add); enemy_creatures.Add (card_to_add); Zone creaturezone = Enemy.CreaturesZone; creaturezone.AddCard (card_to_add); // this is the same for player and enemy creatures card_to_add.FirstTurnInGame = true; card_to_add.GetComponent<AudioSource>().PlayOneShot(card_to_add.sfxEntry); Player.CreatureStatsNeedUpdating = true; }
//只有1次 void setinfo( card i) { info = i; transform.FindChild("pic").transform.FindChild("pic").renderer.material = info.image; transform.FindChild("cost").GetComponent<UILabel>().text = info.cost; if (info.cnname=="") { transform.FindChild("name").GetComponent<UILabel>().text = info.name; } else { transform.FindChild("name").GetComponent<UILabel>().text = info.cnname; } name = i.cardid; }
public static void MoveCard(card card_to_move) { if (card_to_move.IsZoomed) { Debug.Log ("starting unzoom after moving"); Player.CanUnzoom = true; card_to_move.UnZoom(); } //move the card from collection to deck or from deck to collection if (card_to_move.InCollection) { Debug.Log("mouse down collection"); card foundcard = EditDeckScripts.cards_in_deck.Find(x => x.Index == card_to_move.Index); if (foundcard) { Debug.Log("found, adding amount"); foundcard.Amount++;} else { //Debug.Log("cloning"); GameObject clone; clone = (GameObject)Instantiate(card_to_move); EditDeckScripts.cards_in_deck.Add(clone.GetComponent<card>()); //make a copy of this card to display in deck //foundcard = EditDeckScripts.cards_in_deck.Find(x => x.Index == Index); clone.GetComponent<card>().Amount=1; } card_to_move.Amount--; } else { Debug.Log("moving card index: "+ card_to_move.Index.ToString()); EditDeckScripts.cards_in_collection.Find(x => x.Index == card_to_move.Index).Amount++; Debug.Log("amount in coll: "+ EditDeckScripts.cards_in_collection.Find(x => x.Index == card_to_move.Index).Amount); card_to_move.Amount--; if (EditDeckScripts.FilterOn) { if (card_to_move.Name.ToString().ToLower().Contains(EditDeckScripts.searchname.ToLower())) { EditDeckScripts.cards_in_collection.Add(card_to_move); } else { EditDeckScripts.cards_filtered_out.Add(card_to_move); card_to_move.GetComponent<SpriteRenderer>().enabled = false; } } } EditDeckScripts.ArrangeCards(); }
Transform CreateCard(card a) { Transform ret = null; switch (a.type) { case CardType.kability: { ret = (Transform)Instantiate(abilitypre.transform); } break; case CardType.kminion: { ret = (Transform)Instantiate(minionpre.transform); } break; case CardType.kweapon: { ret = (Transform)Instantiate(weaponpre.transform); } break; case CardType.khero: { ret = (Transform)Instantiate(minionpre.transform); } break; case CardType.kheroPower: { Debug.LogError("出现了英雄技能卡"); } break; } ret.name = a.cardid; ret.SendMessage("setinfo", a); return ret; }
public static void AddCreature(card card_to_add) { // Debug.Log ("starting AddCreature"); cards_in_game.Add(card_to_add); player_creatures.Add (card_to_add); Zone creaturezone = Player.CreaturesZone; card_to_add.ControlledByPlayer = true; creaturezone.AddCard (card_to_add); // this is the same for player and enemy creatures card_to_add.FirstTurnInGame = true; //important, because of the "return to deck" spells //AudioSource cardSFX = card_to_add.GetComponent<AudioSource>(); //cardSFX.Play(); card_to_add.GetComponent<AudioSource>().PlayOneShot(card_to_add.sfxEntry); Player.CreatureStatsNeedUpdating = true; }
void setinfo(card i) { front = transform.FindChild("front").renderer; frontkuan = transform.FindChild("frontkuan").renderer; quality = transform.FindChild("quality").renderer; skininfo = i; name = skininfo.cardid; transform.FindChild("pic").renderer.material = skininfo.image; if (skininfo.cnname=="") { transform.FindChild("name").GetComponent<UILabel>().text = skininfo.name; } else { transform.FindChild("name").GetComponent<UILabel>().text = skininfo.cnname; } transform.FindChild("cost").GetComponent<UILabel>().text = skininfo.cost; if (skininfo.cndescription=="") { transform.FindChild("description").FindChild("description").GetComponent<UILabel>().text = skininfo.description; } else { transform.FindChild("description").FindChild("description").GetComponent<UILabel>().text = skininfo.cndescription; } if (skininfo.type != CardType.kability)//如果不是技能卡 { transform.FindChild("attack").GetComponent<UILabel>().text = skininfo.attack; transform.FindChild("health").GetComponent<UILabel>().text = skininfo.health; } classskin(); qualityskin(); raceskin(); }
/// <summary> /// 载入xml /// </summary> static void loadxml() { AllCards = new List<card>(); XmlDocument xml = new XmlDocument(); //xml.Load(Application.dataPath + "\\card.xml"); TextAsset cardsXml=(TextAsset)Resources.Load("card"); xml.LoadXml (cardsXml.text); #region 读取卡数据 foreach(XmlElement tcard in xml.DocumentElement.ChildNodes) { card a = new card(); string imagename = tcard.SelectSingleNode("image").InnerText; Texture image = (Texture)Resources.Load("card/" + imagename); //建立卡图片的材质 a.image = new Material(Shader.Find("Diffuse")); a.image.mainTexture = image; a.image.SetTextureScale("_MainTex", new Vector2(0.6f, 0.4f)); a.image.SetTextureOffset("_MainTex", new Vector2(0.2f, 0.43f)); a.cardid = tcard.Name; a.cnname = tcard.SelectSingleNode("cnname").InnerText; a.name = tcard.SelectSingleNode("name").InnerText; a.cndescription = tcard.SelectSingleNode("cndescription").InnerText; a.description = tcard.SelectSingleNode("description").InnerText; a.quality = (CardQuality)int.Parse(tcard.SelectSingleNode("quality").InnerText); a.set = (CardSet)int.Parse(tcard.SelectSingleNode("set").InnerText); a.type = (CardType)int.Parse(tcard.SelectSingleNode("type").InnerText); a.attack = tcard.SelectSingleNode("attack").InnerText; a.health = tcard.SelectSingleNode("health").InnerText; if (a.type == CardType.kweapon)//如果是武器卡, { a.health = tcard.SelectSingleNode("durability").InnerText; } a.cost = tcard.SelectSingleNode("cost").InnerText; a.count =1; string temp = tcard.SelectSingleNode("race").InnerText; if(temp == "") { temp = "0"; } a.race = (CardRace)int.Parse(temp); temp = tcard.SelectSingleNode("classs").InnerText; if(temp == "") { temp = "0"; } a.classs = (CardClass)int.Parse(temp); //跳过英雄与英雄技能卡 if(a.type == CardType.kheroPower||a.type==CardType.khero) { continue; } AllCards.Add(a); } #endregion }
// Use this for initialization void Start() { ai = new AI (); for (int i=0; i<6; i++) { pdeck[i]=new card(); } tmanager=GameObject.Find("Tmanager").GetComponent<Texturemanager>(); _camera = Camera.main; screenWidth = _camera.pixelWidth; screenHeight = _camera.pixelHeight; StreamReader sw= new StreamReader("battleinfo\\playerinfo.txt"); money = int.Parse(sw.ReadLine ()); nowdeck = int.Parse(sw.ReadLine ()); sw.Close (); sw= new StreamReader("battleinfo\\battle.txt"); while (ind<14) { try{tstr=sw.ReadLine(); if (tstr=="e"){ ecard=true; ind++; tstr=sw.ReadLine(); } if(ecard){ tobj=Instantiate (mcard, mcard.transform.position, this.gameObject.transform.localRotation); tobj.name="tcard"+ind.ToString(); tcard = GameObject.Find("tcard"+ind.ToString()).GetComponent<card>(); tcard.assigncard(tstr); tcard.isfrontcard=false; tcard.ismycard=false; tcard.position0=13-ind; tcard.updateTexture(tmanager); edeck[13-ind]=tcard; } ind++; } catch{break;} } edeckcnumber = 6;//TODO : 적의 덱 수를 알 수 있으면 지울것 sw.Close (); StreamReader sw2 = new StreamReader ("battleinfo\\deck" + nowdeck.ToString () + ".txt"); ind=0; pdeckcnumber=int.Parse(sw2.ReadLine()); while (ind<pdeckcnumber) { try { tstr = sw2.ReadLine (); tobj = Instantiate (mcard, mcard.transform.position, this.gameObject.transform.localRotation); tobj.name = "tcard" + (ind).ToString (); tcard = GameObject.Find ("tcard" + (ind).ToString ()).GetComponent<card> (); tcard.assigncard (tstr); tcard.position0=ind; tcard.updateTexture (tmanager); pdeck [ind] = tcard; ind++; } catch { break; } } sw2.Close (); }
public bool summontest(int index,card[] pdeck,card[] edeck,int deckcnumber,int edeckcnumber) { for (int ind = 0; ind < deckcnumber; ind++) { card c = pdeck [ind]; if(c.onfield&&c.position1==index){ return false; } } for (int ind = 0; ind < edeckcnumber; ind++) { card c = edeck [ind]; if(c.onfield&&c.position1==11-index){ return false; } } return true; }
public static void DoEffect(bool AI, card effectcard, int effect_number, List<GameObject> effecttargets) { if (Stack.Count == 0) { Player.CanDoStack = false; Debug.Log("gonna play audio: "); GameObject.FindWithTag("Player").GetComponent<AudioSource>().PlayOneShot(effectcard.sfxAbility0); if (effectcard.Type == 2 ) effectcard.StartCoroutine("SpellAfterEffects", AI); //if it's a spell else if ( effectcard.Type == 4 ) effectcard.StartCoroutine("SecretAfterEffects", AI); // or a secret else Player.SpellInProcess = false; //some ability } Debug.Log("DoEffect start, effect_number: "+effect_number+", effects on card: "+effectcard.Effects.Count); int Param0=0; int param0type = effectcard.Effects[effect_number].param0type; int effect = effectcard.Effects[effect_number].type; if (effectcard.Type == 1 && effectcard.Effects[effect_number].trigger == 1) //if it's a creature's activated ability effectcard.Turn (); Debug.Log ("gonna do effect type: " + effect); if (param0type == 1) //number of allies if (effectcard.ControlledByPlayer) Param0 = Player.player_creatures.Count(); else Param0 = Enemy.enemy_creatures.Count(); else if (param0type == 2) //number of allies destroyed this turn if (effectcard.ControlledByPlayer) Param0 = Player.AlliesDestroyedThisTurn; else Param0 = Enemy.AlliesDestroyedThisTurn; else Param0 = effectcard.Effects [effect_number].param0; bool EOT = false; int BuffDebuffType = 0; //int card_index = effectcard.Index; Debug.Log ("param0:" + Param0); ourtargets = effecttargets; switch (effect) { // check the index of the 1st effect and call the appropriate function case 0: //heal Debug.Log ("heal"); Heal (Param0); break; case 1: // damage Debug.Log ("damage"); if (Player.player_creatures.Contains(effectcard) || Enemy.enemy_creatures.Contains(effectcard)) Damage (Param0, effectcard.id_ingame); else Damage (Param0, effectcard.id_ingame); Debug.Log(" effectcard:"+effectcard.Name + "idingame:" +effectcard.id_ingame); break; case 2: //draw card(s) Debug.Log ("draw card(s)"); DrawCard (AI, Param0); break; case 4: //place a card in your land zone (from deck, graveyard, etc) Debug.Log ("place card in land zone"); PutTargetCardInLandZone(AI); break; case 5: //place a card in your hand (from deck, graveyard, etc) Debug.Log ("place card in hand"); PutTargetCardInHand(AI); break; case 6: //fight between two creatures Debug.Log ("brawl"); Brawl(); break; case 8: //untap Debug.Log ("untapattackingtarget"); UntapTarget(); break; case 9: //kill Debug.Log ("destroy"); DestroyCreature(); break; case 10: //debuff. If the EOT boolean is true, this effect only lasts until end of turn. EOT = effectcard.Effects[effect_number].eot; Debug.Log ("debuff"); BuffDebuffType = effectcard.Effects[effect_number].bufftype; DoBuff(false, Param0, BuffDebuffType, EOT, effectcard); break; case 11: //buff EOT = effectcard.Effects[effect_number].eot; Debug.Log ("buff"); BuffDebuffType = effectcard.Effects[effect_number].bufftype; DoBuff(true, Param0, BuffDebuffType, EOT, effectcard); //we pass effect to let Buff know what type of buff we want break; case 12: //place creature, param is card index Debug.Log ("place creature"); PlaceCreature(AI, Param0, effectcard); break; case 13: //place target creature in game under your control Debug.Log ("place creature"); PlaceCreature(AI); break; case 15: //gain mana Debug.Log ("gain mana"); GainMana(AI, Param0); break; default: Debug.Log ("effect:"+effect); Debug.Log ("there's no such effect in DB!"); break; } Player.EffectInProcess = false; }
public void doAI(card[] pdeck,card[] edeck,int deckcnumber,int edeckcnumber) { for(int i=0;i<3;i++){ if(summontest(i,edeck,pdeck,edeckcnumber,deckcnumber)){ for (int ind = 0; ind < edeckcnumber; ind++) { card c = edeck [ind]; if(c.onfield==false&&c.islive){ c.isfrontcard=true; c.onfield=true; c.position1=i; c.state="field"; break; } } } } }
public void swapcard(int p1,int p2,card[] pdeck) { card t1=new card(); card t2=new card(); foreach(card c in pdeck){ if(c.position0==p1){ t1=c; c.position0=p2; } else if(c.position0==p2){ t2=c; c.position0=p1; } } pdeck [p1] = t2; pdeck [p2] = t1; }
public void Grow(card upgrade, bool AI=false) { //Debug.Log ("growing, iszoomed:"+IsZoomed); Index = upgrade.Index; //if (IsZoomed) UnZoom(); GetComponent<Collider2D>().enabled = false; foreach (Transform child in transform) Destroy(child.gameObject); //destroying additional gameobjects for art, card name, description text, etc playerDeck.pD.LoadCardStats(this); if (IsTurned) //temporary unturn if (!MainMenu.TCGMaker.core.UseGrid) { if (transform.parent) transform.parent.Rotate (0, 0, -MainMenu.TCGMaker.core.OptionTurnDegrees); else transform.Rotate (0, 0, -MainMenu.TCGMaker.core.OptionTurnDegrees); } playerDeck.pD.AddArtAndText (this); if (AI) Enemy.RemoveHandCard (upgrade); else Player.RemoveHandCard (upgrade); Destroy (upgrade.gameObject); GetComponent<Collider2D>().enabled = true; if (IsTurned) //return the turned rotation if (!MainMenu.TCGMaker.core.UseGrid) { if (transform.parent) transform.parent.Rotate (0, 0, MainMenu.TCGMaker.core.OptionTurnDegrees); else transform.Rotate (0, 0, MainMenu.TCGMaker.core.OptionTurnDegrees); } }
//invokes when this card (probably a creature) is attacked public void IsAttacked(card Attacker) { if (Player.player_creatures.Contains(this)) Player.TriggerCardAbilities(abilities.ON_FRIENDLY_ISATTACKED); else Enemy.TriggerCardAbilities(abilities.ON_FRIENDLY_ISATTACKED); Debug.Log ("a creature "+Name+" is attacked, processing damage.."); if (Attacker.Ranged) { PlayFX(playerDeck.pD.firefx); GetComponent<AudioSource>().PlayOneShot(HitBySpell); } else GetComponent<AudioSource>().PlayOneShot (Hit); GetComponent<Renderer>().material.color = Color.red; Invoke ("RestoreColor", 0.3f); //we make the avatar red for 0.3 seconda int DamageToCreature; if (noDamage(Attacker, this)) DamageToCreature = 0; else { DamageToCreature = Attacker.CreatureOffense; if (Attacker.IsCriticalStrike ()) { Player.Warning = "Critical strike!"; //you could change it to some fx DamageToCreature = (int)(Attacker.CreatureOffense * Attacker.CritDamageMultiplier); } if (Attacker.DoubleDamage) DamageToCreature = DamageToCreature * 2; if (TakesHalfDamage) DamageToCreature = (int)(DamageToCreature / 2); if (Attacker.Ranged && less_dmg_from_ranged) DamageToCreature--; bool DoNoDamage = false; if (MainMenu.TCGMaker.core.OptionKillOrDoNothing) { if (Defense >= DamageToCreature) DoNoDamage = true; } if (DoNoDamage) DamageToCreature = 0; else Defense -= DamageToCreature; Debug.Log("dealt "+DamageToCreature+" damage, attacker offense:"+Attacker.CreatureOffense); } if (MainMenu.TCGMaker.core.OptionRetaliate && !noDamage(this, Attacker)) { // the attacked creature deals damage back to the attacker: if (!MainMenu.TCGMaker.core.UseGrid || Ranged || slot.IsAdjacent(Attacker.slot) ) { int DamageToAttacker = CreatureOffense; //default damage if (IsCriticalStrike ()) DamageToAttacker = (int)(CreatureOffense * CritDamageMultiplier); if (DoubleDamage) DamageToAttacker = DamageToAttacker * 2; if (Attacker.TakesHalfDamage) DamageToAttacker = (int)(DamageToAttacker / 2); if (Ranged && Attacker.less_dmg_from_ranged) DamageToAttacker--; Attacker.Defense -= DamageToAttacker; } } Player.CreatureStatsNeedUpdating = true; if (Defense <=0 ) { //the attack target died if (Player.player_creatures.Contains(Attacker) || Player.cards_in_graveyard.Contains(Attacker)) Attacker.abilities.TriggerAbility (abilities.ON_KILL); else Attacker.abilities.TriggerAbility (abilities.ON_KILL, true); } if (Attacker.Defense <=0 ) { if (Player.player_creatures.Contains(this) || Player.cards_in_graveyard.Contains(this)) abilities.TriggerAbility (abilities.ON_KILL); else abilities.TriggerAbility (abilities.ON_KILL, true); } }
public void AddBuff(bool positive, int param, int BuffType, bool EOT=false, card effectcard=null) { Debug.Log ("creature is being buffed for:" + param +", buff is positive: "+positive); Debug.Log ("BuffType" + BuffType); Buff newbuff = new Buff(); switch (BuffType) { //OFFENSE BUFFS: case Buff.SET_ATTACK_TO: CreatureOffense = param; break; case Buff.RAISE_ATTACK_BY: if (!positive) param = -param; CreatureOffense += param; break; case Buff.MULTIPLY_ATTACK_BY: if (!positive) param = 1/param; CreatureOffense *= param; break; //DEFENSE BUFFS: case Buff.SET_DEFENSE_TO: CreatureDefense = param; break; case Buff.RAISE_DEFENSE_BY: if (!positive) param = -param; CreatureDefense += param; break; case Buff.MULTIPLY_DEFENSE_BY: if (!positive) param = 1/param; CreatureDefense *= param; break; //MISC BUFFS: case Buff.SET_CRIT_CHANCE_TO: CritChance = param; break; case Buff.ASSIGN_ABILITY: if (!positive) RemoveAllAbilities(); else AssignSpecialAbility(param); break; } UpdateCreatureAtkDefLabels(); newbuff.type = BuffType; newbuff.positive = positive; newbuff.param = param; newbuff.EOT = EOT; if (effectcard.Type == 3 )newbuff.enchantmentcard = effectcard; // if it's an enchantment buffs.Add(newbuff); }
bool noDamage(card attacker, card target) { if (attacker.deals_no_combat_dmg || target.takes_no_combat_dmg || (attacker.Ranged && target.no_dmg_from_ranged)) return true; return false; }
public DeckOfCards() { string[] faces = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" }; string[] suits = { "h", "d", "c", "s" }; deck = new card[NUMBER_OF_CARDS]; currentCard = 0; randomNumbers = new Random(); for (int count = 0; count < deck.Length; count++) deck[count] = new card(faces[count % 13], suits[count / 13]); }
// Update is called once per frame void setinfo(card i) { info = i; //更新数量 updateNumtext(); }
void upinfo(card c) { info=c; updateNumtext(); }
private void addCard(card currCard, List<card> possibleCards) { if(possibleCards.Count == 0 || possibleCards.Count == 1) { possibleCards.Add(currCard); } else if(possibleCards.Count == 2) { if((possibleCards[0].B && possibleCards[1].B) || (possibleCards[1].B && currCard.B)) { possibleCards.Add(currCard); } else { //must be lying about something!!! don't really know what we want to do here. //say that there is a zero percent chance that every one is telling the truth because at the point we know that at least one person is lying } } }