Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2006-09-06

[プラポケ]rucila さんのバグ報告の件

バグ修正は容易なので明日からはちゃんと動いてくれるはずです。でも今日の結果はDBに登録記録されているのでそのままです。 本来ならDBを対決開始直前にロールバックして再計算という選択肢も考えられるのですが、今はテスト期間中なのでそこまでやりません(すいません)。

--

注目の一戦。思わずうなってしまった。ゼラニウム→マンネンロウの布陣を見て一瞬「は?ムラサマの休止から2年、yukiちゃん平和ぼけしちゃった?」とか思ったけどぼけてるのはオレだよっ!!! まずゼラニウムぶつけて、でもってマンネンロウで攻撃権奪取して裏とって相手の攻守を反転させる狙いじゃないかっ!しかも相手が上から来た場合に備えて3Pアタック使って5ポイント取りに来てる!最後が互角って負けてるけど惜しい。ムラサマと違ってプラポケは同一カード3連戦のスケジューリングなので明日も注目だ。

オレは初心者相手に王道の布陣でゴツイ戦いを繰り広げてます(ごめんなさいマカフシさん……)。しかも今日もR引きました。ごめんなさい><。 2日連続でレアってバグってないよなあ。以下抽選部分のソース。

class DefCard < ActiveRecord::Base
   def self._lot(rare)
    cards = DefCard.find(:all, :conditions => ["rare = ?", rare])
    return 1 if cards.size == 0
    cards[rand(cards.size)].id
  end

  def self.lot(player)
    r = rand(100)
    if r < player.rate_of_rare_card
      _lot(2)
    elsif r < player.rate_of_rare_card + player.rate_of_uncommon_card
      _lot(1)
    else
      _lot(0)
    end
  end
  has_many :new_cards
end

class NewCard < ActiveRecord::Base
  belongs_to :def_card
  belongs_to :player
  before_create :lot_def_card
  def lot_def_card
    return if def_card
    self.def_card_id = DefCard.lot(player)
  end
end

で確率はこれ。

class Player < ActiveRecord::Base
  def rate_of_rare_card
    5
  end

  def rate_of_uncommon_card
    30
  end
end

--

今日の対決を見てプラポケ作って良かった思った。ご協力頂いている方々ありがとうございます。そして、ありがとう Ruby、 ありがとう Rails。

アイテムほしいなあ。成功率50%の強化訓練なんてヤダよね。オレはヤダ。

本気度アップ。真面目にどのカード買うか悩んでたり。真面目にショップでカードのパラメータを眺めてみる……。む、ラワンデルの敏捷値が2なら使えるカードなのになあ。これ微妙なレアカードだなあ(深く考えずにテキトーにパラメータふってたのがばれる><)。7/1/2でライフがそれなりにあるカードとかすごく好みなんだけど、敏捷値2のカード一枚もないんだな。これ、たぶんどっかのタイミングで修正(ラワンデル => 7/1/2/5)入れます。

--

ごめんなさいちょっと熱くなっちゃいました。ちょっと反省。

--

あ、id:maiha きた〜。どうぞよろしくお願いします。