2012年11月30日金曜日

需要と供給の関係について

こんばんわ。

ドラクエで一日で10万G稼いだみけです。

稼ぎ方


僕が使った方法は転売です。

安くものを買って、高く売る。

その差額を利益とする方法ですね。


異変


さて、上記のことをやっていたら、

市場に異変が発生しました。

僕が転売していた商品の底値が上がったのです。

元々はこんな感じでした。

価格 個数
100 1
110 1
120 1
125 1
130 1
133 1
1100 10
1150 10
1200 10
1300 10



で、まあ、僕も商売ですから、

安いものしか買いません。

なので単価120G以下のものだけを買いました。

残ったのはこんな感じです。


価格 個数
125 1
130 1
133 1
1300 10


需要が高まれば価格が高くなる


と我々は教えられています。

でも、実際のところは

需要が高まれば、安いものが買われるから、

価格が高いものだけ残るといったところでしょう。


そして、今現在の市場相場を見て、

供給者は価格の設定を行います。

だから、上記の市場は次はこんなになるでしょう。


価格 個数
120 1
125 1
127 1
130 1
130 1
133 1
135 1
1250 10
1300 10
1350 10


以上、ドラクエを通して市場価格の形成のお勉強になりました。

2012年11月28日水曜日

Re:Re:GroovyのPowerAssertさんをいじめようとしてみた

引きこもりと冬眠とドラクエが大変ですね。

ミケです。

前段


おもしろいブログがあったので読みました。


さて、じゃあ僕もいじめてみようかなと思ったら、

いじめられました

Calendarの比較



Calendarを比較してみました。
まあ、結果は見え見えだと思いますが…

def old = Calendar.getInstance()
sleep(10000)
def now = Calendar.getInstance()
assert now == old
view raw old.groovy hosted with ❤ by GitHub


実行結果


まあ、失敗することはわかっているんですよ。

失敗した時の表示内容が気になります。







ジャン!

WARNING: Sanitizing stacktrace:
Assertion failed:
assert now == old
| | |
| | java.util.GregorianCalendar[time=1352351113445,
areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.
ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,
transitions=10,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,
ERA=1,YEAR=2012,MONTH=10,WEEK_OF_YEAR=45,WEEK_OF_MONTH=2,DAY_OF_MONTH=8,
DAY_OF_YEAR=313,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=2,
HOUR_OF_DAY=14,MINUTE=5,SECOND=13,MILLISECOND=445,ZONE_OFFSET=32400000,
DST_OFFSET=0]
| false
java.util.GregorianCalendar[time=1352351123445,areFieldsSet=true,
areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="
Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,transitions=10,
lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2012,
MONTH=10,WEEK_OF_YEAR=45,WEEK_OF_MONTH=2,DAY_OF_MONTH=8,DAY_OF_YEAR=313,
DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,
MINUTE=5,SECOND=23,MILLISECOND=445,ZONE_OFFSET=32400000,DST_OFFSET=0]
view raw old_console.txt hosted with ❤ by GitHub


酷い…(´・ω・`)


ぐぬぬ…


toStringをオーバーライドすれば読みやすくなるのでは?!と思って書いてみました。

def origin = GregorianCalendar.metaClass.getMetaMethod('toString', [] as Class[])
GregorianCalendar.metaClass.toString = {delegate.time.format('yyyy/MM/dd hh:mm:ss')}
def old = Calendar.getInstance()
sleep(10000)
def now = Calendar.getInstance()
assert now == old
view raw new.groovy hosted with ❤ by GitHub



結果…

WARNING: Sanitizing stacktrace:
Assertion failed:
assert ago == now
| | |
| | java.util.GregorianCalendar[time=1354093998633,
areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.
ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,
transitions=10,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,
ERA=1,YEAR=2012,MONTH=10,WEEK_OF_YEAR=48,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,
DAY_OF_YEAR=333,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=6,
HOUR_OF_DAY=18,MINUTE=13,SECOND=18,MILLISECOND=633,ZONE_OFFSET=32400000,
DST_OFFSET=0]
| false
java.util.GregorianCalendar[time=1354093997633,
areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.
ZoneInfo[id="Asia/Tokyo",offset=32400000,dstSavings=0,useDaylight=false,
transitions=10,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,
ERA=1,YEAR=2012,MONTH=10,WEEK_OF_YEAR=48,WEEK_OF_MONTH=5,DAY_OF_MONTH=28,
DAY_OF_YEAR=333,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=6,
HOUR_OF_DAY=18,MINUTE=13,SECOND=17,MILLISECOND=633,ZONE_OFFSET=32400000,
DST_OFFSET=0]
view raw new_console.txt hosted with ❤ by GitHub



ダメでした(´・ω・`)


誰か、求ム!