nikeeshi のコーディング記

コーディングの成果をはっつけるとこ。このブログにあるソースコードはNYSL Version 0.9982に従い公開します(2014/06/18)。

個人開発におけるmonorepoのメリット

今日の駄文です。 僕はゲーム作りたいんだけど、UnityとかUEとかの大きな開発環境を勉強する気も起きないし、勉強してる間にやる気が尽きちゃうし、pixi.jsあたりの小さな描画ライブラリを使ってかるーく作りたいっていう気持ちがある。そうするとpixi.jsな…

Webpack 一番基本の設定

注意 この記事の質は保証しません。自分向けメモ。 やること webpack を使ってJavaScriptをバンドルしてHTMLに読み込む。 CSSはとりあえず無視。 ディレクトリ構成 JSファイルはsrc以下に置く。 ビルドが成功すると、dist以下にHTMLとJSファイルが生成される…

React練習はじめました

特に内容はないんですが、React-drillっていう名前でレポジトリを作ってReactの練習をしていこうかなって思ってます。 まあ仕事では使ってるんですが、好きなもの作れないので、好きなものを作る欲はこっちで満たしたいですね。 レポジトリ GitHub - nikeesh…

今日のHello World「React と GitHub Pagesを使って、静的ページを立ち上げるまで。」

追記 github のデフォルトのブランチが master ではなく main に変わったので、新しく作ったレポジトリに関しては読み替えてください。 create-react-app が npm ではなく yarn をパッケージマネージャとして使うようになったので、npm 関連のコマンドは逐次…

Googleの検索エンジンに期待を抱きすぎているのかもしれない

愚痴を書きます。 今日僕はこんな問題に直面しました。 問題 研究室のPC上のgvimでTeXで書かれたファイルを開くとTeXのコマンドの先頭はバックスラッシュで表示されます。 しかし、家のPC上のgvimで同じファイルを開くとコマンドの先頭は円マークで表示され…

コンビネーションとか二項分布とか三分探索とか

まえがき ちょっとハースストーンで遊んでいたら検証したいことが出てきたので、尤度を計算したよ。 そのときのコードです。何やってたかしりたかったらこっちも見てね ヨグ=サロンは果たして自分のヒーローの呪文を多く選ぶのか? - ふらふらHearthstone …

C#のコンストラクタでthisが使える文法は惜しい

C#のコンストラクタは引数の組み合わせの異なれば複数定義できる。(関数と同じ) C#には、あるコンストラクタから別の引数の組み合わせのコンストラクタを呼び出す方法が用意されている。 これは、コンストラクタを再利用できるので、コードの複製をふせぐ文…

C#のDrawRectangleとFillRectangleに関するメモ

前書き C#でDrawRectangleとFillRectangleを組み合わせて枠付き矩形を描画しようとしたらなんかずれるぞってなってちょっと実験してみた。 実験 x,y=50,60の目安を引いた(金色)。 黒の矩形はDrawRectangleで描画、矩形は(50,50,3,3)で指定。 赤の矩形はDra…

Visual Studio12.0のカスタムビルドステップについてのつぶやき

内容に入る前に まじめな内容だと思って検索してこの記事が出てきてしまったらごめんなさい。 代わりにmsdnの「カスタム ビルド ステップの指定」という名前のページでも読むといいです。 バージョン情報 Visual Studio 12.0 (つまりVisual Studio 2013) 動…

SRM635

250は整数問題にしてやるやり方とdoubleでやるやり方がありますが、doubleでやると誤差死します。 無理矢理、doubleで通しました。 Level1 #include <string> #include <vector> #include <iostream> #include <algorithm> #include <functional> #include <cmath> using namespace std; double eps=0.0000001; double</cmath></functional></algorithm></iostream></vector></string>…

追跡を滑らかにする問題

前書 問題設定だけします。頭をキレイにするためには問題を明らかにすることも大切でしょう。 動機 カメラで追跡するけど、カクカクしないようにしたい。 カクカクしないようにしたいけど、ちゃんと追跡したい。 問題 物体の動きはベクトルx(t)で与えられま…

カメラの追跡を適当に書いてみた

Unityの衝突判定

概説 Unityで、衝突判定をすると言えば、ColliderとRigidbodyを使うという方法があります。ただし、これは無茶がやりづらい仕様になっているので、全部Scriptで管理したい僕は悩んでしました。あるとき、無料のAssetを読んでいると、Physicsを使った衝突判定…

SRM628Div1

Easy TLEで落としました。遅いコードを書きすぎてしまった。 一応落ちたコードですが、載せておきます。 #include <vector> #include <cmath> #include <iostream> using namespace std; class DivisorsPower { public: long long powint(long long x,long long y){ long long ret=1; </iostream></cmath></vector>…

メモ:UnityのScriptableObjectで保存される値

前書き メモです。気にしないでください。 ScriptableObjectとしてPrefab化したときに保存されるデータの型 Stringは保存される。 Delegateは保存されない。 Interfaceは保存されない。 Abstract classは保存されない。 ScriptableObjectを継承したAbstract …

Unityでデータを扱うということ

注意 勉強中なので、適当(悪い意味)な事をかいてしまうかもしれません。許してください。 前書き 僕はOOPが苦手なので、なんでもかんでもクラス分割をしてしまい、無意味なクラスが増えてどうしようもなくなるということがよくおきます。 クラス分割をする…

コルーチンを使った状態遷移

前書き 読んでも何も得られません。 「難しいよ」ということしか書いてありません。 議題 ゲームの状態遷移をどう書くか 案1 状態をなんらかのデータで保持し、状態と入力の組から次の状態を返す関数をベースに記述する。 つまり、離散マルコフ過程のような…

右と左

動機 右と左に同じ処理をする場合、2回書くのはめんどくさいよね ってことで、書いてしまった。 概要 Unityで上のC#で動くコードです。 Unityじゃなかったら適当にコード変えればいい。 右と左という関心事の分離をしたよ。 あと、ついでにC#に参照はないの…

SRM626

久しぶりのC++過ぎて頭からC++の仕様がすっ飛んでいます。 やはり、C++といえど、仕様をまとめた自分用チートシートをつくらないといけませんね 250 ほんとにC++?と疑うようなコードです。 いちいち配列0埋めしてるし、まあいいけど。 #include <cstring> class Fixed</cstring>…

UnityでFrameRateを表示させてみた

あらすじ 某花札の会社のインターンを受けようと思い、急ぎ足でゲームを作り始めた。 構想は半年前からずっとあるので、困らないだろう。 とりあえず、FrameRateを表示するプログラム(ゲームプログラミングにおけるHelloWorldみたいなもの)を作った。 Unity…

C#の壁

Unityをインストールしたのだが、開発はC#かJavaScriptを使わなければならないらしい。 JavaScriptは人間の使う言語じゃないらしいので、C#を使うことになるのだが、僕はJavaを書くと頭痛に襲われる。 果たして、C#をストレスなく習得することができるのか!…

Unityをインストールした

ゲームを作りたいという動機がある。 だが、ゲーム作りのノウハウも何もわかっていない状態で、グラフィカルな部分をどうするかという所で、何を使うか迷う。 五里霧中の暗中模索である。 DirectX9、OpenGL、GLFW、DXライブラリと使ってみて、全てある程度の…

TCO14MRound1

注意 思った通りにうごきません!!! やりたかったこと スコアが変化するまでを1ステップとして、適当にビームサーチ。 セルの隣接記録を持っておくと、離れた場所のセルを交換できる。(昔に戻って入れ替えてくる) この性質を何とか使う。 やったこと(厳…

SRM617

戦績 easyは自分にしては早解き!! medium通らなかった。惜しい!悔しい! easy 最近ラムダ式でコードを書くのにはまっている。 イージー問題。 #include <vector> using namespace std; class MyLongCake { public: int cut(int n) { vector<int> s; for(int i=1; i</int></vector>

SRM607

開始に遅れてなければミドルもとけたはず。悔しい。 250 長さ最大5000の文字列の回文である部分列の個数の期待値を求める問題。 文字列の中に?があってそれは確率1/26ずつで各文字になる。 詰まった点 家に帰るのが遅かった。 入力がみじん切りにされている…

windowsでの環境構築自分用メモ

Q1. c++の環境は? A1. Visual Studio(c++の仕様無視するからつらい)。学生はDream sparkで無料だし、それ以外はexpress版を使うべし。 Q2. c++コンパイラ? A2. なにがいいのかね。使用頻度順に言うと、VC++,g++,ideone。clangを入れたい。 Q3. エディタ? …

格ゲー談義

注意 プログラミング的アイデアは出てきませんのであしからず。 あらすじ 昨日のこと。格ゲーはどうして面白いのかとか、だらだら談話していたら、「スマブラは格ゲーに入るのか」という話になっていった。終わり。

遅延情報ゲーム

前書 前々からぼんやりと考えてたことなんですが、形にしたいなと思ったので書きます。 まあコーディングとはあんまり関係ないんですけどねー。 格闘ゲームっていうと狭義的にはストiiの流れを汲むゲーム一般のことを指すと思うのですが、ここでは広義的な格…

SRM 590 Div1

Easy速く解かないとレートが維持できなくなってきた。 250 駒あそび? RとLの駒を移動させて目的の形にできるか問題。 コード #include <string> #include <vector> using namespace std; class FoxAndChess{ public: string ableToMove(string begin, string target){ if(so</vector></string>…

SRM 585 Div1

初のDiv1。 250 拍子抜けのEasy。まさにEasy。画像が読み込めなかった。 class TrafficCongestion{ public: int theMinCars(int treeHeight){ long long ans=1; for(int i=0;i