お知らせ:このサイトは閉鎖します。移転先についてはhttp://projectroom.jphttp://haukun.projectroom.jpを参照ください。
新約聖書 マタイによる福音書朗読TwitterBot @BibleJP_Matt好きなテキストをiPhoneの壁紙に。iPhone用Webアプリ「ポステラ」聖書 創世記朗読TwitterBot @BibleJP_GenCodeOfCelestia -数学的壁紙配信サイト-

この記事は、旧システム用に書かれたものです。
本システムでは正常に表示されない可能性があります。ご了承ください。


オブジェクト指向的カード 記述 【考】

しばらくは先週の倒れている間に思いついたものでも。


カードゲームを作成する際、重要なのは世界観の広がり。
つまり、発売の回を重ねるにつれて、ルールが拡張されていくことが大事。(そうでも無いなら、新しいブースターを発売する意義があまり無いと考えている。)

そこで、出てくるのが、ルールの改変の蓄積。
特にカードゲームの場合は、後半になるにつれて、新しい概念がたくさん出てくる。

というわけで、カードゲームの記述をオブジェクト指向化したらいいのでは無いだろうかという考察。


例えば、ユニットみたいなカードは以下のようなクラスを準備して、これをextendsして生成すればよい。
abstract class unit{
  String name;
  int level;
  int life;
  int attack;
  int defence;
  int position;
  unit(){
  }
  void getDamage(int val){
    life-=val;
  }
  void dead(){
    life=0;
  }
  void assault(unit target){
    target.getDamage(attack - target.getDefence());
  }
  boolean isLive(){
    return life>0;
  }
  void destruction(){
    position = PLACE_TRASH;
  }
}
ユニットというものは、単に数値だけではなく、特殊能力みたいなものを持つから、それは以下のように追記すればよい。
void special_attack(unit target){
  target.getDamage(2);
}
ルール部分も例えばこのように記述できる。
class rule{
  void judge_card_existence(card[] target){
    foreach(target as obj){
      if(!obj.isLive()){
        obj.destruction();
      }
    }
  }
}
ルールの拡張も簡単である。
新しいパラメータを実装する場合は、コンストラクタ時に書いておけばよい。
public class mage extends unit{
  int magic;
}

あと日本語のぶれも存在しないし(多くのテキストでは、同じ意味でもカードによって違う言い回しをしてたりする)、あいまいな定義はまず無いし(プログラムの基本)、フレーバーテキストはコメントで入れれば良いし。
なかなか面白そうかもしれない(・-・)


巷で話題の狂戦士の魂はこう書けるかもしれない。
class berserker_soul extends instantly_magic(){
  void execute(){
    my.deleteCard(-1);
    while(my.getCard().getClass()=="class unit"){
      my.deleteCard(-1);
      unit tmp = my.chooseUnit();
      if(tmp.getAttack()<=1500){
        tmp.assault(my.chooseEnemyUnit);
      }
    }
  }
}


このコンテンツへのコメント

コメント無し

コメントフォーム
名前
(Max15文字)
削除パスワード
(Max15文字)
コメント
(Max1500文字)
コメントを投稿する※投稿する場合はこちらをチェック。
コメントを削除する※名前欄にIDを、削除パスワードに投稿時のパスワードを入れることで削除できます。

2013年もよろしくお願いいたします!

合計 228095
12/12 20
12/11 99
12/10 80
12/09 93
12/08 78
12/07 93
12/06 98
1,721,983
478 時間
19
5.4603
[とても昔]
アプリ内は良さそうだけど、ホーム画面はのっぺりしちゃうなぁ…。
[とても昔]
次のOSXそう来たかw
[とても昔]
SurfaceProゲットなう。思ったよりタッチ画面が使いやすかった。キーボードの縦幅短いから、画面と近いからかな。 これで、Win8/iOS/Androidアプリどれでも作れる! http://t.co/7CXQCVVao5
[とても昔]
じわじわくるw >RT
[とても昔]
スタジオレンタルして、15年ぶりにピアノを弾くなう。あとステージアも初体験できて良かった。近場で便利。フロッピーじゃなく、USBでレジストいけるのね。楽譜もネットで購入→印刷できるので、買いに行く必要すらなくなった。すごい時代。 http://t.co/9gRBztS2UB
@Hau_kun

Twitterでマタイによる福音書を読んでみませんか @BibleJP_Mattで朗読中 Twitterで創世記を読んでみませんか @BibleJP_Genで朗読中 好きなテキストをiPhoneの壁紙に。iPhone用Webアプリ「ポステラ」

区切り線
はぅ君プロジェクトについて

管理人はぅ君の運営する個人ポータルサイトです。
技術・思想・ソフトウェア・その他もろもろをコンテンツとして公開していきます。
ご意見・ご感想・要望は、各コンテンツのコメントか、お問い合わせよりどうぞ。

Rss 1.0 RSS1.0のフィード