Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vimに突如現れたKillersheepとは

$
0
0

アドベントカレンダー初参加です。

はじめに

先日Vim 8.2がリリースされましたね。
スクリーンショット 0001-12-14 午前0.31.53.png
早速ビルドしました。
Vim 8.2はポップアップウィンドウの実装とテキストプロパティこの二つが大きな新機能のようです。
www.vim.orgを見られた方なら気付いた方もいるかもしれませんが、KillersheepというVimプラグインがGitHubにアップロードされました。
開発はBram Moolenaar...つまりVimの開発者です。

Killersheepとは

Vim 8.2の新機能を使ったシューティングゲーム、と認識しています。
使われている新機能は以下の3つです。
詳細はヘルプを参照してください。
1. 音源再生機能 :h sound_playevent
2. ポップアップウィンドウ :h popup
3. テキストプロパティ :h textprop

インストール

Killersheepは普通のVim script製プラグインですので、プラグインマネージャ等にvim/killersheepを登録することでインストールは終わります。
README.mdによると動作の条件はVim 8.2とのことですが、一部の8.1系でも動作します。ソースコードを見ると8.1.1705以降で動作するようです。

プレイする

インストールが正常に終わっているならば、
:Killでプレイができます。
もし他のプラグインとコマンドが競合しているのなら:KillKillKillコマンドも使えます。コマンド名が物騒ですね
動作に必要な条件を記しておくと、
+textpropでコンパイルされていること。
ターミナルが45行以上あること。です。
ところで、音がなります。気をつけましょう。

プレイ中の画像

スクリーンショット 0001-12-13 午後11.47.56.png
操作

キー操作
xゲームの終了
sゲームの開始
h,l自機の移動
Space弾の発射

Dec-13-0001 11-58-16 PM.gif
プレイ中に流れる効果音は同僚さんの声らしいです。

ソースコードを読んで

羊から出ている何かは羊さんビームのような生易しいものではなく普通にpoopでした。
私はVim scriptの知識がほとんどないので申し訳ないのですが、中で出てくる羊ちゃんやウ●コ、自機や弾は皆ポップアップウィンドウのようです。色付けはテキストプロパティを用いているのでしょうか。
昔のvimゲームプラグインはバッファを直接書き換えているよう?なのですが、こちらはポップアップウィンドウを使っています。新しい手法が増えたのでしょうか。

終わりに

このようなことができるようになったのはたくさんの人の作業があったからなんだろうなと思いました。自分も何かしら貢献できるようにしたいです。


Viewing all articles
Browse latest Browse all 5608

Trending Articles