B-Teck!

お仕事からゲームまで幅広く

BioShock Remasteredをクリアした

先月末からプレイしていたBioShockのリマスター版をクリアした。 実は、だいぶ昔に無印版を少しプレイしていたんだけど、なぜか続かずリマスター版が出るまで放置していた… ↓のんびりやったので18時間かかりました ↓所々にこういった海底の街が見える窓があ…

【PHP】 PHPで無名関数を使う

PHP

PHP5.3で導入された無名関数だけど、PHP7で記法がより簡潔になった。 その用法も含めてメモ書き。 無名関数の即時実行

友人がフリーゲームを製作中のようだ

大学時代の友達がゲーム作り始めてた。 というか去年の暮れに公開してた。 戦車で戦う防衛モノ。 タワーと拠点を守って敵を倒すぞ!みたいな。 ↓右のかっこいい球体が拠点、左のやつがタワー ある程度戦ってるとウェーブごとにボスが出てきて倒す。 現状は何…

【PHP】PHPの緩い比較とかの話

PHP

PHPの比較 PHPには、2つの変数が等しいことを比較する演算子が==と===で2つある。 ==は、暗黙的に型を相互変換した後に行われる比較。 ===は、型も含めた比較となる。 PHP: 比較演算子 - Manual 2a問題 暗黙的な型変換による比較というのは、多言語経験者か…

2017年になってました

今更ですが新年のご挨拶です。 去年は母の急逝然り、人間関係然り、後悔を残すことの多い一年でした。 人間、いつ何があるのかわからないなぁという感じで、 やろうと思ってることができなくなってしまうなんて当たり前にあるんですよね。 自分と向き合う時…

【VBA】パスワードのかかっていないExcelだけ開く

VBA

VBAからパスワードのかかったExcelファイルを開く際、普通にWorkbooks.Openするとパスワード入力ダイアログで止まってしまう。 この場合、パスワードを入力するかダイアログを閉じるまで実行中の処理が停止してしまう。 また、ダイアログを閉じた場合にはエ…

【VBA】配列をソートする

VBA

クイックソート アルゴリズムが少し複雑。早い。 C言語で文字列のクイックソート - テクメモ バブルソート アルゴリズムが簡単。あまり早くない。 バブルソート '/** ' * quickSort ' * 配列をクイックソートする ' * 大小比較できる型ならとりあえずソート…

【VBA】Dir関数で指定パスのサブフォルダを全て取得する

VBA

'/** ' * getTargetFolders ' * 与えられたパス配下のフォルダをサブフォルダまで配列で取得する ' * @param strDirectoryPath パス ' * @return フォルダ名のString配列 ' */ Function getTargetFolders(ByVal strDirectoryPath As String) As String() Dim…

【JavaScript】指定時間後や定期的に処理を実行する。

window.setInterval(function, delay) setIntervalは、functionに与えられた関数・処理をdelay(ms)ごとに繰り返す処理。 window.setTimeout(function, delay) setTimeoutは、functionに与えられた関数・処理をdelay(ms)後に実行する処理。 setIntervalで定義…

【JavaScript】Objectタグのdata要素を変更する

HTMLElement.setAttribute("data",変更後data要素)だとIEでうまくいかなかったので、 IEも対応する場合はObject要素自体のDOMをreplaceChildで置き換えてやる必要がある。 /** * changeObjectData * objectタグの表示内容を更新する * * @param {object} ele…

【VBA/Excel】Excelの印刷総ページ数を取得してCSVで出力する

VBA

Dir関数の注意 Windows由来の問題で3文字より長い拡張子を3文字に切り詰めるらしく、xlsでxlsxもxlsmも取れてしまうらしい。ヤバイ。 Office TANAKA - Excel VBA Tips[Dir関数の注意点] ページ数を取得するPageSetup.Pages.CountがExcel2007~2010でバグって…

【JavaScript】HTMLのテーブルをソートするsorTable.jsを作ってみました

github.com すでにあるのかもしれないけど、jQuery無しで動作するHTMLテーブルのソートのやつを作りました。 Git初心者なのでコミットログが汚い... とりあえず公開してみた状態なので、そのうち直したりしてみようかなと思ってます。 下記はデモページの埋…

【VBA】半角カナを判定する

VBA

Not (Mid(strInput, i, 1) Like "[ヲ-゚]" Or strInput = "-")で不要な文字種を除外。 ※"[ヲ-゚]“と”-“を指定するとカタカナひらがなの必要そうな文字列を抽出できる。 ”-“を半角カナに含みたくない場合はstrInput = "-"を外す。 その後StrConvで一度文字列を半角カ…

【VBA/Access】Option Compareステートメント

VBA

Accessでは、Option Compareステートメントによって文字列の比較方法が決定される。 モジュールを作成した際には自動でDatabaseモードが付加されるが、 この記述を削除し、何も書かなかった場合の既定値はBinaryモードとして定義されている。 モード 概要 Bi…

【JavaScript】ウインドウを閉じたとき子ウインドウも一緒に閉じる

ウインドウにモーダルじゃない子ウインドウがある時、閉じたら一緒に消えてほしかった。 IEでのみ動作確認済み。 コードでは1対1の親子関係しか定義してないけど、childWindowを配列にして突っ込んで、 each()とかmap()とかああいうので回せばいいと思う。 (…

【JavaScript/IE】ウインドウを閉じる

window.open()で開いたウインドウじゃないとか、window.close()だとなんか閉じれない環境があったので。 IE(とChrome)は下記のコードで動いた。 window.open('about:blank','_self').close();

【JavaScript/IE】ウインドウサイズの変更に合わせて要素を拡大縮小する

onresize時に現在のウインドウサイズ変更の比率に合わせてドキュメントの拡大率を動的に変更する。 動作確認はIEのみで、他ブラウザでは正常に動作しないかも。 (function(){ window.addEventListener("resize",windowZoom, false); //ウインドウオープン時…

【JavaScript/IE】ファンクションキーを無効化する

onload時にイベントを無効化することでファンクションキーを動作しないようにできる。 押下時の処理を別で定義することで、Webアプリケーションでもファンクションキーを用いたデスクトップアプリケーションライクな処理を再現できる。 動作確認はIEのみで、…

【雑記】母が死んだ話

とりとめなくポエミーに書く。

【VBA】文字列の大文字小文字を判定する

VBA

自分自身を大文字に変換した後、変換前後を比較すると大文字小文字を判定できる。 VBAでは大文字小文字がイコールではうまく判定されないので、 StrComp("変換文字列1", "変換文字列2", vbBinaryCompare) でバイナリでの比較を行う必要がある。 Option Expli…

【C#/Unity】穴掘り法でダンジョンをランダムで生成する

せっかく経路探索して敵を追いかけるアルゴリズムを書くなら迷路がほしいなと思ったので。 穴掘り法を複数回ループして、分岐を無理やり増やしてるけど袋小路はうまれる。 仕方ないね。 穴掘り法とは 実装 using UnityEngine; using System.Collections.Gene…

【C#/Unity】相手を追尾するAIを考える その2

前回 beatdjam.hatenablog.com はじめに さっきUnityをインストールして環境作ったので、昨日の記事を改めてUnityで実装してみました。 今回も最後に全文のソースコードを載せます。 また、今回掲載するソースは以前掲載した下記記事から一部流用しています…

【JavaScript】相手を追尾するAIを考える その1

はじめに この記事にこんなコメントがつきました。 beatdjam.hatenablog.com コメント失礼します。 ゲーム開発を学んでいるプログラマーの卵です。 敵AIの追尾について勉強していて、 縦横マス目移動でプレイヤーを追尾出来るような敵の処理にしたいのですが…

【PHP】標準入出力を行うクラス

PHP

【PHP】連想配列とかオブジェクトのソート

PHP

多次元連想配列やオブジェクトを詰めた配列はusort関数でいい感じにソートする。 PHP: usort - Manual 多次元連想配列のソートをする場合 "30", "stock" => "100"], ["price" => "20", "stock" => "120"], ["price" => "10", "stock" => "115"]]; //ソート …

​【PHP】英単語を複数形にする

変換ルール 不規則変化の名詞は辞書を持ち、対応する単語に変換する 不規則変化の辞書に単語が存在しない場合、以下の優先順位で単語を変換する 1 . 末尾が「s、sh、ch、o、x」の場合は「es」をつける 2 . 末尾が「f、fe」の場合は「ves」に置き換える 3 . …

【CSS】文章の字下げを行うCSS

CSS

1. 一行目の行頭を字下げする テキストの一行目を字下げするtext-indentプロパティを利用する <style type="text/css"> .sample1{ text-indent:1em; } </style> <p class = "sample1"> どこで生れたかとんと見当がつかぬ。何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。吾輩はここで</p>…

【PHP】文字列を配列に格納する(マルチバイト対応)

PHP

PHPのstr_splitにマルチバイト版がなかったので書いた。

【JavaScript】undefinedの判定の話

,,

【PHP】2つの文字列を比較して差異の数を取得する

PHP

2つの文字列から、長さの差も含めて差異のある文字数を取得するメソッド。 str_splitのマルチバイト対応版がないので、