ラベル C# の投稿を表示しています。 すべての投稿を表示
ラベル C# の投稿を表示しています。 すべての投稿を表示

2022年2月20日日曜日

Perforce環境を作ってみよう

今年は何か作りたい。プログラムで。

と思いつつ、気づいたらもう2月も過ぎ去ろうとしていますよね。
2月が終わるということは、1年が1/6も過ぎてしまったということだ…。

作るべきアプリは全く進んでないというのに。

Androidアプリはテストでたくさん作ったことがあるので(リリースしたことはない)今更感はあるが、初心に戻るということで、Udemyのアプリの講座を1つ受講してみた。

まだ動画3つくらいしか見てないけども。

で、そっちはさておき、作りかけだった、C#のツールを再度いじり始める。
これは、本当にただのツールであり。

もう20年以上、Javaで作ってきた各種ツールをC#に移植しているだけである。
個人のツールだし、別にJavaから脱却する意味も必要もないのだが、なぜかC#に移植している。

ま、頭のトレーニングというのが正しい動機だろう。

で、ちょこちょこいじり始めるのはいいのだが、開発途中は、やはり、あっちに行ったりこっちに行ったり…で、ソースがぶれまくる。

これを回避するには…バージョン管理しかないだろう。

以前、GoogleDriveとSVNとつなげて環境を作ったことがあるのだが…。
死ぬほど遅かった。
やはり、(当たり前だが)外部ドライブはダメだ。

というわけで、ローカルのみで構成してみることにする。
また、仕事でしようしているのが、Perforceだったので、今回はそっちを構築してみることにした。

なんと。
こんなに良い解説を書いてくれているページがあったので、こちらを参考にさせていただくことにした。

ローカル環境のみでPerforce+P4Vを使用できるようにする
https://effect.hatenablog.com/entry/2020/08/22/134916


…という記事をさっき書いたのだが。

めっちゃ簡単すぎる!!
ホント、ダウンロードしたと、サクッとインストールするだけで使えるようになったわ!
もちろん、仕事でちょっと使っていた知識があるのも大きいんだけど。

仕事で使ってるのってクライアントの方だけだし、サーバーの設定も個人用だとこんなに簡単にできるのね。

そして、C#のプロジェクト一式をsubmitしたけど、修正のsubmitやロールバックも早い
これはいいわ…!!

2017年5月9日火曜日

Visual C# / その3

前回、VisualC#の基本的な罠に色々掛かってしまったわけだが。

その辺を回避したら、サクサク作れる。
オブジェクト指向などは、Javaで散々やってきているので、
C#独特の解放(デストラクタ)周りの、ガベージコレクトを何とかすれば良い。

それも、基本形は公開されているものをコピペでOK。

Javaで作っていた各種ツールを移植しようと思ったが、
基本部分を作ってから出ないと、気がすまないので…。

まずは、実行ログを出力テキストエリアと、結果を効率よく表示するための、
タブ切り替えを設置。
ファイル読み込み/書き込みのユーティリティは既に作ったので、
ソレを利用して、ツールのオプションを自動保存する機能も追加。

これらも、そこまで悩むこともなく、追加できたので、ようやくツール本体へ。
ツール本体を作成するには、画像の合成が必要だが、先に作っていた独自イメージクラスで基本はOK。
塗りつぶし処理を追加するくらいでできた。
(Javaでいうところの、Paint が、Brushになっている程度)

そこで、100枚程度の細かい画像パーツを1枚のテクスチャに敷き詰める処理を移植。
Javaでは、独自にクイックソートAPIを作成していたが、C#でのその部分は、LINQを使って楽をする。

サクッと単純移植した結果、1枚の生成に3秒かからないくらい。
これ、Javaとそんなには違わない。
だがしかし、アルゴリズムに改良の余地があることは分かっていたので、それを実装した結果…。

50ミリ秒。

そんなもんさ!
いくら、頑張って最適化しても、ちょこっと速くなればラッキー。
もちろん、そのちょこっとが必要なときもある。

だが、大抵は、アルゴリズムの改良の方が効果的なのだ。

50ミリ秒より速く…はできないだろうなぁ。


2017年4月27日木曜日

Xenko / その3

ようやく、Xenkoのプロジェクトが起動できた。

…というか、起動の一歩手前まで行った(笑)

昨日、大量のエラーが出ていたのだが、各種設定を見直して、
最低限のエラーだけが出るところまで修正。

その結果、Microsoft Biuld Tools の最新版が入ってないからでは?
という結論に。

ネットを探しまくって、ようやく、最新版をGET。
C#のToolsを入れてみたら、プロジェクトの作成は問題なくでき、
Xenkoが起動した(Unityっぽいツール画面が一瞬表示された)。

その後、

「Xenko Game Studio は動作を停止しました」

というあのウインドウが出てあえなく終了。
まだまだ先は長そうだ。

2017年4月25日火曜日

Xenko / その2

インストールについては、全く問題なく終了。
自動的にランチャーが起動し、最新バージョンのインストールも問題なく完了。

テンプレートやサンプルがたくさんあるが、
まずはサンプルゲームがあるので、そのプロジェクトを起動してみよう。



クソツールwww
サンプルの起動でこのエラー。
横のスクロールバーを見れば分かるとおり、大量のエラーですよ!

なにこれ。

その他のプロジェクトを作ろうとしても、全部このエラーが出る。
もうこの時点で、やる気0。

Unityはサクッとプロジェクト作れたぞ。

Unity、C#と来て…

Unityを触りつつ、C#のおさらいをやっている最中ですが。

新ゲームエンジンがリリースされました。

C#で開発できるオープンソースのゲームエンジン「Xenko」が4月25日にリリース。個人利用は無料で,Pro版も7月まで無償
http://www.4gamer.net/games/378/G037845/20170425022/

C#で開発できるゲームエンジン!
使いやすさ、機能性などで、どこまでUnityに対抗できるのか…?

早速インストール中。
以前触ったものでは、一応2Dも作ることはできたので、
その辺りも、Unityに対抗できそうではある。

ここまで広がったら、Unityでいいじゃないか、とも思うが、
Xenkoは、一応「オープンソース」らしいじゃないか。
つまり、バグFixやカスタマイズも自分で可能…なはず。

あ、.NET FRAMEWORK4.6.2を要求されたので、サクッとOKしたが、
これ、Cドライブに入るんじゃないか…。
容量が…。

…。
インストール完了。
Dドライブにインストールできたから、Cドライブは殆ど無傷だったが…。


いまどき、本当に16MBで済むんか?(笑)


ランチャーから、Xenkoを起動した直後の画面。
プロジェクトのテンプレートが並んでる!
2Dゲームっぽいのがないな。
TOP-DOWN RPGってのがそれかな?

センサーデバイスのサンプルや、物理系のサンプルもあるな。
Unityと違って、参考書がないから、YouTube漁ったりしないと、サッパリワカランね。


2017年4月22日土曜日

Visual C# / その2

とりあえず、簡単なフォームパーツを配置して、アプリを作ってみる。

以前(5年以上前)には、ボタンを押したら、45度回転するフォーム、なんてのが15分もかからず作れたし、実際今でも、超簡単だった。

…のだが。

なかなかに酷い罠にはまったので記録しておくことにした。

まず、基本である、Windowsフォームアプリのプロジェクトを作成する。


そして、ツールボックスから、必要なパーツを配置していく。


ここのまま作っていけば、問題はない。
…のだが。
例えば、ボタンを押したときの機能を作りたければ、ボタンをダブルクリックすると自動的にコードが挿入される。それはいい。

だがしかし。
なぜか、ラベルをダブルクリックしてもコードが挿入される。


正直、ラベルをクリックさせる仕様を作るヤツがアホなので、ラベルをクリックさせる必要は全く無いのに、この仕様。

しかも、配置したパーツから、一度「label1」を削除して、次のラベルを配置すると、
同じ「label1」という名前で配置される。
だが、それをダブルクリックして挿入されるコードは、


このように、違う名前で生成される!なんてこったい。
この画像で言うと、上の赤い四角のAPIは、全く使われないゴミコードだ。

しかし、こういうことを繰り返すと、どれがゴミコードか分からなくなることもあるはず。

で、ゴミコードじゃないコードを削除してしまうと…。


というエラー画面が表示され、結果、


パーツ配置がリセットされた!!


これを回避するには。
この部分を展開して、コードを全て表示。


各パーツに関するブロック内にある、一番下の部分。
この行とクリック処理のAPIを削除すれば、エラーが出ずに、コードを削除することができた。

配置したパーツがリセットに、ゴミコードを挿入…。
なんだこのツール…。


2017年4月19日水曜日

Visual C#学習中

学習中といっても…。
もう20年Javaをやっているので、内容はあっという間に頭に入っていく。

Java Swingを使って、パーツを配置していくのに比べたら、
Windowsのフォームの配置なんて、寝ながらできるレベル。

で、参考書として買ったのが、これなんだが…。



総ページ数800以上!
全ページフルカラーで、2016年10月1日初版!
Windowsアプリはもちろん、スマホアプリまで解説してくれて、3500円程度って安いジャン!!

と思って買ったのだが…。
正直ヤバイ。
最初は笑っていたのだが、だんだん腹が立ってきた(-_-メ)

何がヤバイって、誤字・脱字・解説ミスが多いのなんの。
プログラム初心者向けなので、いわゆる変数や四則演算から解説しているのだが。

たとえば、73ページの以下のコード。

int x;
x = 1;

int y;
y = x;
y = 10;

Console.WriteLine(x);
Console.WriteLine(y);

これで、コンソールに、xの値として100が表示されます
なんて、書いてあるんだぜ。

109ページから、簡単なサンプルとして、金額に対する消費税金額を求めるプログラムの解説が始まる。
115ページのコードでは、確かに消費税率として、0.08という定数が書かれているのだが、次のキャプチャ画像では、50000円に対する消費税額が2500円になっている。

この時点で、この本が消費税率5%のときに書かれたものであることが分かる。
消費税が8%になったのは、2014年1月。
2016年10月初版って、最大3年近く掛かってますねぇ。それでこの内容。

他にも、消費税を切り捨てじゃなく、四捨五入にしたい場合は、この後のHINTを見てね!と書いてあるが、そんなHINTがなかったり…。

配列についての説明で、194ページに、

privateint[] array = new int[5];

という謎の型が登場し、197ページのコード解説では、

praivateint[] array = new int[5];

と、綴りすら間違えてるレベル。
ここで、怒りのブログ投稿ですよ(苦笑)

いやホント、もっともっと多いのよ!
解説がおかしかったり、日本語になってなかったり…。

本気で、乱丁・落丁として、取り替えて欲しいんですけど。