//キャラクタのステータス表示 public void CharaShowStats(TextBox textbox, Charactar chara) { string temp = ""; temp += "名前 :" + chara.Name + "\r\n"; temp += "HP : " + chara.Hp + "/" + chara.MaxHp + "\r\n"; temp += "MP : " + chara.Mp + "/" + chara.MaxMp + "\r\n"; temp += "攻撃 : " + chara.AttackPoint + "point\r\n"; temp += "防御 : " + chara.DeffencePoint + "point\r\n"; textbox.Text = temp; }
//お店のときはお店の倍率にあわせて表示を変える。 //もっといい方法ありそうだけど、わからん。あとメソッドの名前変えるべきか。 public void ShowItem(TextBox textline, Charactar chara, ItemShop shop) { //表示する前に初期化 textline.Text = ""; foreach (Item i in chara.ItemList.Values) { if (i != null) { textline.Text += i.Name + ":" + i.Count + "個 " + (int)(i.Value * shop.BuyScale) + " gold/個" + "\r\n"; } } }
//ゲームマスターが作られたときに初期化する。RPG作るの大変だなー public GameMaster() { //アイテム辞書を読み込む ItemDictionary itemdic = new ItemDictionary(); turn = 0;//よくわからないターン数 //キャラクターを適当に作る。特に表示とかはしてない。 //戦後は弓3個と薬草10個持っている sengo = new Charactar("戦後"); sengo.AddItem(itemdic.GetItem("弓", 3)); sengo.AddItem(itemdic.GetItem("薬草", 10)); uruoi = new Charactar("うるおい"); //うるおいは薬草5個、圧を3個持ってる uruoi.AddItem(itemdic.GetItem("薬草", 5)); uruoi.AddItem(itemdic.GetItem("圧", 3)); //うるおいちゃんだけHPが高い!今回は意味ない uruoi.MaxHp += 6; uruoi.Hp += 6; nampo = new Charactar("Nampo"); //Nampoは薬草を3個持ってる //アイテム辞書からアイテムを追加、間違ったアイテム名を指定したときはテストアイテムがでる。 nampo.AddItem(itemdic.GetItem("薬草???", 3)); //お店を作成 itemshop = new ItemShop("お店1"); itemshop.AddItem(itemdic.GetItem("薬草", 5)); itemshop.AddItem(itemdic.GetItem("弓", 3)); itemshop.AddItem(itemdic.GetItem("矢", 3)); itemshop.AddItem(itemdic.GetItem("盾", 3)); //パーティ作成 MainParty = new List <Charactar>(); MainParty.Add(sengo); MainParty.Add(uruoi); MainParty.Add(nampo); //ここ微妙。もっといい書き方あると思う。パーティクラスにしたほうがよさそう。 SelectedChara = 0; PartyGold = 103; }
public bool BuyFromChara(Item item, Charactar chara, ref int partygold) { if (chara.ItemList.ContainsKey(item.Name) && chara.ItemList[item.Name].Count >= item.Count && Gold >= item.Value * BuyScale * item.Count) { //キャラのアイテムを減らす。 chara.RemoveItem(item); //自分のアイテムを増やす this.AddItem(item); //アイテムの価値に倍率をかけた分お店のお金が増える小数点はないと思うが丸め込む。 //四捨五入かは忘れた。調べて。 Gold -= ((int)(item.Value * BuyScale) * item.Count); partygold += ((int)(item.Value * BuyScale) * item.Count); return(true); } else { //買えねーよ return(false); } }
//お店はキャラクタに対してアイテムをいくつか売る。 //売りたい個数を指定して売るが、持ち物にそれがなかったらfalseとする。 //オーバーロードしたけど使わないんじゃね?←消した。 public bool SellToChara(Item item, Charactar chara, ref int partygold) { //ショップのリストにアイテムがあるか?かつ、売りたい個数以上持っているか?かつ、パーティゴールドはあるか? if (this.ItemList.ContainsKey(item.Name) && this.ItemList[item.Name].Count >= item.Count && partygold >= (item.Value * SellScale * item.Count)) { //自分のアイテムを個数分減らす。 this.RemoveItem(item); //キャラクタのアイテムを増やす chara.AddItem(item); //アイテムの価値に倍率をかけた分お店のお金が増える小数点はないと思うが丸め込む。 //四捨五入かは忘れた。調べて。 Gold += ((int)(item.Value * SellScale) * item.Count); partygold -= ((int)(item.Value * SellScale) * item.Count); return(true); } else { //売れねーよ return(false); } }
public void ShowItem(TextBox textline, Charactar chara) { ShowItem(textline, chara.ItemList); }