Hatena::ブログ(Diary)

yoshiomsの日記 このページをアンテナに追加 RSSフィード

2011-12-21

VBで型を省略したときの振る舞い

Visual Basic Advent Calendar 2011 : ATND

.NET Framework 3.5から暗黙の型定義ができるようになりました。

って、VBは昔から出来ていたんですけどね。

そこで、C#にあわせて仕様が変更になりました。

以下のコードをご覧下さい。

module a

public sub main

dim a = 10

dim b

b = 10

b = "abc"

console.writeline(b)

a="abc"

console.writeline(a) ' ハンドルされていない例外: System.InvalidCastException: String "abc" から型 'Integer' への変換は無効です。

end sub

end module

aは変数宣言時に初期化しているため、暗黙的にInteger型で定義されます。

一方bは、初期化していないため、Object型として定義されます。

そのため、文字列"abc"を代入しようとすると、bのほうはすんなり入りますが、aの方はExceptionが発生してしまいます。

これまで、暗黙の型変換に頼ってルーズな書き方をしていた場合には、注意が必要になります。

2011-12-18

Kinect: ディズニーランド・アドベンチャーズ

Kinect: ディズニーランド・アドベンチャーズ - Xbox.com

事前に知っていた情報は、Kinectディズニーランドが体験できるらしいということだけ。実際にどんなゲームかは全然知りませんでした。ディズニーランドのアトラクションに乗れるの?それっておもしろいの?子供向けじゃないの?といろんな疑問を抱きながらプレイを始めました。

結論としては、大人も楽しめる、子供向けゲームという感じでした。

まず、ディズニーランドの入り口から始まります。男の子か女の子か、顔や服などを選んでディズニーランドの中に。中には、ディズニーキャラクターが待っていて、タスクと言われる簡単な課題をこなすことから始まります。タスクに従ってディズニーランドの中を歩き回ることもできますし、アトラクションに乗ることもできます。なんと待ち時間がほぼなし!!

アトラクションは、ランドのものを再現したというよりも、原作にアトラクションの要素を加えたという感じ。プーさんと一緒に風船で飛びながらハチミツを集めたり、スプラッシュマウンテンウサギと一緒に逃げたりと、原作の世界に入り込んだ感じです。ゲームは子供向けではなく、意外と難しいのですが、何回ぶつかっちゃダメとか、何秒以内にクリアしないといけないとか、そんな難しい条件はなく、時間をかければクリアできるものが多いです。ゲームが得意な人は、どんどんクリアしていけばいいし、小さい子供やゲームが苦手な人は、時間をかけてクリアすればいいという感じで、非常にいいバランスでできています。

プレイした結果ですが、子供っぽすぎることはなく、大人でもディズニーの世界に入り込めます。ゲームも多彩で飽きさせることなく、長時間プレイできます。

お子様がいる家庭、ディズニーファンの方に強くお薦めできる作品でした。

Microsoft MVP 向け “ディズニーランド・アドベンチャーズ” レビュー キャンペーンに参加し、本ソフトのレビューを行っています

2011-12-14

簡単にVBコードを確認するには

Visual Basic Advent Calendar 2011 : ATNDに参加します。

VBで開発しているとき、フォーマットの確認など、ちょっとした動作を確認したいのに、わざわざVisual Studioを起動して確認するのは面倒ですよね。

そんなときには、コマンドラインで簡単にコンパイル&実行してみませんか?

コンソールアプリコンパイルはこんな感じでできます。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc a.vb

.NET Frameworkディレクトリにパスさえとうしちゃえば、こんなに簡単に書くことができます。

vbc a.vb

さて、肝心のVBのコードですが、最低限必要なのはこのぐらいです。

Module a

Sub Main()

Console.WriteLine("Hello")

End Sub

End Module

慣れるとなにもなしでも書けるんですが、面倒なので、僕は秀丸マクロを使ってます。

insert "Module a\n\n";

insert " Sub Main\n";

insert " Console.WriteLine(\"Hello\")\n";

insert " End Sub\n";

insert "End Module";

秀丸マクロは登録すると、ショートカットキーを割り当てられるので、「Ctrl] + [I]を割り当てて、すぐにコードが出せるようにしています。

ところで、コンパイルに必要なライブラリですが、以下のファイルにデフォルトで参照するライブラリが書かれています。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.rsp

よく使うライブラリが書かれていない場合は、ここに追加しちゃえば楽です。

社内フレームワーク単体テストや、動作検証にも便利だと思います。

2011-11-19

Dance Central 2

寒くなってきましたね。

今朝も寒くて、ふとんをかぶってリビングのパソコンをいじっていましたが、そんなときには Dance Central 2 - Xbox.com がいいかもしれません。

実は、1(Dance Central)が出た時から興味があったんですが、Kinectを買うまでの決心ができずにあきらめていました。でも、2が出て、ガガさんことLady Gagaの曲が入っているということで、購入を決断しました。

曲は、ガガさんだけじゃなくものすごくいっぱい入っています。

日本人アーティストは、残念ながらEXILEだけですが、洋楽でも聞き覚えのある楽曲が多いので、結構楽しめます。(マイアヒ〜とか)

さっそく、やってみたかったガガさんのBad Romanceを踊ってみました。これが思っていたよりも大変。ほんとにこんな激しいダンスをしながら踊ってたの?とYouTubeを見てみると、本物はもっとハードなダンスを踊ってました・・・(ちなみにBorn this wayの方はもうちょっと楽でした。)

そんな感じで、1曲踊り終わる頃には半袖Tシャツでも汗をかくほど温まりました。消費電力の大きいXBOXなので、エコにはならないかもしれませんが、運動としては、かなり有益だと思います。お薦め!

2011-10-30 Kinectスポーツ:シーズン2 このエントリーを含むブックマーク このエントリーのブックマークコメント

Kinectスポーツ:シーズン2をやってみました。

そもそも、Kinectの設置からはじめてだったんですが、うちのリビングだと幅がギリギリでした。テーブルをどかして、テレビを後ろに下げて、どうにか頭からスネぐらいまではいる感じでした。日本の住宅ではちょっと厳しいですね。家具の配置権限が僕にあれば、リビングを縦に使うんですが・・・

ゲームは、アメフト野球、テニス、ゴルフ、スキー、ダーツの6種類。

とりあえずひととおり遊んでみました。

全部に共通して言えるのは、プレイ方法がわからないくても、迷いそうなところでチュートリアルが出てくるので問題ありません。

ルールが分からなくても大丈夫。

Wiiでも同じようなゲームがありますが、コントローラなしでできるのはやっぱりいいです。

プログラムをやっている人間のクセで、コントローラをどう操作すればどう動くのかを考えてしまうんですが、Kinectの場合は、人間の体を検知していることがわかるので、きちんと動かないとダメだと分かっているので、きちんと楽しめます。

また、プレイ後に消費カロリーがでるので、運動してる感があっていいです。

一番運動になるのは、野球で、きわどいときには一塁までのダッシュが求められます。頑張って走りすぎると、前に出すぎですと怒られます。(うちのリビングの問題ですが)

スキーは、旗の間をくぐっていくというもので、前にWii Fitでやったものと同じようなものですが、あっちよりも反応がよくていいです。

ダーツは、テレビ画面に向かって縦の動きというスキャンが難しそうな動きなのに、きちんと反応していました。でも、実際のダーツよりも操作が難しい感じがしました。

ゲームの最後にプレイの様子がビデオで流れるんですが、これがものすごく恥ずかしい。

アメリカ人はみんなで喜んでみている様子が想像に難しくないのですが、日本人には恥ずかしいかも。

でも、パーティーでは盛り上がるかもしれません。うちのリビングでは、パーティーとKinectの両立は無理ですが・・・

Kinect スポーツ シーズン 2

Kinect スポーツ シーズン 2