読者です 読者をやめる 読者になる 読者になる

B-Teck!

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

【ゲーム】バトルフィールド1で普段心がけていること

はじめに 昨年発売されたバトルフィールド1(PS4版)を未だにがっつりプレイしている。 基本オペ・コンクエ(たまにフロントライン)専門。 プレイ時間は100時間を超え、ランクも90台。そろそろ中堅を名乗っても良い頃だと思う。 今作は前作に比べて新規プレイヤ…

【VBA】与えられたパスのフォルダを新しく作成する

VBA

パスを指定してフォルダを作成する。 下記みたいな指定の場合でも存在しないパスごと作ってくれる。 MakeNotExistsDir("存在するパスA\存在しないパスA") MakeNotExistsDir("存在しないパスA\存在しないパスB\存在しないパスC") Option Explicit 'WindowsのA…

清く、正しく、残虐に!LET IT DIE

最近、PS4で配信された「LET IT DIE」をプレイしている。 海外では基本プレイ無料で配信されている本作だが、日本ではZ指定のため108円で配信されている。 結構好きなゲームなので紹介してみようと思う。 世界観 地殻変動によって東京に突如現れたバルブの塔…

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",window…

【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のマルチバイト対応版がないので、

【JavaScript】もらい泣きする

なぜ Twitterでこれが流行ってたので思いつきで Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力…

【JavaScript】配列からランダムに値を取り出す

/** * randAry * 配列内からランダムに値を取得する * @param {array} i_ary 配列 * @return {object} 配列内の値 */ function randAry(i_ary){ //添字を全て取得 var aryKeys = Object.keys(i_ary); //対象の添字をランダムに取得 var index = aryKeys[Math…

【JavaScript】最小値と最大値を指定して範囲内の値を持った配列を作成する

/** * range * 範囲内の値を持った配列を作成する * @param {number} min 範囲の最小値 * @param {number} max 範囲の最大値 * @param {function} filer フィルタ関数 * @return {array} 作成した配列 */ function range(min, max, filter){ var ary = []; f…

【SQL/SQLServer】作成済みテーブル等の一覧を取得する/存在するかを確認する

テーブルが作成済みかを判定する仕組みを調べたのでメモ 実行環境 SQL Server 2014 Express テーブル等の一覧を取得する SQL Serverで作成されているオブジェクトは全て[DB名称].dbo.sysobjectsというシステムテーブルに保存される。 そのため、下記のような…

【SQL/SQLServer】整数同士の割算の時、結果が必ず整数になってしまう

SQLServerで割り算を行った時、整数同士での割り算の場合は必ず結果が整数になってしまう理由が謎だったので調べた。 実行環境 SQL Server 2014 Express 問題 下記のSQLは1.5という結果が得られるような気がする、と思ってた。 SELECT 3/2 思ってただけだっ…

【VBA】Round関数で四捨五入ができなかった話

VBA

VBAのRound関数は銀行家丸め(銀行型丸め、銀行丸めともいうらしい)になっているらしい。 ので何も考えないで四捨五入しようと思ったらできなかった。 銀行家丸めとは 銀行型丸めとは、切り捨てるときに一番近い偶数に近づける方法。 単に四捨五入していくよ…

【VBA】First関数・Last関数等についてのメモ

VBA

First(), Last(), DFirst(), DLast() VBAのこれらの関数はORDER BY句や、インデックス、主キーを考慮せず、 「ディスクのレコードを読み込んだ順」の最初と最後を取得する。 なので、下記のようなSQLとは必ず等価にならず、どんな値が返るのかも予想が困難な…

【VB.NET/C#】ファイル操作についてのメモ

ファイルが存在しているかを確認する System.IO.File.Exists() ディレクトリが存在しているかを確認する System.IO.Directory.Exists() ディレクトリ内のファイルを取得する System.IO.Directory.GetFiles() ファイルを作成する System.IO.File.Create() フ…

【HTML5/jQuery/Javascript 】ローカルの画像を読み込んでJavaScriptで合成してみた

ふと思い立ったので、HTML5のCanvasを使って画像を合成してみた。 なんとかブルーファンタジージェネレータ コード HTML <html> <head lang="en"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>なんとかブルーファンタジージェネレータ</title> </meta></meta></meta></head></html>

【VBA】VBAのエディタの覚えておくと便利なショートカット

VBA

いつも忘れるので自分用にメモ ショートカット 説明 Ctrl+↑ 前のプロシージャに移動 Ctrl+↓ 次のプロシージャに移動 Ctrl+PageUp 現在のプロシージャの先頭へ移動 Ctrl+PageDown 現在のプロシージャの最後へ移動 Ctrl+Home 現在のモジュールの先頭へ移動 Ctr…

【JavaScript/jQuery】はてなブログで一定期間経過した過去記事に、古い記事であることのメッセージを自動表示するスクリプト

こんなの ソース <script type="text/javascript"> //更新日時を取得してDateに変換 $('time:not(.updated)').each(function(){ var updateTime = $(this).get(0).getAttribute('datetime'); var date = new Date(updateTime); //1年前の日付を設定 var pastDate = new Date(); pastDate.set…

【VBA】リストボックスを選択したり解除したりするメモ

VBA

前提 Access 2010 リストボックスは複数選択可 用意 テーブル フォーム コード リストボックスを全て選択・選択解除 [リストボックスの名前].Selected(数字)はリストボックスの指定項目の選択状態のプロパティ。 Trueにすると選択状態に、Falseにすると非選…

【JavaScript】JSLintで"The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype."が出た時の対処

なぜ出るのか for-inステートメントはオブジェクトのプロパティを”全て"列挙する for (variable in object) { ... } その為、対象のオブジェクトのプロパティだけではなく、prototypeから継承した(prototype汚染された)プロパティも列挙される function A() …

【PHP】PHPカンファレンス2015にいってきました

PHP

phpカンファレンス2015に行ってきました 強そうなPHPerがいっぱいいてビビりながら過ごした スポンサーブースでPHPStormの新ライセンスの話聞いたりした IZANAGIすげぇ 試したい 生Rasmus Lerdorf見て興奮した めっちゃ刺激を受けたので来年も行きたい 以下…

【CSS】CSSの詳細度の設計メモ

CSS

CSSのスタイルの適用順序には、詳細度という仕組みが存在する。 CSSを設計する上では欠かせない概念であるためメモ。 詳細度とは 詳細度とは、スタイルを適用する命令の強さである。 id、class、タグ要素等、各セレクタ自体が詳細度を持ち、その強さは三段階…

【SQLServer】ManagementStudioで行番号を表示する

バージョン 2014 だけど大体他のバージョンも同じ…はず? やりかた ツール→オプション テキストエディター→行番号にチェック 完了

【Java】文字列の後ろの半角・全角スペースをtrimみたいに消したい

経緯 仕事で、文字列の末尾だけ半角・全角問わず消したいってことで色々調べてみたんだけど、 trimの実装パクって末尾だけ対応させたらいいんじゃね?みたいな そんなわけでtrimを調べてみたら、半角スペースにしか対応してなかった 最終的にこんなソースに…