Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

2016-04-01から1ヶ月間の記事一覧

7Botに自力でコードを書き込んでみた

shuzo-kino.hateblo.jp 以前の記事のように7botを導入してはみたものの、待てども待てどもサンプルが上がってくる気配がありません。このままでは月が変わりそうなので……試しに有志が作ったサンプルコードを動かしてみました。 発送時点で公開はされてたのに…

Regex#execやRegex#testはlastIndexを参照しているので注意

Regex#execやRegex#testを使う場合の注意点です。 実際のところ myArray = myRe.exec(str) /* [ 'Pacem,', '', 'Pacem', ',', index: 7, input: 'Si Vis Pacem, Para Bellum' ] */ さて、ここでArray#lastIndexの数字を細工してみます myRe.lastIndex = 2 //…

Regex#execを使うと、正規表現=>文字列の順で並べる事ができる。

javascriptのRegex#execを使うと、正規表現=>文字列の順で並べる事ができます。 実際のところ 基本的挙動 結果は配列に格納されます。 最初:マッチした全文 以降:マッチしたワード index:マッチした先頭文字番号 input:入力した全文 (/(\b)(\w+)(,*)/g).…

Gitでコミット数を知るワンライナー

Gitでコミットした量を知るワンライナーです。 git logは各種ログがでてきますが、awkでこれの”Date”分を抽出し、"uniq -c"で出てきた個数を数えると……コミット回数をリストアップできます。 $ git log | awk '/Date/{print " : " $4 " " $3 " " $6}' | uniq…

KickStarter発の学習型ロボットアーム 7botが届いたので起動してみた

7botは学習型ロボットアームを350ドルで提供するという野心的なキックスターター・プロジェクトです。 大成功を収め、$290,962*1の投資を受けました。 私も一口、「完成品(吸着式アーム)一台提供」のオプションを出資。 https://www.kickstarter.com/pr…

mathjsでcm、inchのような単位が混在した計算を扱う

JavaScriptの数学系を拡張するmathjsは、行列から複素数、cmといった生活単位、果ては原子物理の定数までサポートする驚愕のライブラリです。 今回はcmやinchといった、長さを扱う別の単位が混在した式を楽にする方法を扱います。 実際のところ 生活単位の計…

N文字|要素ごとに改行する正規表現

冷静に振り返れば当たり前だったのですが、何故か解決に時間がかかったのでメモ。 実際のところ 単純にN文字毎に切り分ける 世界で一番長い名前らしい「Captain Fantastic Faster Than Superman Spiderman Batman Wolverine Hulk And The Flash Combined」さ…

戦術SLGでよく見る移動範囲表示をJavascriptで実装してみる その2:障害物がある場合

前回に引き続き、移動範囲表示です。 今度は地形による移動コストが加味されたバージョンです。 実際のところ 前回のものをベースに、以下のケースを考えます。 ユニット移動力:3 草原地帯:必要移動力2 山岳地帯:通行不能 再帰風の表現を使っているせい…

戦術SLGでよく見る移動範囲表示をJavascriptで実装してみる その1:阻害するものが無い場合

戦術シミュレーションゲームでよく見かける、移動範囲や武器射程範囲の表示をするロジックをjavascriptで書いてみました。 まずは阻害するものが無いバージョン。 実際のところ 9x16の四角で構成された盤面 ユニットは4,5の位置 ユニット移動力は3 というケ…

setで配列を追加するときに注意すること。

実際のところ var set = new Set() set.add(1) set.add(2) set.add(3) set.add([1,1]) set.add([1,3]) // Set { 1, 2, 3, [ 1, 1 ], [ 1, 3 ] } ナカミを確認します。 普通の数値なら難なく確認できますが……配列だと駄目です。 > set.has(1) true > set.has(…

Array#fill中でArray#fillをやると特定セルだけ更新という事ができない

shuzo-kino.hateblo.jp 上記の記事で紹介したArray#fill中でArray#fillを呼び出す方式だと、特定セルだけ更新という事ができません。 ……for文のネストは使ったら負けな気がするので、ここはmathjs使ったほうが良いように感じました。 実際のところ。 まず、…

同じ値で満たされた多次元配列を作る

同じ値で満たされた多次元配列を作る方法です。 落ち物ゲーを作るときのパターンだとか、シミュレーションゲーのマップパターンだとかで使えます。 実際のところ サンプルケースとして、-1で満たされた9 x 16の二次元配列を作るケースを考えます。 生JSの力…

javascriptでは、同じ関数を呼び出す処理が並んでいる場合、 無名関数でまとめ込む事ができる

同じ関数を呼び出すメソッドが並んでいる場合、 無名関数でまとめ込む事ができます。 マウスクリックとタッチパネルのクリックのアクションが並んでいるが、呼び出す関数は同じ……なんて時に有効です。 実際のところ 参考例として、 Pixi.js Examples に出て…

pixi.jsでゲーム終了画面を実装する

せっかくゲームを作るわけですから、ゴールしたら何か表示したいですよね。 これは内部にフラグ……というか 実際のところ ゲームが終了したら、文字を出すだけの簡単処理を考えます。 var stage = new Container() var gameScene, gameOverScene var state; /…

Arduinoで"error: expected unqualified-id before numeric constant"が2個出たら、原因は後の方にある

"error: expected unqualified-id before numeric constant"とかいうトンチキなエラーが2個連続で起きたら……エラーが指定されたトコではなく、全く例外の所に問題がある可能性があります。 実際のところ 実際に起きたエラーはこちら。 Controller:5: error:…

「3ボタンのUSB-キーボード」をArduino microでチョチョイと作る

社内のちょっとしたシステムの試験用に「3ボタンのUSB-キーボード」を作る必要が出てきました。 耐久性と予算は度外視、とにかく急ぎで作る必要とのことだったので、こういう場合にはArduino。 誂向きにUSBガジェットとして機能するmicroがあるので、チョイ…

pixi.jsの判定処理、及びcontainerの扱い

インタラクティブ性のあるゲームを作るなら避けては通れない衝突判定。 pixiでやる場合、自分で用意するしかありません。 実際のところ 猫が虎を吸収合併して大きくなる塊魂的なクソゲーのモックアップを考えます。キモとなるヒット関数はこんな感じ。 参考…

【イベントログ】中食や飲食店の展示会、ファベック2016に行ってきました

中食や飲食店の展示会、ファベック2016に行ってきました。 併設はハラール認証やスイーツ、ワイン、麺と……とりあえず飯に関わってればなんでもアリ!? 会場の様子 E-POS カーナビも産業機器もVRも普及型タブレットで済ませるご時世です。 注文端末はそ…

Pixi.jsでキー入力を受け付ける

PIXIでキー入力を受け付ける方法です。 実際のところ ベースは前回の記事。 新規実装分は基本的にLeriningPixiの内容に則ります。 が、キーアクションの指定部分は繰り返しが好みじゃなかったので、 厳密性を捨てて簡単に書いています。 function setup() { …

PIXI.loaderで読んだjsonから、複数のオブジェクトを描き出す

PIXI.loaderで読んだjsonから、複数のオブジェクトを描き出す方法です。 実際のところ 前回使ったanimals.jsonから、猫一匹、トラ二匹を表示します。 せっかくなので、盤面も描いてみました。 var oneChip = 65; var xAxis = oneChip * 16; var yAxis = oneC…

tilesetをサクサク作れるTexturePicker その2:CLIでつかう

以下の様な様式でコマンドを指定します。 TexturePacker [options] [<imagefolder>] [<images>] [<tpsfiles>] 実際のところ こちらのサイトから、png版のアイコン集をもらってきます。 商用利用じゃない限りはタダ。 もし、お仕事で使うときには、積極的にお金払いましょう。50ドル未満で</tpsfiles></images></imagefolder>…

tilesetをサクサク作れるTexturePicker その1:導入編

TexturePickerはtilesetを作る事ができる便利ツールです。 OS XからUbuntu、Windowsまで幅広くサポートしています。 実際のところ 公式のダウンロードページに行きます。 TexturePacker Download - Newest releases and betas Mac (OS X) OS X版はより簡単で…

jsonで記述されたtexturetileの情報をTextureCacheで読み込む

実際のところ まず、必要なファイルを調達します。lerningPIXIに良いサンプルがあるので、使わせてもらいましょう。 $ cd IMAGE_DIR $ wget https://raw.githubusercontent.com/kittykatattack/learningPixi/master/examples/images/animals.json $ wget htt…

(調査中)Pixi js v3でTextureCacheの挙動が変わった(?)

lerningPixiを教科書に勉強していたのですが、詰まりました。 問題のところはtilesetのところ。 次のセクションでjsonによるが出てるので、もう少し調べて駄目ならコードでの動作指定は放棄したほうが良さそうです。 実際のところ tilesetは一度呼び出せばよ…

アナログ回路系の知識は部品メーカの解説サイトを参照した方が良い

アナログ回路系の知識は部品メーカの解説サイトが参考になります。 もちろん、背景知識があるなら、Wikipediaでも問題ありません。 が……大抵の場合妙にアカデミックに寄っており、すんなりアタマに入ってこない可能性があります。 また、テストやレポートの…

altJS(TypescriptとかLivescriptとか)でmochaをやるにはどうするのっと

一応、公式には以下のように書いているのですが、ワケがわかりません。 --compilers <ext>:<module>,... use the given module(s) to compile filesどうも、拡張子:実行体 という順で呼べばいいみたいですね。 実際のところ coffee-script $ mocha --compilers coffee:cof</module></ext>…

mochaをcoffee scriptで使う

mochaをcoffee scriptを経由して使う事ができます。 こういうaltJSてclassとかあるし、どうやるのか前から気になっては居たのですが……なるほどなぁ 実際のところ スクリプト群 test/test.coffee chai = require 'chai' chai.should() {Task,TaskList, List} …

Pixi.jsでオブジェクトのドラッグ&ドロップを実装

Pixi.jsでオブジェクトのドラッグ&ドロップを実装する事ができます。 実際のところ 画像を読みだす部分からイベント実装までを抽出すると、こんな感じです。 PIXI.loader .add("catImg","views/images/cat.png") .load(setup); function setup() { //Create…

PIXI.loaderで読み込みオブジェクトにエイリアスをはる

Pixiで画像をはる場合に毎回毎回リンク貼るのは面倒ですよね。 そういう時にはエイリアスを使って楽をしましょう。 実際のところ 前回の記事をベースにします。 shuzo-kino.hateblo.jpこれまではPIXI.loader.resourcesで毎回毎回リンクを貼ってました。 エイ…

Pixi.jsで画像を読み込み

Pixi.jsで画像を読み込みます。 実際のところ 以前書いたexpress版を軸に、画像を付け加える場合を考えます。 shuzo-kino.hateblo.jpディレクトリ構造はこんな感じです。 cat.pngは公式のexampleからもらってきました。 . ├── app.js ├── images │ └── cat.p…