Gaming Life

一日24時間、ゲームは10時間

C++

OpenSiv3D C++ 反射ベクトルを計算して玉の反射を実現する1

OpenSiv3Dのリファレンスにはブロック崩しのサンプルがある。 https://scrapbox.io/Siv3D/%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%8F%E3%81%9A%E3%81%97 このサンプルでは玉が壁 or ブロックに衝突した時、玉の速度ベクトルのX成分もしくはY成分を反転…

C++で浮動小数点の誤差を考慮して等価比較する

C++

<cfloat>ヘッダ中にあるDBL_EPSILONを使えば誤差も考慮して2つのdouble値の等価比較ができる。 float型ならFLT_EPSILONを使えばよい。 #include <cmath> #include <cfloat> //double型のaとbを誤差考慮して比較する bool NearlyEqual(double a, double b) { return abs(a - b) < DB</cfloat></cmath></cfloat>…

ほんの少しだけラクに、C++でAtCoderに参加するバッチファイル作った

先々週のABCからAtCoderを始めた。 前回参加時はたまたまTwitterを見ていた時にコンテスト開催中だということに気づき、折角だしやるか、と衝動的に参加したため、VS2017で書いて、動くかどうかは実際提出してみて試す、なんて非効率な事をしていた。 折角や…

UE C++ UActorComponent継承クラスの子Blueprintクラスを作成できるようにする

UE4エディタ上でUActorComponent継承クラスを作ると子Blueprintクラスが作れない問題。 自動生成されたコードはこんな感じ UCLASS( ClassGroup=(Custom), meta=(BlueprintSpawnableComponent) ) class UTestActorComponent : public UActorComponent { GENER…

Qt5 QListViewのダブルクリック編集を無効にする

最近Qt5を触ってるのでそのメモ。 QListViewにQStringListModelを突っ込み、リストビューを作るのはそんなに難しくない。 #include "mainwindow.h" #include <QLayout> #include <QString> #include <QStringListModel> MainWindow::MainWindow(QWidget *parent) : QWidget(parent) { QListView *</qstringlistmodel></qstring></qlayout>…

GitHubアカウント取った/VS2017でリポジトリ作成時エラー

といっても昔大学の講義の時に取ってたのだが。当面はSiv3D/OpenSiv3Dでの開発に利用すると思う。 github.com VS2017でリポジトリ作成時、以下のエラーメッセージが表示された。 リモート リポジトリの複製を作成中にエラーが発生しました: Git failed with …

Siv3DとC++と近況と

プログラマー志望なのにUE4のBPに頼り切りでほとんどコーディングしないのは如何なものかなーと思い最近時間が空いた時はC++ポケットリファレンスを読むようにしている。で、そろそろ何かC++で作りたいなーでもいきなりDirectX/OpenGL直で触るのはハードル高…