Advertisement
Advertisement

More Related Content

Similar to どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)(20)

Advertisement

More from parrotstudio(13)

Recently uploaded(20)

Advertisement

どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)

  1. どきっ! 三行でできるランダムダンジョン!? ~WEBもあるよ!~ Present by ぱろっと(@parrot_studio) on 2010/08/21 at 群馬Web研究会
  2. 自己紹介 ・名前:ぱろっと ・使える言語:Ruby Java Javascript Perl VB PHP etc… ・興味のある言語:C# Haskel Erlang Objective-C etc… ・職歴:SE/プログラマ/フリーランス/MMORPGの運営 ・hatena:id:parrot_studio ・Twitter:@parrot_studio ・RO’s Blog: http://parrot.blog21.fc2.com/
  3. ※注意
  4. 顔文字を使うけど 気にしないでね (`・ω・´)
  5. ところで・・・
  6. 本当に三行で ダンジョンができるの (´・ω・)?
  7. RDGC
  8. R - Ruby(Random) D - Dungeon G - Game C - Core
  9. 作者:私
  10. RDGCができること ・ダンジョンを作ること ・シナリオを制御すること ・モンスターを制御すること ・時間を制御すること etc… http://sourceforge.jp/projects/rdgc/
  11. rdgc-dm ダンジョン生成だけ 切り出したgem
  12. 準備: gem install rdgc-dm
  13. require “rubygems” # ruby1.9ならこれ不要 require “rdgc-dm” dungeon = RDGC::Maker::DivideDungeonMaker.create(30, 40)
  14. require “rubygems” require “rdgc-dm” dungeon = RDGC::Maker::DivideDungeonMaker.create(30, 40) HTML = <<EOF Content-type: text/html <html> <head> <title>Random Dungeon Test for RDGC 0.2</title> </head> <body> <h2>Random Dungeon Test for RDGC 0.2</h2> X:壁 .:通路 ・:部屋<br/> <hr /> EOF print HTML print"<table>" dungeon.each_y do |y| print"<tr>" dungeon.each_x do |x| t = dungeon.tile(x, y) case when t.wall? print "<td bgcolor='#aaaaaa'>X</td>" when t.room? print "<td bgcolor='white'>・</td>" when t.road? print "<td bgcolor='#eeeeee'>.</td>" end end print"</tr>" end print "</table></body></html>"
  15. おい・・・ どこが三行だ (#゚Д゚)ゴルァ!!
  16. ダンジョン“オブジェクト”は 三行でできてますが 何か?( ゚Д゚)y─┛~~
  17. RDGCはViewを持たない
  18. 理由は二つ
  19. 1) Viewは使う側が 定義すべき
  20. View = ゲームそのもの
  21. 違いは一目瞭然Σ(゚Д゚)ガーン “RO”gue #1 - The Pink Maze - (C)Debonosu Works. (c) parrot_studio http://www.debonosu.jp/debonosu/game/kagura/
  22. 2) プラットフォームに 依存しないため
  23. not only Windows/Linux, but also WebBrowser
  24. よろしい、 ならばブラウザだ ∠( ゚д゚)/
  25. というわけで・・・
  26. RDGCをWebで動かそう
  27. 伝統的なやり方 It’s Traditional Way.
  28. HTML View Resource
  29. もっと対応機器を 増やしてみよう!
  30. HTML View1 HTML’ View2 Resource HTML? View3 View4 HTML…?
  31. ・別々にHTMLを書くのが面倒 ・サーバの負荷も高い
  32. Viewのことは クライアントに任せれば いいじゃなーい(゚Д゚)!
  33. Viewは各クライアントが制御 View1 View2 Resource View3 only DATA View4
  34. シンプル(`・ω・´) b (おもにサーバが)
  35. It’s API Style.
  36. Viewと データ(リソース)の 分離
  37. requestを裏で やり取りする = 画面遷移がない
  38. Ajax
  39. Asynchronous JavaScript + XML
  40. Asynchronous = 非同期
  41. でも、 難しいんでしょう・・・ (´・ω・)?
  42. 過去: var ajax; if(window.XMLHttpRequest) { ajax = new XMLHttpRequest(); } else if(window.ActiveXObject) { try { ajax = new ActiveXObject(“Msxml2.XMLHTTP”); } catch(e) { ajax = new ActiveXObject("Microsoft.XMLHTTP"); } } ajax.open(“GET”, serverURL); ajax.onreadystatechange = function() { if (ajax.readyState == 4 && ajax.status == 200) { // 取得データの処理 } } ajax.send(null);
  43. やってられるか! (ノ゚Д゚)ノ彡┻━┻
  44. jQueryで Ajaxを簡単に記述 (`・ω・´)
  45. 現在: $.getJSON(uri, param, function(data){ … })
  46. It’s jQuery.
  47. jQueryをサポートするIDE ・VisualStudio(MS) ・Netbeans(SunOracle) and more...
  48. 最近はXML以外に JSONも多く使われる
  49. JavaScript Object Notation
  50. It’s DEMO Time!!
  51. そろそろまとめますよ・・・
  52. 1) ゲームを作ると 仕事に広がりができる
  53. ランダム = てきとー ではない
  54. ランダム = あらゆる状況を 考慮する必要あり
  55. 2) Viewと リソースは分離する
  56. API REST and go on... Ajax CGI homepage
  57. Viewにとらわれない = いろいろ広がる Mashup
  58. 3) jQueryは便利
  59. 詳しくは別な機会に・・・ Σ(・ω・ノ)ノ
  60. 以上だけど 何か質問ある (´・ω・)?
  61. ありがとうございました (´・ω・)っ旦~
Advertisement