http://anond.hatelabo.jp/20070711170819
わかるよーそれー。
メールのみならず作業いちゃいちゃもしちゃうよ。
でも、上手に口説けてしまって大変好かれてしまったらどうしよー、
とか考えちゃう。
いや、というか、どうも最近大変好かれてしまっている気がする。
どうしよー。
大好きだけど振られちゃったあの子とうまくいけばいいのに!
http://anond.hatelabo.jp/20070711013155
人待ちの間暇だったから作ってみたよー。
さっくり作ったから無駄が多い気がするけど、とりあえず動いた。
全体が埋まったかどうかの判定をしないでひたすらまわしまくってるし、なんか綺麗な形じゃないけど、とりあえず投稿しちゃうよ!
これ綺麗な形にするの結構難しいんじゃないかな。面白いね。
class Maze class Box WALL = 0 LOAD = 1 def initialize(state = LOAD) @state = state end def is_wall? return true if @state == WALL false end def is_load? return true if @state == LOAD false end def set_wall @state = WALL end def set_load @state = LOAD end end TOP = 10 RIGHT = 11 BOTTOM = 12 LEFT = 13 def initialize(height = 100, width = 60) @height = height @width = width @data = Array.new self.fillbox @counter = 1000 @root = Array.new end def choose_random return rand(@width-3)+1, rand(@height-3)+1 end def choose_direct t = rand(4)+10 return t end def move(x, y, t) new_x = x new_y = y case t when TOP new_y -= 1 when RIGHT new_x += 1 when BOTTOM new_y += 1 when LEFT new_x -= 1 end return new_x, new_y end def make_load?(x, y) return false if x < 0 or y < 0 or x > @width-1 or y > @height-1 return false if @data[x][y].is_load? true end def dead_end?(x, y, t) case t when TOP if make_load?(x-1, y) and \ make_load?(x-1, y-1) and\ make_load?(x, y-1) and\ make_load?(x+1, y-1) and\ make_load?(x+1, y) then return false end when RIGHT if make_load?(x, y-1) and \ make_load?(x+1, y-1) and\ make_load?(x+1, y) and\ make_load?(x+1, y+1) and\ make_load?(x, y+1) then return false end when BOTTOM if make_load?(x-1, y) and \ make_load?(x-1, y+1) and\ make_load?(x, y+1) and\ make_load?(x+1, y+1) and\ make_load?(x+1, y) then return false end when LEFT if make_load?(x, y+1) and \ make_load?(x-1, y+1) and\ make_load?(x-1, y) and\ make_load?(x-1, y-1) and\ make_load?(x, y-1) then return false end end true end def check_all?(stack) for i in TOP..LEFT do return false if !stack.include?(i) end true end def extend(x, y) @data[x][y].set_load check_stack = Array.new loop do t = choose_direct check_stack << t new_x, new_y = move(x, y, t) if enable_new_point?(new_x, new_y) if !dead_end?(new_x, new_y, t) then @root << ["ex", new_x, new_y, t] extend(new_x, new_y) break end end break if check_all?(check_stack) end end def enable_new_point?(x, y) return false if x<=0 or y <= 0 or x > @width-1 or y > @height-1 return false if @data[x][y].is_load? true end def _make x = y = 0 loop do x, y = choose_random break if @data[x][y].is_load? end @root << [x,y] extend(x, y) end def make_goal x = @width - 2 y = @height - 1 for i in 1..@width-3 if @data[x-i][y-1].is_load? then @data[x-i][y].set_load break end end end def make_start for i in 1..@width-3 if @data[i][1].is_load? then @data[i][0].set_load break end end end def make self.fill_all x, y = choose_random @root << [x,y] @data[x][y].set_load extend(x,y) while(!is_fill?) do _make end make_goal make_start self end def is_fill? @counter -= 1 return true if @counter < 0 false end def fillbox for i in 0...@width do @data[i] = Array.new for j in 0...@height do @data[i][j] = Box.new end end end def fill_all for i in 0...@width do for j in 0...@height do @data[i][j].set_wall end end end def output for i in 0...@height do for j in 0...@width do if @data[j][i].is_wall? then print "#" else print " " end end print "\n" end end end Maze.new(30, 30).make.output ## output # ############################ # ## # # ## # # ## ## ## ## # ## ### # ### # ### # # #### ### # # # ## ## ## ### # # # ## ### # # # # #### ## # ### ## ## ## ## ### # ## # # # ### # # #### # ## ## ## # ## # #### # # ### # # # ### # #### # ## # # ## ## ## # # ### ###### ###### ### ####### ### # # ## ### # # # ## # # # ####### # # # # ### ### # # # # ## ## # ## # # ### # ######## ######## # # # ## ## # # ### # ### ## ## ## ## ##### # # ## # # # ### # # # ######## # ##### ## # # ## # ## # # ##### # # # ####### # ## # ## # ## ## # ## ### ### ## ####### # # ## ## ## ## ### ## # # #### ### # # ## # ## # # # ## ## # # ### ###### ## # # # # # # ## # ### # ## ## # # # # # ## ## # # ## ## # # ## # ## # ########################### ##
2007-07-11 v1.2 Release version
2007-05-30 v1.1 Added fold stars feature
2007-03-29 v1.0 Changed screens using Ten.SubWindow, you can d&d!
2007-03-28 v0.9 Changed Hatena.* classes to Ten v0.05.
2007-03-25 v0.8 Fixed Safari popup problem
2007-03-22 v0.7 Added active state to comment buttons
2007-03-21 v0.6 Added Comment function
2007-03-05 v0.5 Changed uri to Ridge-based paths.
2007-01-24 v0.4 Added Hatena.Diary.Entry class,
Changed Hatena.Star.Entry methods using class method
Added author parameters.
2007-01-23 v0.3 Added Hatena.Star.User class, added Hatena.js, Hatena.Star.js compatibility
2007-01-06 v0.2 Changed name spaces. Using Hatena.*, Hatena.Star.*
2007-01-05 v0.1 Initial version
4月前に大体出来てたって事かな
http://anond.hatelabo.jp/20070711081109
という事は「ポリシーのあるプログラム」を書くためには、ある程度の技術力が必要という事でしょうか。
それは「プログラミング作法」などの本を読んだりして身に着けるべき事なのでしょう(と考えています)。
ひょっとしてそれがまず通るべき道なのでしょうか?
私が「ポリシーがない」と言われてしまったのは、そこのレベルまで達していなかった恐れがあるなぁ…
サンプルを元になんとなく指示された事を実装して、
リーダーに「ここは何でこの処理をしているの?」って言われて答えられなかったんですよね。。
結果、納期にも間に合わず期待に沿えない働きしかできず、なんだか仕事してても楽しくない…
すいません、愚痴ってしまいました。
匿名ダイアリーがワンパークの手を離れていい加減なjkondoの手にうつるってこと?
ワンパークもいい加減だったけど、jkondoは速攻でサービス消しそうで怖いお!
つーか、ワンパークははてなワールド作ってるのね。ワンワンワールドやら、グリースモンキーの拡張やらはてなSNSの延長みたいなものかな?それらをリアリークールに統合したものだったらかっちょいいけど。はてなを超えて、はてな外のユーザ(特にかわいいもの大好きのアメリカのお嬢様たち)が積極的に使っていきたくなるサービスだったらいいね。
ということを妻に言ったら、「私たちの払うお金は
両親が受け取るんだから、払わないと」と返された。
あと、じーちゃんとばーちゃんも人質になってたんだった。
せめて親と祖父母が生きてる間は年金制度を崩壊させるわけにはいかん。
くそっ!
http://anond.hatelabo.jp/20070711173858
http://anond.hatelabo.jp/20070711194218
この二人が出会えばいいんじゃね?
ただし異性なら。
どなたかご存じの増田さん、教えてください。
いやなに、ちょっと
http://anond.hatelabo.jp/20070711013155
を作ってたら、行数が多くなってしまったもので。
とりあえず、外食はしない方が良いかと。
日本語すらろくにサポートしていない増田くんには中国語はむりっぽだな。
これくらいの中国語なら俺にも読める!
おれすごい!
嘿嘿嘿。へへへ。
メイウエンティ!
いやぁ、恥ずかしい…。修正しました。