パケ買いしたシャンティが思いのほか楽しくて困ってない。
横スクロールアクション自体すっごい久しぶりなせいもあっていい買い物でした。
道中迷子になったり最終ダンジョンで指痛めたりとかしたけど。
- 出版社/メーカー: インターグロー
- 発売日: 2015/11/19
- メディア: Video Game
- この商品を含むブログ (3件) を見る
PC版もあると聞いて即買ってしまうとかもしてた。フルHD + フルスクリーンでできるからこっちのほうがやりやすかった。
パケ買いしたシャンティが思いのほか楽しくて困ってない。
横スクロールアクション自体すっごい久しぶりなせいもあっていい買い物でした。
道中迷子になったり最終ダンジョンで指痛めたりとかしたけど。
PC版もあると聞いて即買ってしまうとかもしてた。フルHD + フルスクリーンでできるからこっちのほうがやりやすかった。
懲りずにエレコム製トラックボールに手を出してました。
見た目は前のと変わらず、チルトホイールと薬指付近の追加ボタンのあるデザインです。
ELECOM マウス トラックボール ワイヤレス 握りの極み 6ボタン ブラック M-XT3DRBK
実のところ、こっちのほうしか知らんかったんですが、Amazonにあったのは↑のほうだけでした。*1
www2.elecom.co.jp
この二種類、違いは薬指のボタンの機能の違いでした。
M-XT2DRBK | 速度調整ボタン |
---|---|
M-XT3DRBK | 拡張機能ボタン |
期せずして、便利そうなほう買ってました(・∀・)
さしあたり、
を割り当ててます。(チルトホイールはそのまま横スクロールにしてある)
前の M-XT1DRBK と変わらず、ポインタがふらつくことが結構ありますねぇ…('A`)
これ電池寿命を犠牲にハイスピードモードして直ってくれたしないかな…
やっぱロジクールのほうが安定感ある.
あとボールがショリショリしてる。
あと薬指ボタンは誤爆しやすい気がする。
*1:M-XT2DRBKのつもりで買ってた
結論から書くと、ちゃんと構造体でラップしましょう、ということです。
出ないと書き出したXMLがちゃんと読み込まれなくて ( ;゚皿゚)ノシΣバンバン!! ってすることになります。
次のように、構造体とそのスライスを用意して、XMLに変換したわけです。
package main import "encoding/xml" import "fmt" type Item struct { XMLName xml.Name `xml:"item"` ID string `xml:"id,attr"` Name string `xml:"name"` Value string `xml:"value"` } type Items []Item func main() { items := Items{ Item{ ID: "001", Name: "AA1", Value: "|ω・`)ノ ヤァ", }, Item{ ID: "002", Name: "AA2", Value: "|д゚)チラッ", }, } if buf, err := xml.MarshalIndent(items, "", " "); err != nil { panic(err) } else { fmt.Print(xml.Header) fmt.Println(string(buf)) } }
実行すると次のようなXMLを得られます。
<?xml version="1.0" encoding="UTF-8"?> <item id="001"> <name>AA1</name> <value>|ω・`)ノ ヤァ</value> </item> <item id="002"> <name>AA2</name> <value>|д゚)チラッ</value> </item>
この時点ですでになんか怪しいことにお気づきでしょうか。そう、ルート要素が複数あるということに。
さて、これを以下のコードで読み込むと( ゚д゚)します。
package main import "encoding/xml" import "fmt" type Item struct { XMLName xml.Name `xml:"item"` ID string `xml:"id,attr"` Name string `xml:"name"` Value string `xml:"value"` } type Items []Item func main() { items := make(Items, 0) doc := `<?xml version="1.0" encoding="UTF-8"?> <item id="001"> <name>AA1</name> <value>|ω・`)ノ ヤァ</value> </item> <item id="002"> <name>AA2</name> <value>|д゚)チラッ</value> </item> ` if err := xml.Unmarshal([]byte(doc), &items); err != nil { panic(err) } else { for _, item := range items { fmt.Println(item) } } }
以下出力結果。
{{ item} 001 AA1 |ω・`)ノ ヤァ}
二要素目が闇に消えましたね ( ・´ー・`)
たぶんルート要素がいっぱいあるせい。つまり正しいXMLになってない。
なので、ちゃんと構造体でラップしましょう、そうしましょう。
package main import "encoding/xml" import "fmt" type Item struct { XMLName xml.Name `xml:"item"` ID string `xml:"id,attr"` Name string `xml:"name"` Value string `xml:"value"` } type Items struct { XMLName xml.Name `xml:"items"` Items []Item `xml:"item"` } func main() { items := &Items{ Items: []Item{ Item{ ID: "001", Name: "AA1", Value: "|ω・`)ノ ヤァ", }, Item{ ID: "002", Name: "AA2", Value: "|д゚)チラッ", }, }, } if buf, err := xml.MarshalIndent(items, "", " "); err != nil { panic(err) } else { fmt.Print(xml.Header) fmt.Println(string(buf)) } }
<?xml version="1.0" encoding="UTF-8"?> <items> <item id="001"> <name>AA1</name> <value>|ω・`)ノ ヤァ</value> </item> <item id="002"> <name>AA2</name> <value>|д゚)チラッ</value> </item> </items>
package main import "encoding/xml" import "fmt" type Item struct { XMLName xml.Name `xml:"item"` ID string `xml:"id,attr"` Name string `xml:"name"` Value string `xml:"value"` } type Items struct { XMLName xml.Name `xml:"items"` Items []Item `xml:"item"` } func main() { items := Items{} doc := `<?xml version="1.0" encoding="UTF-8"?> <items> <item id="001"> <name>AA1</name> <value>|ω・`)ノ ヤァ</value> </item> <item id="002"> <name>AA2</name> <value>|д゚)チラッ</value> </item> </items> ` if err := xml.Unmarshal([]byte(doc), &items); err != nil { panic(err) } else { for _, item := range items.Items { fmt.Println(item) } } }
{{ item} 001 AA1 |ω・`)ノ ヤァ} {{ item} 002 AA2 |д゚)チラッ}
構造体作りたくないでござる、スライスはスライスのままにしたいでござる、みたいな人 *1 のためにたぶん間違った解決方法を。
その方法は xml.Marshaler / xml.Unmarshalerを実装して、ルート要素を無理やり作る、というのもですが。
package main import "encoding/xml" import "fmt" type Item struct { XMLName xml.Name `xml:"item"` ID string `xml:"id,attr"` Name string `xml:"name"` Value string `xml:"value"` } type Items []Item func (self Items) MarshalXML(e *xml.Encoder, start xml.StartElement) error { root := struct { Items []Item `xml:"item"` }{ Items: self, } start.Name.Local = "items" return e.EncodeElement(&root, start) } func main() { items := Items{ Item{ ID: "001", Name: "AA1", Value: "|ω・`)ノ ヤァ", }, Item{ ID: "002", Name: "AA2", Value: "|д゚)チラッ", }, } if buf, err := xml.MarshalIndent(items, "", " "); err != nil { panic(err) } else { fmt.Print(xml.Header) fmt.Println(string(buf)) } }
package main import "encoding/xml" import "fmt" type Item struct { XMLName xml.Name `xml:"item"` ID string `xml:"id,attr"` Name string `xml:"name"` Value string `xml:"value"` } type Items []Item func (self *Items) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { root := struct { Items []Item `xml:"item"` }{} if err := d.DecodeElement(&root, &start); err != nil { return err } else { *self = root.Items return nil } } func main() { items := Items{} doc := `<?xml version="1.0" encoding="UTF-8"?> <items> <item id="001"> <name>AA1</name> <value>|ω・`)ノ ヤァ</value> </item> <item id="002"> <name>AA2</name> <value>|д゚)チラッ</value> </item> </items> ` if err := xml.Unmarshal([]byte(doc), &items); err != nil { panic(err) } else { for _, item := range items { fmt.Println(item) } } }
自分自身のスライスの参照先を書き換えるとか ((((;゚Д゚))))ガクガクブルブル しますね!!
*1:私
最近うしおととら (Kindle版) を全巻まとめ買い*1*2したりとかで散財してるところで、またゲームを衝動買いしてしまいましてな。
会社で調べものってことでググってたら至る所で広告を見てしまったので洗脳された感はありつつも、ほぼパケ買いですハイ。
Windows 10にしてからどうにもXbox 360コントローラ及び互換コントローラの入力がおかしくなってました。おかしいというか、スティックの上方向から右斜め上方向の入力がほぼなくなるという(´Д`)*1
互換コントローラとXbox 360コントローラ両方で起きてたので、たぶんドライバレベルでなんかおかしくなってるっぽかったので、唐突にXbox One Controllerを買いました。ほら、Windows 10ならドライバ標準装備だって言うから…
マイクロソフト Xbox One ワイヤレスコントローラー(Xbox One/Windows PC対応)7MN-00005
買ってみての感想としては、
という感じで、いい買い物だったかと.
難点は、R/Lキーが押しにくいことですが。
というのも、押せる場所が端のほうなんですが (下図参照) 持ち方の問題で人差し指がちょうど根元 (図の×のあたり) にきちゃって「あれ?押せないぞ?」とかなること。根元はまったく押せないのでつらいことになる。
意識すればいいんだけど、アクションゲームとかだと余裕なくなって押せなくなったりするのが困ったところです *3
この点だけは360より劣化してるなぁと
部屋を占拠してた段ボール箱を片付けたらPS3で遊べるようになったので、懐かしのMHP3rd (HD Ver.) を引っ張り出して遊んでました。
PS3をすっごい久しぶりに起動
— ちくちく( ´ω` )ごんざれす (@chiku2gonzalez) 2015, 8月 13
P3rd HDでアマツと戯れてきた
— ちくちく( ´ω` )ごんざれす (@chiku2gonzalez) 2015, 8月 13
温泉とドリンク効果がセーブされてた事に( ゚д゚)ポカーンしてた
— ちくちく( ´ω` )ごんざれす (@chiku2gonzalez) 2015, 8月 13
あ、そういえば昨日頑張ってP3rdの村最終クエをクリアしときましたよ\\\\٩( 'ω' )و ////
— ちくちく( ´ω` )ごんざれす (@chiku2gonzalez) 2015, 8月 15
いやぁ、HD Ver. だけあって綺麗でしたわー…
呟きの通り、村最終クエストの終焉を喰らう者が未クリアだったのでヒーコラ言いながら40分かけてクリアしておきました *1.
そしてMH4Gに慣らされてるなぁ…って言うのを実感してきたところです.
(ナルガの回転とか意外と避けられるようになってたところとか、アマツの三連ブレスを避け切れるとか)
久しぶりの感想としては
とまぁ、今できないことが当時はできてたんだなぁ、って遠い目になりかけた。
MHXでユクモが復活するなら、是非ともユアミスガタ復活ととレックスUの足装備のパンツをTバックに戻してほしい
*1:二回失敗してるので合計2時間くらい費やしてる気がする
Surface Pro 2で練習したのち、メイン使用のAlienware 17 (Windows 8機) を Windows 10 にアップグレードしました。今のところ目立った不具合とかはないです。ε-(´∀`*)ホッ
まぁまだ慣れてないだけですね。
手元で試したソフトは大体動きました。ってか一番動きが怪しいのが Alien Respawn (Dellのバックアップツール) というね…
アプリ名 | 備考 |
---|---|
ヴァンガードプリンセス | Windows 8.1の時はバッチファイルがないと動かなかったのが解消され、ちゃんと直接ダブルクリックで動いた |
MUGEN (Win) | 余裕 |
MUGEN (1.0) | |
SFFAirMaker | いける |
SFFAirEditor | 動くけど、うちの環境では相変わらず終了時にRuntime Error |
FighterFactory3 | なんか動く. |
他Steamで買ったゲーム (BlazBlue CS / Skullgirls) も問題なしでした。