スズキ レッツ4にSHADのボックスSH29を取り付け
レッツ4用にSHADの「SH29」を取り付けた。
SH29はAmazonで購入。
レッツ4の荷台が小さいため,台座を取り付けるのに苦労したのでメモ。
台座の部品など
実際には長いネジがもう4本付属しており,設置にはそちらを使用した。
写真上部の金具で荷台の下から固定するのだが,ご覧の通り一方が長く作られている。これが苦労の原因。
シートから遠い側は荷台の幅が狭くなっているため,台座の中心付近を固定することになるのだが,ここで金具の長い端が台座の底に当たり,金具と荷台との間に隙間ができてしまう。
おそらく金具の長い端は台座の外縁にある溝に当たるように設計されているのだろう。レッツ4の荷台が小さいため,そこまで届かないのだ。
金具の湾曲部にワッシャーを噛ませて隙間を埋めることも試したが,うまく固定できなかった。
そこで,台座の金具が当たる部分を削ることに。
左右1カ所ずつ,溝を広げる感じで台座の裏側を削る。柔らかい素材なので,普通のカッターでサクサク削れた。
取り付け結果はこんな感じに。
当然台座の強度は落ちることになるので,お薦めは出来ない。
しっかり固定できた。
AOJ Vol.1 0115 Starship UAZ Advance
AOJ「Starship UAZ Advance」に挑戦。
方針
- 簡単のため,自機の座標を原点として考える
- 敵機の座標を(自機原点)とする
- バリアの3点を, , (自機原点)とする
- ベクトルを,バリア3点のベクトル()の和,で表す
- , , が定まる場合
- or or ならば,ビームはバリアの外
- ならば,敵機はバリアの手前
- , , が不定の場合
- ビームがバリアの一辺と平行になっている
- 敵機がバリアの辺上にないか調べる
- 自機がバリア上にある場合も考え,自機と敵機を入れ替えて上記手順を行う
AOJ Vol.1 0106 Discounts of Buckwheat
久々のAOJ「Discounts of Buckwheat」に挑戦。
方針
- ナップザック問題なので動的計画法で解く。
- ただし,200g,300g,500gのアイテムだけでなく,割引される最小単位である,200gx5袋,300gx4袋,500gx3袋の三つもそれぞれ取り扱いアイテムとして考える。
RubyWarriorに挑戦
同僚に教えてもらった「Ruby Warrior - Popular Free Ruby Programming Tutorial Game」に挑戦してみたのでコードを晒してみる。
https://github.com/nrmnr/ruby_warrior
当初、ターン制が分かってなくて、1ターンに2アクション起こして怒られたりした。
そこがわかれば、Level1、Level2、Level3のあたりは問題無し。コードがメッセージループ処理っぽくなるのは仕方ないか。
Level4で飛び道具を使う敵に苦戦。前のターンとのhealth値の比較で、攻撃されてるかどうかを判定する。
- 自分のターン(healthを保存)
- 敵のターン ←ダメージ!
- 自分のターン(healthが減っていれば攻撃されている)
みたいな。
- Rubyの学習と言うより、パズルを解く感覚で面白かった。
- CodeGolfしたり、少ないターンでクリアしたり、もう少し遊べそう。
- 単一のコードで全面クリアできるかと思ったけど、Levelによって使えないメソッドがあって無理っぽい。
追記
元はCLI版のゲームだったみたい。インストール方法などは↓このへんで。
Ruby Warrior Strategy Guide - Jumpstart Lab Curriculum
二次元マップもあって,まだ先は長かった。
Google playカード
気づけばブログ一年ほったらかし。
Google playカードが日本でも購入できるようになったとのことで、早速買ってみた。
裏はこんな感じ。
スクラッチ部分は削ると粉が出るタイプ。
https://play.google.com/redeem
にアクセスして、コードを入力するだけ。
無事にチャージできました。
Ruby 1.9.2と1.9.3のinitialize
Rubyを1.9.2と1.9.3の挙動の違い(バグ修正?)を見つけたのでメモ。
class C def m puts 'hoge' end end c = C.new 'fuga' # 引数に意味はない c.m
としたとき,
# 1.9.2 #=> hoge # 1.9.3 #=> (ArgumentError)
になる。
むしろ1.9.2のバグ?