パスワードを忘れた? アカウント作成
10940 story

「C++」「Java」などを学べるボードゲーム発売中 96

ストーリー by yoosee
SegmentationFaultで一回休み 部門より

x-AC曰く、"Hotwired Japanの記事によると、コンピューター・プログラマのイゴール・ホロドフ氏と言う人が、遊びながらにして『C++』や『Java』などのプログラミング言語を学べてしまうボードゲーム「c-jump」を開発したそうだ。まるでフローチャートのような盤面を見ていると、どうもゲームのようには見えない。盤面には if(X==1)while(X<4) のような制御文が並んでいる。

JavaやC++といった、なんだかんだ言っていまだ現役バリバリの言語仕様を採用しているあたりが、アレゲを通り越して殺伐としているような気がしないでもないのだが、日本でも早くからプログラミングを学ぶことは有用であることも多いだろうし、これで小さい頃から適性を判断するようなカリキュラムを組んでおくというのものいいかもしれない。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • はじめてじゃないC (スコア:3, おもしろおかしい)

    by snurf-kim (10835) on 2005年10月03日 13時59分 (#807915) 日記
    Cを学べるアドベンチャーゲームならそれはもう沢山あるわけなんですが・・・。

    え、意味が違う?

    #学べるったって実践ではまるで役に立たない、
    #いや実践の機会などないので別にいいのか。
  • by B.Knives (8863) on 2005年10月03日 13時32分 (#807899)
    1ゲームに30分かかるというが、30分あればHelloWorldと初級チュートリアルやらせたほうが良くないか?
    10回もゲームもするうちに、その時間分チュートリやった子供との差は埋められないほど歴然としてしまう気が。

    本質的にはトランプで新しいゲームを考えさせてみるとかね。
    親も子供の考えた新しいゲームに参加してみてどうすれば面白くなるかルールを考えてみる、なんてほうが盤面だけ条件分岐が書かれたすごろくをやるよりはるかにアルゴリズムやアーキテクチャの勉強になるかと。

    本当に11歳の子供にプログラミング勉強させたいならね。
    ~~~~~~~
  • 逆なのでは…… (スコア:2, すばらしい洞察)

    by Anonymous Coward on 2005年10月03日 14時29分 (#807938)
    「プログラミング言語を学べるゲーム」というよりは、「プログラミング言語を学んでいないとできないゲーム」のような……(^^;
  • by MeeD (18266) on 2005年10月03日 14時44分 (#807945)
    トレーディングカードゲームのほうがよほど複雑な条件式に支配されてるような気がします。

    このカードは○○が▽▽のときに特殊効果を発揮し、その条件をそろえるための手順として…

    そう思いません?
    #Magic the Gatheringは数学者が作ったらしいですね
    • by Elbereth (17793) on 2005年10月03日 16時53分 (#808006)
      トレーディングカードゲームは、確かに今回の話題のボードゲームよりは
      複雑でしょう。

      しかし、やはり人間が短い時間でゲーム全体を把握できるように、
      ある程度まで要素が絞り込まれています。とは言っても盤面(場)に
      直接は
      出ていない要素も多く、それらを網羅した思考が必要ですね。

      ゲーム内で使用される数字は小学生でも足し算引き算ができるように1桁、
      多くても2桁程度までですし。カード枚数に限っては何十枚単位か。

      で、(日本では)よくある問題に、机上のルールで構築しているだけとか
      制作者側があまりデバッグをしていなかったとかの原因で
      ゲームを発売して多くの消費者の目に触れてから、下記のような
      はずかしい問題が発覚することがあります。

      ・強すぎるカードがでてくる
      ・無限ループができてゲームが終了できなくなる
      ・1ターン目で相手を瞬殺できるコンボが発見される
      ・意味不明なカードの文面
      ・ルールそのものにバグが発見される

      まぁ何と言うか、仕様書だけ作って実装がないみたいな感じで。
      どうしてそうなるかと言うと、TCGの制作者がこういうゲームを
      作るためのプログラマー的素養を備えていないことが多いからです。

      なので、もっとプログラマーが関わってPCでゲームのシミュレーターを
      作ってデバッグすると、もう少しいい感じになるんじゃないかと思いますし、
      昔TCGの会社に関わっていたときにそういうのを欲しかったですが、
      トレーディングカードの開発費なんてのはM:tGみたいのなら
      いざ知らず、普通はそんなに潤沢ではないので、そんなことはなかなか
      できないですね。
      M:tGみたく後からPCに移植されるケースもありますから、それを見越して
      開発しておくというのもありかと思いますが、まぁ難しいですね。
      今はTCGのブームも割と下火になってきているので、今更力を入れて
      開発支援システム作ってもなぁという話も。
      親コメント
      • > で、(日本では)よくある問題に、

        M:tGでも、黎明期は「パワー9 [mtgwiki.com]」と呼ばれる強すぎるカードや
         「チャネルボール [mtgwiki.com]」などの1ターンキルコンボがあったわけで、TCGの宿命でしょう。
        セキュリティ・脆弱性問題とは違うので、適宜
         ルール修正・禁止カード指定などが適切に行われればよいのではないでしょうか

        ……とはいえ、小手先の変更でこのボードゲームが面白くなるようになるとは思いませんが(^^;

        親コメント
      • by G7 (3009) on 2005年10月04日 2時30分 (#808247)
        >なので、もっとプログラマーが関わってPCでゲームのシミュレーターを
        >作ってデバッグすると、もう少しいい感じになるんじゃないかと思いますし、

        なるほど。そういうものだったんですか、あれって。

        あれの何がどう「ゲーム」なのかさっぱり理解できなかったんですが、
        つまり、自ずから成立するゲームなのではなく、
        (個々の)プログラムのように
        バグが入り得る存在なのですね。
        で、なんとかバグを起こさないように努力(^^;した結果として世に出される、と。

        言い換えると、「設計」という行為を要するモノなのですね。

        じゃあ"ゲームCAD"が有ると良さそうだなあ。
        親コメント
    • by Alef_F (27309) on 2005年10月03日 15時04分 (#807952)
      Magicは中学生くらいが最低ターゲットなんではないでしょうか。
      小学生以下だと、ポケモンカードゲームや遊戯王カードゲーム、カードダス(これはよく知らないけど)辺りになるんでは。

      最初の遊戯王カードゲームは、カードテキストが(いくらルールのように書かれていても)全てフレーバーテキストだったのでびっくりしました。

      #現在はそうでもないらしいですが。
      親コメント
    • トレカってよく知らないんだけど。
      カードに機能が書かれてて、
      他のカードと協調しながら働くって・・・

      もうちょっとの工夫で「オブジェクト指向」
      (のゲーム)にならない?
      親コメント
    • by seoth (17664) on 2005年10月03日 17時00分 (#808010)
      [java.applet.Applet] オブジェクト:小さなプログラム。攻撃力、守備力ともに弱。
      [Validator] デリゲートオブジェクト:検査オブジェクト。攻撃力弱、守備力中。融合したカードではRuntimeExceptionを継承する例外カードを無力化する。
      [obj.GetType().GetMethod()] 操作: 相手フィールド上の任意のオブジェクトカード1枚からメソッドを選択して使用できる
      [動的継承] 概念:任意のオブジェクトカードに任意のインターフェースカードを実装できる(例:花瓶 implements 宴会幹事)
      [PermissionException] 例外:指定したパーミッションを必要とする操作カードの実行を禁止する
      [NullPointerException] 例外:オブジェクトカードを新しくフィールドに出すまで、クラスメソッド以外の実行を不可能にする。このカードを出した者は頭を殴られる。
      [try{....}catch(Exception ex){ /* 例外は発生しないはず */ }] 魔法:あらゆる例外を無効化する。代償としてターン毎にHPの5%を失う。
      [仕様変更] 魔法:フィールド上の全てのカードをセメタリーに送る

      よし飽きてきた
      親コメント
  • by IKeJI (13535) on 2005年10月03日 12時40分 (#807861) ホームページ
    要はスゴロクなのかな?

    それならどんな言語でもいけそう。
    でも、関数とかクラスとかどうなっているのでしょうか?
  • 多言語対応 (スコア:1, 興味深い)

    by Anonymous Coward on 2005年10月03日 12時43分 (#807864)
    手続き型言語なら、シールを貼ればほぼどれでも対応できそうですな。

    # 個人的には関数型言語やPrologを学べるゲームが欲しいのでAC
    • Re:多言語対応 (スコア:2, おもしろおかしい)

      by chute (19365) on 2005年10月03日 15時20分 (#807954)
      > # 個人的には関数型言語やPrologを学べるゲームが欲しいのでAC

      バックトラックする双六ってすごく嫌.

      と思ったけど,プレイヤーが節の選択がするなら,選択がその後の進み方に影響を与える
      高度な人生ゲームなのかもとも思えてきた.
      そう考えれば,バックトラックって人生のやり直しが出来るってことか?

      結婚相手の選択間違えたみたいだからトラックバックしようと思ったら.
      カットが入ってて「お前の人生はもう後戻りできないぞ」とか.
      親コメント
    • 等価なゲームを遊ぶ事は可能かもしれませんが、 C 以外の言語では、 このゲームの一番面白いところである タイトルの駄洒落 [google.co.jp] には対応できませぬ……

      親コメント
  • 純粋なゲームとしてはあんまり面白くなさそう.少なくとも,盤面がごちゃごちゃしてるのは気に入らないな.
    HotWired記事の後半にも批判的な評がありますね.
    #RoboRallyやるのにプログラミングの知識は要らんと思うがな
    • by Anonymous Coward on 2005年10月03日 13時28分 (#807896)
      私もボードゲームマニアで、たまにプログラミングもしますが
      これは面白くなさそうですね。

      そもそも、if(X==1) だの while(X<4) だのってのは単に記法上の表現に過ぎないわけで
      「もし、アレが1なら」や「アレが4以上になったら」という思考がその本質でしょう。
      その理屈で言えば、そういうプログラミング的な考え方を要求されるゲームは五万とあるわけで(必要としない方が珍しいかも)
      その思考と、記法のマッピングをする為にこのゲームが必要だとは思えません。

      クニツィア [tgiw.info]でも遊んでた方が時間が有効に使えると思います

      # ロボラリー入手難で諦めちゃった。再販の噂があったけど今は手に入る?
      親コメント
      • ># ロボラリー入手難で諦めちゃった。再販の噂があったけど今は手に入る?
        私はAmigo版(の米国翻訳版だったかも)を米国から通販で入手しました.
        それでも数ヶ月入荷待ちでしたが…
        親コメント
      • by Anonymous Coward on 2005年10月03日 18時49分 (#808058)
        >思考と、記法のマッピングをする為にこのゲームが必要だとは思えません
        そんな理屈は抜きにしても、ゲームとして面白くないと言われたら
        あとは教材としてしてしか使えませんからね。
        >「もし、アレが1なら」や「アレが4以上になったら」という思考がその本質
        という「プログラミング的な考え方を要求されるゲームは五万とある」
        としたら、今自分がやっているゲームもそうだって逆説的に考えたり、
        発展させて考えたりする、つまりゲート回路を剥き出しにしてみせる、
        それが比較的低年齢にもわかる素材の上で行われたと考えると、
        「プログラムなんてものの本質は双六が理解できればいいんだよ」
        って作者の意図は理解できますし、ここにいる人間が必要としなけりゃいけん事は無い。
        というか、これが自分の理解に必要だなんて言う奴がいたら…ちょっと怖いな。
        触れるSQUEAKと言ったら、大げさだと思いますが、コロンブスの卵だと思います。
        親コメント
    • by Anonymous Coward on 2005年10月03日 15時24分 (#807956)
      ごめんなさい、1ボードマイコンでゲームやってた人かと思いましたorz
      親コメント
  • by hpn_smile (11442) on 2005年10月03日 13時09分 (#807882) 日記
    gotoでjumpしてると、構造化とは逆方向では?

    # 使うと便利な時があるのは分かるけどね。
    • by Anonymous Coward
      最後にはCPUが理解して動くだけですから無問題。
  • C3H,00H,00H ですかね?

    #Z80コードが頭から消えてくれません
  • CやBasicじゃなくて? (スコア:1, すばらしい洞察)

    by tokushima (155) on 2005年10月03日 13時53分 (#807910)
    C++、Javaを掲げるなら、その本質はオブジェクト指向にあると思う。
    もし、いままでボードゲーム(双六)と違って、オブジェクト指向的発想が自然と身につくボードゲームならば是非やってみたい。
    写真をみるかぎりそういうものではなさそうで残念。
    --
    It's not who is right, it's who is left.
    • by deki (5563) on 2005年10月04日 8時20分 (#808285)
      プレーヤの行動を記したメンバ関数カードを用意して、
      プレーヤにお金やHP、MP、攻撃力、守備力等のメンバ変数と、行動カードというメンバ関数を持たせて、
      サイコロ又は他プレーヤからプレーヤが持つ行動カードを指定するゲームでも作りますか?

      …継承はどうするのかな?
      親コメント
  • デバッガでトレースしているうちに、スゴロクのように見えてきたのでしょうか。
    実用性はともかく、とりあえず作ってみたという感じがします。
    私も、実用性はともかくとりあえずやってみたいと感じました。
    プログラミング言語を知らない子供にやらせたらどんなもんかも、興味があります。
  • どうせなら、ペンティム系のアセンブリ命令のがよかった。
    「mov eax,100h」「cmp eax,eax 」、みたいなかんじに。

    #え、バイナリがいいって?
  • by heath_yam (16773) on 2005年10月03日 21時35分 (#808109)
    *「おお ゆうしゃ.netよ! しんでしまうとはなさけない!
    そなたに もういちど きかいを あたえよう。
    ふたたび このようなことが ないようにな。
    では ゆけ! ゆうしゃ.netよ!」
    --
    ヒースキット山口 heath yamaguchi
  •  :
    知財高裁で負けて一回休み
     :
    GPL違反で振り出しに戻る
     :
    秋葉原で絵を買ってしまい一回休み
     :
  • by Anonymous Coward on 2005年10月03日 12時37分 (#807860)
    もっとアレゲな言語を使えば。LispとかAlgolとかキカイゴとか。
    でもCPUどうしようね。
  • by Anonymous Coward on 2005年10月03日 13時02分 (#807877)
    適正 → 適性
  • by Anonymous Coward on 2005年10月03日 13時10分 (#807883)
    C++/Javaって、もう退役するような時期ですか。
    今主流の言語ってなんなんだろう?
  • by Anonymous Coward on 2005年10月03日 13時18分 (#807890)
    永久ループになったらどうするの?

    ちょっと欲しいので A.C.
typodupeerror

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

読み込み中...