はてなキーワード: Time.とは
http://mudainodqnment.blog35.fc2.com/blog-entry-734.html
の1さんに痛く感動したので、ちょっとずつ英語に訳すことにした。
めんどくさいので訳すのは1さんだけ。
突っ込み等はお気軽に。
前 ttp://anond.hatelabo.jp/20090302234304
----
176 :以下、名無しにかわりましてVIPがお送りします[sage]:2009/02/18(水) 02:54:32.12 ID:olySmeY7O
判断おそ。外資の海外オフィスならオフィスごとパーツであたりまえ。
戦略たててるのは貴方のようなパーツではないのよ。だからクビになった
>>176
そうねー、そうだと思う。でもしょうがなかったかな
就職した当時は他にどこも行くとこ無くて、就職したらずっと忙しかったし
アソシエイトになった頃くらいから「ありゃ、やばいんじゃね?」って思ってたけど、 景気も給料も良かったから「ま、いっか」って思ってた
Yeah, I guess so. But I think there was nothing I can do.
When I got a job, there was no other choice. And I was been busy since I joined the company. When I became an associate, I've been thinking 'oops, that's not good'. but the economy and the salary was good. So I thought 'it's ok, though'.
What is my next job? I'm enjoying a little bit.
161 :以下、名無しにかわりましてVIPがお送りします[sage]: 2009/02/18(水) 02:24:57.11 ID:olySmeY7O
加えてインフレ時の行動の説明も、証券会社目線でしかない。単調すぎる
>>161
勉強不足で申し訳ない↓
I apologize I didn't study hard enough.
154 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/18(水) 02:18:07.31 ID:IkGPTGhh0
90年代に英国や欧州各国も結局同じ体系にせざるを得なくなったという…。
地に足ついてないし、信用ならねぇと思ってる。
>>154
そうだね。でも個人的には、欧州各行から流入した負の性質もあると思ってる。
You are right. But in my opinion, there are negative characteristics which are from europian banks. For example, universal banks:) or one stop:)
But this is going to be so detailed.
47 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:57:18.86 ID:5cDlWeJZO
いいじゃねぇか
>>47
彼はアル中で有名だったからなあ
財務省の友達は結構グチをこぼしていた
he was notorious for alcoholic.
A friend of Treasury complained about him.
49 :梅が枝餅 ◆CmkUk6.1BM []:2009/02/17(火) 23:01:53.44 ID:DrRvRxjv0
ここまでガチなら>>1はいい女認定
>>49
ニートでも自分を評価してくれる人はいるんだな。こんなに幸せなことは無い
There seems to be a person who value me even though I'm a neet. I can't be happier.
50 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:05:53.12 ID:6KkdBV6i0
>>1
資格はどんなんだ?
>>50
証券外務員1種と証券アナリストと米国公認会計士(uncertificate)
弁護士とか会計士持ってる人もいるが、少なめ。仕事が超出来る人は意外と資格持ってない。
I have securities broker representaive license first grade, securities analyst, certified public accountant(uncertificate).
some people has attorney or accountant license, but it's not much. Those who can do a excellent job don't have license unexpectedly.
52 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:13:26.74 ID:Wm1ZWPrp0
で、あなたは結局自己主張がしたい構ってちゃんなんですね。
いいんですよね?
>>52
それに加えて、仕事ばっかで友達とあんま遊んでなかったのでぼっち寂しがりやです。
大した中身も無いのにレスしてくれる人がいてとても嬉しい
Along with that, I feel lonely easily because I did nothing but a job and didn't hang around with friends so mcuh.
I'm so glad there are people who reply to the empty writings.
55 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 23:18:36.38 ID:Df8TgocCO
なんだこのエリート…?
>>55
なんかみんなにエリートと言われるが、日本だと本当のエリートは外資系証券には来てない気がする
Everybody say I'm elite. But I assume the real elites don't came to the foreign securities.
The industry works because in America, smart people are seeking money.
56 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:20:38.52 ID:Zzlsf+8S0
>>56
ま じ で ? しかし残念だ。高校生のときに言って欲しかったな。
Are you sure? but I'm sorry. I wish you said that when I was in a high school.
There are a lot in foreign companies. But be careful because some of them has mental problems.
57 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:22:40.59 ID:Xrex6pm10
>>1
まん毛濃い?
>>57
毛が薄い家系なんです
Thin hair is common in my family.
59 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:26:42.84 ID:FcXM7v370
何カップ?
>>59
おしゃれな下着が見つかるくらいのサイズ
一度「肩凝るわあ」って言ってみたい
it's a size which you can find fashionable underwear.
I wish I could say "I have a stiff neck" just one time.
62 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:29:12.23 ID:Z1HjrWc4O
>>1は良い女性。
わかるwww
いざという時に頼りになるのはこういう男性。
>>62
うおおお、嬉しいぜ!意外とみんな優しいな
でもおいらが本当に良い女かどうかは、人生をかけて証明していくことなんだぜ と気取ってみるテスト
Wow, I'm so happy! To my surprise, everyone is kind.
But, whether I'm a really good woman or not is what I have to prove until I die. I sound snobbish as a test.
63 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:30:48.87 ID:daLECn7w0
そこからさがせば?
>>63
転職はヘッドハンター経由だね。さっき早速電話かかってきた。軽く怖いw
一応まだ退職同意書にサインしてないから失職が完了してなくて、失業手当は申請できない
再就職先が決まったら速攻で退職して、手当めいっぱいもらえるように入社時期ずらすつもり
I'll change jobs through headhunter. I got a call a little while ago. I'm a little scared :)
My unemployment is not complete because I haven't signed the retirement letter. So I can't apply for the dole.
If I found a place of reemployment, I'll resign immediately and adjust the day I join the company to get the dole as much as I can.
http://mudainodqnment.blog35.fc2.com/blog-entry-734.html
の1さんに痛く感動したので、今日からちょっとずつ英訳することにした。
めんどいので訳すのは1さんの発言だけ。
----
【天国から】外資系企業に勤めてたけど今日クビになった【地獄へ】
1 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 21:54:58.27 ID:q0csBVmX0
これからどうすっぺ
What I'm going to do from now on?
Pがお送りします[]: 2009/02/17(火) 21:56:42.10 ID:hSi8C8C1O
知らない
>>2
叱咤激励ですね、分かります
I know you are encouraging me.
5 :以下、名無しにかわりましてVIPがお送りします[sage]:2009/02/17(火) 21:58:16.69 ID:g2vs+B3F0
上しっちゃうと下で働きづらいよねwwwwご愁傷さまですwwww
>>5
But if it's a normal company, I can leave the office before midnight. So I'm excited already.
Goodbye, a super black slave life.
7 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:13:12.36 ID:q0csBVmX0
こりゃこのままDAT落ちか
8 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:17:01.13 ID:xyfBFmXQ0
クビになった理由は何?
>>8
Thank you for the reply. I'm glad you care about me.
1.景気
1. the economy
2. fight against my boss for a job
3. I refused a sexual harassment from my other boss. And I got power halassment in revenge.
自分に正直にやった結果だから後悔はしていない。
I was honest to myself. So, I'm not regretting.
9 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:18:22.50 ID:PGalirxsO
>>1
はいはい、働いたことないニート乙
>>9
これからしばらく夢のニート生活だぜ
I'm living a neet life for a while which I was dreamed of.
10 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:19:35.39 ID:ehhTyz9h0
貯金はおいくらまんえん?
>>10
うまい棒をおなかいっぱい食べれるくらいはあるよっ
I can eat umai-bou as much as I want with my savings.
18 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:26:52.73 ID:ehhTyz9h0
じゃあいいじゃん
おれ2000円くらいだし
>>18
うまい棒200本買える。まだまだ死なない
I can buy 200 umai-bous. I don't die for some time.
12 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:23:44.98 ID:KiOrQ6vmO
自分で【】付けるのってどういう気分?
>>12
注目してもらいたいみじめな気分
I want attention and I feel misery.
13 :以下、名無しにかわりましてVIPがお送りします[sage]: 2009/02/17(火) 22:23:57.40 ID:mA5MWVa4P
女かよwwwwwwざまぁwwwwwwww
>>13
I guess the day I become a machine for producing a baby will be far away.
14 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:24:42.21 ID:HappM1obO
大丈夫だ
俺なんて大学全オチだ
>>14
mjsk 頑張ってね。
Are you serious? hang on.
University is a fun. So, you should never give up and study.
16 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:25:02.54 ID:oWiHeEoG0
>>16
証券会社です
It's broker-dealer.
17 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:25:12.81 ID:xyfBFmXQ0
せくはらって、女性?
>>17
そのもようです
looks like so.
19 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:27:02.60 ID:m8pazNsgO
がーくぅーれぇーきぃー
>>19
お利口ちゃんに囲まれた生活は息苦しかったぜ
I've had a hard time surrounded by smart people.
20 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:27:10.37 ID:/Mwh+N470
年収どのくらいだった?
>>20
2006年度は3000万くらい。2007年度は2500万くらい。2008年度はたぶん1200万くらい。
About 30 million yen in 2006, about 25 million yen in 2007, probably about 12 million yen in 2008.
肉食いてえ
23 :以下、名無しにかわりましてVIPがお送りします[sage]:2009/02/17(火) 22:28:47.33 ID:mA5MWVa4P
大学どこよ?気になる
>>23
都内の大学
It's a university in Tokyo.
24 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:29:30.96 ID:ehhTyz9h0
あっ!!!どんなセクハラか聞かなくちゃ
>>24
反応してくれて嬉しいが、大したこと無い話なんだぜ
I'm glad you responsed. But It's no big deal.
26 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:33:04.21 ID:ehhTyz9h0
ペット飼いませんか?
料理できますけど
>>26
当方家事が趣味につき、間に合っております。でも気持ちは嬉しい
「きみはペット」は割と好きでした
I like doing housework. So, it's ok. But I appreciate your feelings.
I liked "you are a pet'.
27 :以下、名無しにかわりましてVIPがお送りします[sage]: 2009/02/17(火) 22:35:04.47 ID:ishbEQDnO
人生詰みそうなのでスペインのサグラダファミリアに行こうと思ってる俺と結婚しませんか?
>>27
結婚は別として、サグラダファミリアは見に行きたい
Other than marriage, I want to go see Sagrada Familia.
世の中の男性は相手の年収を気にすると言うが、vipperは気にしないようだ。嬉しい。
あっ、クビになったからか
It is said that men care about the partner's salary. But it looks like vippers don't care. I'm happy. Oops, I get it. It's because I'm fired.
29 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:35:38.67 ID:HvwXBcqMO
これからどんな職種受けるの?
>>29
資生堂とかいいな。
商社か事業会社の経営企画部とか財務部かな。公務員もいいかも。
半年くらいニートやる覚悟でゆっくり考えます。とりあえず今週末から旅行に行く
It could be business planning department or financial department in trading company or operating company. Civil servant might be good.
I'm ready to be a neet for a half year. For now, I'm going on a trip next week.
みんなレスくれてありがとう・・・目にごみが。゜(ノД`)゜。
Thanks a lot everyone for replies... something in the eyes...
32 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:41:42.49 ID:vMtaTtuD0
まぁそこまで年収あっちゃぁ、普通の男性は近寄ることすら躊躇うだろうね
>>32
でもそれを言い訳にして仕事ばっかしてた気もするから自業自得だってことくらいは分かってるんだぜ
I felt sad whenever I go to a mixer with my friends of university.
But I feel I was working so hard using that as an excuse. So, I know I deserve it.
33 :以下、名無しにかわりましてVIPがお送りします[sage]: 2009/02/17(火) 22:41:49.90 ID:mA5MWVa4P
都内の大学ってどのレベルくらいだ?どれくらいのレベルなら有名な外資に行けるんだ?教えてくれ
>>33
おいらのいた職種だと、早慶なら可能性ある。ICUとか上智だとかなり厳しい。
In case of a job type which I was in, there is a possibility if it's Waseda or Keio university. if it's ICU or sophia university, it's so hard.
And foreign students, graduates of overseas university, foreign residential experience, connections, those matter a little.
34 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:42:11.32 ID:oWiHeEoG0
もうあんまりそういう時代じゃないよな
男だろうが女だろうが相手の年収は高いにこしたことはないし
だからけっk
>>34
>男だろうが女だろうが相手の年収は高いにこしたことはないし
そうだよな。普通はそう思う
でも本心では、失職したら一緒にラーメン屋の屋台でも引けばいいじゃないかって、言って欲しいんだぜ
I agree. Most of people think so.
But at heart, I want to be said "If I lose a job, we can pull a stall for noodle".
I'm used to living a poor life because my family is a farm family.
36 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:45:58.62 ID:iMNviUYMO
TVで証券マン解雇されて、高級マンションであと100年は生活余裕っていってた
>>1も余裕だろ
>>36
まあ家賃だけならあと20年くらいは暮らせるけど、まだ20代なんで色々経験したいよ。。。
一足先にニートに突入した元同僚見てると、精神的に結構つらそうだし
I have rent for about 20 years. but I'm still 20's so I want to experience a variety of things.
I saw my old colleague who became a neet before me. it looked hard mentally.
37 :以下、名無しにかわりましてVIPがお送りします[sage]: 2009/02/17(火) 22:46:02.65 ID:ishbEQDnO
>>37
もう経済力無いってばw
メル・ギブソンの「パッション」見てからエルサレムの協会行くといいよ
you better see 'Passion' of Mel Gibson, then you go to Jerusalem's Church
39 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:50:04.61 ID:6KkdBV6i0
損失補填でも何でもして売っていたあの頃
>>39
そっちの部門じゃなかった
でもま、外部の人からしたらどっちも一緒だよな
But I understand there is no difference from people outside.
http://anond.hatelabo.jp/20090121104002
(M)だれもが知る通り、我々は重大な危機にある。
(A)私たちが危機のさなかにあるということは、いまやよくわかっている。
(M)わが国は(イラクやアフガニスタンで)戦争状況にあり、敵は憎悪と暴力のネットワークを持っている。
(A)我が国は暴力と憎悪の大規模なネットワークに対する戦争状態にある。
(Y)我々の国家は、暴力と憎悪の広範なネットワークを相手に戦争を行っている。
(M)経済状況も悪く、その原因は一部の人々の貪欲(どんよく)さと無責任さにあるものの、我々は困難な選択を避け、次世代への準備にも失敗している。
(A)経済はひどく衰弱している。それは一部の者の強欲と無責任の結果だが、私たちが全体として、困難な選択を行って新しい時代に備えることができなかった結果でもある。
(Y)我々の経済は、ひどく弱体化している。一部の者の強欲と無責任の結果であるだけでなく、厳しい決断をすることなく、国家を新しい時代に適合させそこなった我々全員の失敗の結果である。
(M)健康保険制度もカネがかかりすぎ、多くの学校(制度)も失敗した。毎日のように、エネルギーの使い方が地球を危険に陥れている証拠も挙がっている。
(A)医療費は高すぎ、学校は、あまりに多くの人の期待を裏切っている。(石油などを大量消費する)私たちのエネルギーの使用方法が敵を強大にし地球を脅かしていることが、日に日に明らかになっている。
(Y)我々の健康保険制度は金がかかり過ぎる。荒廃している我々の学校はあまりにも多い。さらに、我々のエネルギーの消費のしかたが、我々の敵を強化し、我々の惑星を脅かしているという証拠が、日増しに増え続けている。
(M)全米で自信が失われ、アメリカの没落は必然で、次の世代は多くを望めない、という恐れがまん延している。
(A)測定はより困難だが同様に深刻なのは、米全土に広がる自信の喪失だ。それは、米国の衰退が不可避で、次の世代は目標を下げなければいけないという、つきまとう恐怖だ。
(Y)予測は困難だが、間違いなく深刻なのは、我々の国土に広がる自信の喪失や、米国の凋落(ちょうらく)は避けがたく、次の世代はうなだれて過ごさなければならないというぬぐいがたい恐怖だ。
(M)今日、私は我々が直面している試練は現実のものだ、と言いたい。
(A)これらの難問は現実のものだ。
(Y)今日、私はあなた方に告げる。我々が直面している試練は本物だ。
(M)試練は数多く、そして深刻なものだ。
(A)深刻で数も多い。
(Y)試練は深刻で数多い。
(M)短期間では解決できない。
(A)短期間で簡単には対処できない。
(Y)試練は容易に、または、短い時間で対処できるものではない。
(M)だが知るべきなのはアメリカはいつか克服するということだ。
(A)しかし、アメリカよ、それは解決できる。
(Y)しかし、米国よ、わかってほしい。これらの試練は対処されるだろう。
(M)この日に我々が集ったのは、恐れではなく、希望を選んだためで、争いの代わりに団結を選んだからだ。
(A)今日、私たちは恐怖より希望を、対立と不和より目的を共有することを選び、ここに集まった。
(Y)この日、我々は、恐怖ではなく希望を、紛争と不一致ではなく目標の共有を選んだため、ここに集った。
(M)この日、我々は実行されない約束やささいな不満を終わらせ、これまで使い果たされ、そして政治を長いこと混乱させてきた独断などをやめる。それを宣言するためにやって来た。
(A)今日、私たちは、長らく我が国の政治の首を絞めてきた、狭量な不満や口約束、非難や古びた教義を終わらせると宣言する。
(Y)この日、我々は、我々の政治をあまりにも長い間阻害してきた、ささいな不満や偽りの約束、非難や言い古された定説を終わらせることを宣言する。
Fliegelっすね。
おまけ、 Win32系でシステムタイム(UTCDateをフリーゲルの公式を使って修正ユリウス日に変えるコード)
SYSTEMTIME utcTime; GetSystemTime(&utcTime); unsigned int utcDate; //using fomula of Fliegel if(utcTime.wMonth<= 2){ utcTime.wMonth+= 12; utcTime.wYear--; } utcDate = ((int)(365.25*utcTime.wYear)) + (utcTime.wYear/400) - (utcTime.wYear/100) + ((int)(30.59*(utcTime.wMonth-2))) + utcTime.wDay -678912; return utcDate;
いまからデバッグ。
&が化けてるな・・・orz
//Julian Day
//utcDate = ((int)(365.25*utcTime.wYear)) + (utcTime.wYear/400) - (utcTime.wYear/100) + ((int)(30.59*(utcTime.wMonth-2))) + utcTime.wDay -678912;
//MJD
//utcDate = ((int)(365.25*utcTime.wYear)) + ((int)(30.59*(utcTime.wMonth-2))) + utcTime.wDay -678914 ;
//UTC Date
utcDate = ((int)(365.25*utcTime.wYear)) + ((int)(30.59*(utcTime.wMonth-2))) + utcTime.wDay -678914 - 40600;
デバッグおわた。
上からユリウス日 修正ユリウス日 UTC時刻の日付部分の変換。
お好きな物をお使い下さい。ってだれもつかわねーよ。
http://it.nikkei.co.jp/digital/news/index.aspx?n=MMITew000018072008
個人的な推測だが、スクウェア・エニックスが最終的に決断したのは、コナミが6月に全世界同時発売したPS3独占タイトル「メタルギアソリッド4(MGS4)」の販売状況を見てからではないかと思われる。MGS4の開発コストは70億円とも噂されており、FF13に近い巨大プロジェクトである。70億円の元ネタってこれだろ?
I heard MGS4 costs 70 million. Which actually sounds ludicrous to me, but in a way it doesn’t if you factor int he MGS4 and MGS online...and the tons of cinematics and long development time...it could get up to that.これを発言したCory Barlog氏ってのは、ゲーム「ゴッドオブウォー」シリーズのディレクターやってる人で、メタルギアシリーズどころかコナミと関係ない人だろう。同じゲーム業界の人とはいえ、この「噂」を根拠に「それでもワールドワイドでの販売本数としては、開発費を考えれば必ずしも多くはない。」と推測を立てるのはちょっと杜撰じゃないか。あと、
しかし、DVD2枚組みにするなど、方法は考えられる。MGS4がBDの容量(約50GB)ギリギリまで使い切っているというのは、小島秀夫が各種媒体で明言しているんだから「2枚組にするなど」という喩えも無茶がありすぎる。単純計算でも6枚は必要なはずだろうに。
同社は9月に「インフィニットアンディスカバリー」(Xbox360)、年末に「ラストレムラント」(PS3、Xbox360)、来年春に「スターオーシャン4」(PS3、Xbox360)と新しいブランドを投入するが、上位に食い込めるかどうかはわからない。市場の好みが変わってきているからだ。この点については同感。ただ、スクエニやバンナムが「虎の子」の自社ブランドRPGを「まずはXbox360で」とする体制が、北米市場への参入を意識したものかどうかはちょっと疑わしいと個人的に感じている。
http://anond.hatelabo.jp/20070711013155 こちらの宿題を作ってみました。
http://anond.hatelabo.jp/20070711080519 で参加を宣言した者です。
#include "stdafx.h" #include <time.h> #include <conio.h> #include <list> using namespace std; enum MMError { MME_None = 0, MME_SizeError, MME_MemoryAllocError, MME_NotInitialized, }; enum MMKind { MMK_None = 0, MMK_Space, // 通路 MMK_Filled, // 埋まってるところ。掘れる。 MMK_Wall, // 壁。掘れないところ。 }; // // 迷路実体管理用クラス定義 // class CMazeMatrix { public: CMazeMatrix(); virtual ~CMazeMatrix(); public: virtual bool Initialize(int nXSize, int nYSize); // 初期化すると同時に、外壁まで作ってしまう。 virtual MMKind GetAt(int nXPos, int nYPos); virtual bool SetAt(int nXPos, int nYPos, MMKind kind); MMError GetLastError() {return m_lastError;} protected: inline int calcIndex(int nXPos, int nYPos) {return nYPos * m_nXSize + nXPos;} bool finalize(); protected: MMKind *m_pMaze; int m_nXSize; int m_nYSize; MMError m_lastError; }; // // 実体管理用クラス実体 // CMazeMatrix::CMazeMatrix() { m_pMaze = NULL; m_nXSize = 0; m_nYSize = 0; m_lastError = MME_None; } CMazeMatrix::~CMazeMatrix() { finalize(); } bool CMazeMatrix::Initialize(int nXSize, int nYSize) { finalize(); int nSize = nXSize * nYSize; if ((__int64)nSize != (__int64)nXSize * (__int64)nYSize) { m_lastError = MME_SizeError; return false; } m_pMaze = new MMKind[nSize]; if (m_pMaze == NULL) { m_lastError = MME_MemoryAllocError; return false; } m_nXSize = nXSize; m_nYSize = nYSize; int nCnt; for (nCnt = 0; nCnt < nSize; nCnt++) m_pMaze[nCnt] = MMK_Filled; for (nCnt = 0; nCnt < m_nXSize; nCnt++) { m_pMaze[calcIndex(nCnt, 0)] = MMK_Wall; m_pMaze[calcIndex(nCnt, m_nYSize - 1)] = MMK_Wall; } for (nCnt = 0; nCnt < m_nYSize; nCnt++) { m_pMaze[calcIndex(0, nCnt)] = MMK_Wall; m_pMaze[calcIndex(m_nXSize - 1, nCnt)] = MMK_Wall; } return true; } MMKind CMazeMatrix::GetAt(int nXPos, int nYPos) { #ifdef _DEBUG if (nXPos < 0 || nXPos >= m_nXSize || nYPos < 0 || nYPos >= m_nYSize) { m_lastError = MME_SizeError; return MMK_None; } #endif return m_pMaze[calcIndex(nXPos, nYPos)]; } bool CMazeMatrix::SetAt(int nXPos, int nYPos, MMKind kind) { #ifdef _DEBUG if (nXPos < 0 || nXPos >= m_nXSize || nYPos < 0 || nYPos >= m_nYSize) { m_lastError = MME_SizeError; return false; } #endif m_pMaze[calcIndex(nXPos, nYPos)] = kind; return true; } bool CMazeMatrix::finalize() { if (m_pMaze != NULL) { delete [] m_pMaze; m_pMaze = NULL; } return true; } // // 迷路作成用クラス定義 // class CMazeMaker { public: CMazeMaker(); virtual ~CMazeMaker(); public: bool Initialize(int nXSize, int nYSize); // 力業。ループで回す。メモリは食わない。 // 美しくない。 bool Generate1(); // 掘った箇所をスタックに積んで、掘れなくなったらスタックを戻す。 // 綺麗だけれど、迷路のサイズを増やすとスタックオーバーフローが起こる。 bool Generate2(); // Generate2をlistに置き換えたもの。 // stdを使ってしまったのが心残り。 bool Generate3(); MMError GetLastError() {return m_lastError;} protected: bool finalize(); bool checkPos(int nXPos, int nYPos, int nXAdd, int nYAdd); int process(int nXPos, int nYPos); void dig(int nXPos, int nYPos); bool makeStartGoal(); virtual CMazeMatrix* matrixAllocate(); protected: int m_nXSize; int m_nYSize; CMazeMatrix *m_pMatrix; MMError m_lastError; }; CMazeMaker::CMazeMaker() { m_nXSize = 0; m_nYSize = 0; m_pMatrix = NULL; m_lastError = MME_None; } CMazeMaker::~CMazeMaker() { finalize(); } bool CMazeMaker::Initialize(int nXSize, int nYSize) { finalize(); m_pMatrix = matrixAllocate(); if (m_pMatrix == NULL) { m_lastError = MME_MemoryAllocError; return false; } if (m_pMatrix->Initialize(nXSize, nYSize) == false) { m_lastError = m_pMatrix->GetLastError(); return false; } m_nXSize = nXSize; m_nYSize = nYSize; return true; } CMazeMatrix* CMazeMaker::matrixAllocate() { return new CMazeMatrix; } bool CMazeMaker::finalize() { if (m_pMatrix != NULL) { delete m_pMatrix; m_pMatrix = NULL; } return true; } // スタート位置と、ゴールの位置を作成。外壁部分に穴を開ける。 // 今回のアルゴリズムでは、外壁のすぐ内側が通路になっていないことがあるので // その場合には箇所を移動させる。 // どこをとっても通路が見あたらない場合には、エラーとする。 // (乱数の発生具合がとても意地悪な場合を考えると、可能性は少なくとも0ではない。) // bool CMazeMaker::makeStartGoal() { // スタート地点を左の壁の上の方に int nCnt = 0; for (nCnt = 1; nCnt < m_nYSize - 1; nCnt++) { if (m_pMatrix->GetAt(1, nCnt) == MMK_Space) { m_pMatrix->SetAt(0, nCnt, MMK_Space); break; } } if (nCnt == m_nXSize - 1) { return false; } // ゴール地点を右の壁の下の方に for (nCnt = m_nYSize; nCnt > 0; nCnt--) { if (m_pMatrix->GetAt(m_nXSize - 2, nCnt) == MMK_Space) { m_pMatrix->SetAt(m_nXSize - 1, nCnt, MMK_Space); break; } } if (nCnt == 0) { return false; } return true; } // 現在位置nXPos, nYPosからみて、nXAdd、nYAddを足した位置に移動できるかをチェック // 移動先が埋まっている状態で、さらに三方が通路以外に覆われているなら、OKとする bool CMazeMaker::checkPos(int nXPos, int nYPos, int nXAdd, int nYAdd) { if (m_pMatrix->GetAt(nXPos + nXAdd, nYPos + nYAdd) != MMK_Filled) return false; if (nXAdd == 0) { if (m_pMatrix->GetAt(nXPos - 1, nYPos + nYAdd * 2) != MMK_Space && m_pMatrix->GetAt(nXPos , nYPos + nYAdd * 2) != MMK_Space && m_pMatrix->GetAt(nXPos + 1, nYPos + nYAdd * 2) != MMK_Space && m_pMatrix->GetAt(nXPos - 1, nYPos + nYAdd ) != MMK_Space && m_pMatrix->GetAt(nXPos + 1, nYPos + nYAdd ) != MMK_Space) { return true; } } else { if (m_pMatrix->GetAt(nXPos + nXAdd * 2, nYPos - 1) != MMK_Space && m_pMatrix->GetAt(nXPos + nXAdd * 2, nYPos ) != MMK_Space && m_pMatrix->GetAt(nXPos + nXAdd * 2, nYPos + 1) != MMK_Space && m_pMatrix->GetAt(nXPos + nXAdd , nYPos - 1) != MMK_Space && m_pMatrix->GetAt(nXPos + nXAdd , nYPos + 1) != MMK_Space) { return true; } } return false; } static const int moveInfo[4][2] = { {-1, 0}, {0, -1}, {1, 0}, {0, 1}, }; int CMazeMaker::process(int nXPos, int nYPos) { int digCount=0; int aryMove[4] = {0}; if (m_pMatrix->GetAt(nXPos, nYPos) != MMK_Space) { return 0; } while (1) { int nMoveCount = 0; for (int nCnt = 0; nCnt < 4; nCnt++) { if (checkPos(nXPos, nYPos, moveInfo[nCnt][0], moveInfo[nCnt][1]) == true) { aryMove[nMoveCount] = nCnt; nMoveCount++; } } if (nMoveCount == 0) { break; } int nMove = ((rand() >> 1) % nMoveCount); nXPos = nXPos + moveInfo[aryMove[nMove]][0]; nYPos = nYPos + moveInfo[aryMove[nMove]][1]; m_pMatrix->SetAt(nXPos, nYPos, MMK_Space); digCount++; } return digCount; } bool CMazeMaker::Generate1() { // 開始点は1, 1から。(ループの先頭 m_pMatrix->SetAt(1, 1, MMK_Space); ::srand((unsigned int)time(NULL)); int nXCnt; int nYCnt; for (nXCnt = 1; nXCnt < m_nXSize - 1; nXCnt++) { for (nYCnt = 1; nYCnt < m_nYSize - 1; nYCnt++) { while (process(nXCnt, nYCnt) != 0) {} } } return makeStartGoal(); } void CMazeMaker::dig(int nXPos, int nYPos) { m_pMatrix->SetAt(nXPos, nYPos, MMK_Space); int aryMove[4] = {0}; while (1) { int nMoveCount = 0; for (int nCnt = 0; nCnt < 4; nCnt++) { if (checkPos(nXPos, nYPos, moveInfo[nCnt][0], moveInfo[nCnt][1]) == true) { aryMove[nMoveCount] = nCnt; nMoveCount++; } } if (nMoveCount == 0) { break; } int nMove = ((rand() >> 1) % nMoveCount); dig(nXPos + moveInfo[aryMove[nMove]][0], nYPos + moveInfo[aryMove[nMove]][1]); } } bool CMazeMaker::Generate2() { ::srand((unsigned int)time(NULL)); int nXStart = ((rand() >> 1) % (m_nXSize - 2)) + 1; int nYStart = ((rand() >> 1) % (m_nYSize - 2)) + 1; dig(nXStart, nYStart); return makeStartGoal(); } struct PosInfo { int xPos; int yPos; }; bool CMazeMaker::Generate3() { ::srand((unsigned int)time(NULL)); int nXStart = ((rand() >> 1) % (m_nXSize - 2)) + 1; int nYStart = ((rand() >> 1) % (m_nYSize - 2)) + 1; m_pMatrix->SetAt(nXStart, nYStart, MMK_Space); list<PosInfo> posList; PosInfo info = {nXStart, nYStart}; posList.push_back(info); while (posList.size() != 0) { int nXPos = (posList.rbegin())->xPos; int nYPos = (posList.rbegin())->yPos; int aryMove[4] = {0}; int nMoveCount = 0; for (int nCnt = 0; nCnt < 4; nCnt++) { if (checkPos(nXPos, nYPos, moveInfo[nCnt][0], moveInfo[nCnt][1]) == true) { aryMove[nMoveCount] = nCnt; nMoveCount++; } } if (nMoveCount == 0) { posList.pop_back(); continue; } int nMove = ((rand() >> 1) % nMoveCount); info.xPos = nXPos + moveInfo[aryMove[nMove]][0]; info.yPos = nYPos + moveInfo[aryMove[nMove]][1]; m_pMatrix->SetAt(info.xPos, info.yPos, MMK_Space); posList.push_back(info); } return makeStartGoal(); } // // コンソール出力用 class CMazeMakerConsole : public CMazeMaker { public: CMazeMakerConsole(){}; virtual ~CMazeMakerConsole(){}; public: void Output(); }; void CMazeMakerConsole::Output() { for (int nYCnt = 0; nYCnt < m_nYSize; nYCnt++) { for (int nXCnt = 0; nXCnt < m_nXSize; nXCnt++) { if (m_pMatrix->GetAt(nXCnt, nYCnt) == MMK_Space) { printf("."); } else { printf("#"); } } puts(""); } _getch(); } // // int _tmain(int argc, _TCHAR* argv[]) { CMazeMakerConsole maker; do { if (false == maker.Initialize(75, 50)) { puts("Initialize Error"); return 0; } } while (false == maker.Generate3()); //失敗するのは、スタート、ゴールが作れなかった場合。偶然そういうことになることもあるので、そうなったら作り直す。 maker.Output(); return 0; }
最初に昔の記憶を頼りにCMazeMaker::Generate1()を作ったけれど、美しくなかったのでGenerate2()を作成。迷路のサイズを増やすとスタックオーバーフローになるので、Generate3()を作成。一応、満足。
########################################################################### .....##...#.#.##.....##......#....#...#.#.#.........#.##.........##.#.....# #.#.##..#.#......###..###.##.#.##.#.###...#.#####.#....##.######....##.##.# #.#..##.#.#.##.###.##.....##...#....#...#.....##..#.##.#..##...####..#..#.# #.##..###.#..#..##..###.#..###.#.####.###.#####..####..#.##..#....##.##.#.# #..##.....##.##..##...#.##..#######...#.#.#...#.##....##.#..###.#..#.##.### #.####.#####.###.###.##..####.......###.###.#.###..##.#..#.##...##.#..#...# #....###......#..#.#....##....########..##..#..#..#####.######.##..##.##.## #.##..##.######.##...####..#####....#..##..###.#.##.##..#......#..###..#..# #..##.#...##....#..#.#..#.##.#...#.##.##..##.....#.....####.####.##.##.##.# ##..#...#..#.#######...##....#.#####..#..#########.##.##.#..##...##..#....# ###.########.##...##########.#...##..##.##.##...####..#....##..###..#####.# #.#..##...##..#.#.....##.....##.##..##..#...###.#.#..###.####.##...##.....# #.##.#..#..##.#.#####.#..#####..#..##..##.#.....#...##.#.#....####.#..##### #..#.#.###.#..#.....#...##.....##.##..##..##.##.#.###....####.#.#..#.###..# #.##.#.##....######.########.###..#..###.##..#....#.##.#...#..#...##...##.# #..#.#..###.##.#....#..#.....##..###..#...#.#######....#.#.#.##.#.####.##.# ##.#.##.##...#.#.#####...#####..##.##.##.##......#####.###.#.#..#..#.#..#.# ##....#..###...#....#..#.....#.##...#.#...#.#.##.....#..##.#...###...##...# #..#####...########.####.##.##....#...#######..#####.####..#####.########.# #.##.#.###..#.....#....###...###########...###..##...#....##.........##...# #..#....###...#.#.####..#..#.....#.#.....#..#..##..###.#.##..#######.#..### ##.####...#######...###.##.#.###.#...######.####..##...#.#..##...#...#.##.# #....####...#...###...#..#.#..####.#....#.....#..##..#.###.##..#.#.###.#..# ####...#..#.#.#..####.##.####......####.#####.##..#.##...#..####.#.#...#.## ##.###.#.##.#.##.#.#...#....##.######.#.##..#.###.######.##...#..#...###..# #..##..#.####.##.#...#.####..#........#..##....##...##....###...######...## #.##..##..##..#..##.####..##.#.######.##..####..#.#..##.###.#.#..#.##..#..# #.##.####.#..##.##..##...###.###...#...##.##.##.####.#..#...####.#..#.###.# #.#...#...#.###..##..#.#...#..#..#...#..#..#.##..##..#.##.#..##..##.#...### #...#...#.#...##..##...#.####.####.#######.#..##.#..##..#.##..##..#...#...# #.###########.###..#####....#...##.#..#....##..#...####.#..##..##.#######.# #....#....##..#.##....###.#####..#...##.######.#####.##.##.###....#.....#.# ###.##.#.##..##..####..#..#...##.###.##......#...##.....##..########.##.#.# #.#.#..#..#.####.#..##...##.#.#..#....######.#.#....#.#..##.#...##...#....# #...#.###...#......####.##..#...###.###...##.#.######.#.##..#.#..##.####.## #.#.#.#.#####.###.##....#..######.#.##..#..#.#..#.....#..##...##.#...#....# #.###.#...##...#..#..####.##.#.##.#.#..##.##.##.#.###.##..######.#.#.####.# #..##.#.#..#.#.####.###.#..#......#...#####..#..#...####.##..#.#.###.##...# ##..#...##.#.#.#........##.#.#.#.####..#....#######..##...##...#..#...###.# ###.######.#.#...####.#..#.#.###.#..##.#.####....###..###..##.###.###...#.# #...#...#..#####...##.####.#..#....##..#..#...##...##...##......#..####.#.# #.###.#...##...#####..##...##.#.##.#..###.#.######..##.###########.#....#.# #..#..##.##..#.#...#.##..######..###.##.#....###.##.##...#.......#.#.#.#### #.##.###..#.##...#.###..##....##........#.##..#...#..#.#.#.###.#.#.###....# #..#...##.#..#####..##.####.#.##.############...#.##.#.#.#...#.###..##.##.# ##.###..###.##...##.#..#....#..###....##....#######..#.###.###...##..###..# #...###..#...##.###.#.##.#####...#.##.#..##.#...#...##..#...###.####.#...## #.#...##...#......#......#.....#...#....##....#...#..##...#...#........#... ###########################################################################
ちなみに http://anond.hatelabo.jp/20070711194709 これを聞いたのは自分。
かなりたくさん書けることがわかりました。
たまにはこうして肩を並べて飲んで ほんの少しだけ立ち止まってみたいよ 純情を絵に描いた様なさんざんむなしい夜も 笑って話せる今夜はいいね...
温泉でも行こうなんて いつも話してる 落ち着いたら仲間で行こうなんて でも 全然 暇にならずに時代が追いかけてくる 走ることから逃げたくなってる
優しさに触れることより ふりまくことで ずっと ずっと 今までやってきた それでも損したなんて思ってないから今夜も何とか自分で自分を守れ
自分で動き出さなきゃ何も起こらない夜に何かを叫んで自分を壊せ!
流れる景色を必ず毎晩みている 家うちに帰ったらひたすら眠るだけだから ほんのひとときでも自分がどれだけやったか 窓に映ってる素顔を誉めろ