SP_memo

何処にも披露する見込みの無いものを書き捨てる場所

油分け問題 (C#)

private static readonly int CAPACITY_MAX = 10; //private static readonly int CAPACITY_MAX = 30; //private static readonly int CAPACITY_MAX = 100; private class State_t { public int Contain1; public int Contain2; public int MovedCount; publ…

自分用2

非常用。

自分用

削除予定だったけどこのまま置いておく。非常時のために

分数の構造体とつべで見つけた数学の問題 (C#)

分数のクラスとかあったら便利じゃねと考えて、標準にあるだろうと思ったら無かった。 演算子をオーバーライドしたので構造体 分子・分母共に BigInteger を使う。 using System; using System.Collections.Generic; using System.Linq; using System.Text; …

ぼくのかんがえたプログラミングの問題 (C系)

前につぶやきSNSに上げたけど、ここにも置いておく。 環境としてはC言語系統を想定。 64ビットを整数型の最大のビット数とする処理系において、 2^64(2の64乗)を引数xで割った余りを返す関数 uint64_t Modulo2P64(uint64_t x) { ... } を実装せよ。 補足: …

スライディングウィンドウアルゴリズム (C#)

数列 int[] arr が与えられるので、n 種類の値を含む最短の範囲を返せ 複数ある場合は arr の先頭に近い方を返すこと。 見つからない場合は null を返すこと。 制約: 1 ≦ arr.Length 1 ≦ n という問題を愚直に実装するとこうなる…… private Range_t Test01_…

またまたお題が出た

ほにゃ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Charlotte.Tests { public class Test0011 { public void Test01() { Test01_a(0.3); Test01_a(0.1); Test01_a(0.03); Test01_a(0.01); Test01_a(…

またお題が出た

しりとりで最長を得るアルゴリズムなんて研究しつくされてるんだろうけど、まぁ思いつかんので、力業。 ちょっと雑。間違ってるかも... (間違ってたので修正した) public void Test02() { Node_t[] nodes = Directory.GetFiles(@"C:\home\画像\HPキャラ立ち…

お題が出た(C)

解答 int GetYearByAlpha(int alpha, int minYear) { return minYear + ((alpha - 'A') - (minYear - 2001) % 26 + 26) % 26; } 検証用 #include <stdio.h> int GetYearByAlpha(int alpha, int minYear) { return minYear + ((alpha - 'A') - (minYear - 2001) % 26 +</stdio.h>…

CsvFile*.cs

RDBを使わずにCSVでなんとかしてみた結果できた副産物。 特筆するようなところはないと思う。 概ね自分用。 CsvFileDBTable.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using Charlotte.C…

フィッシャー・イェーツのシャッフル

長さ N の配列 arr = [ 0, 1, 2, ... (N-1) ] をシャッフルしたとき、どの要素から c = arr[c]; というように辿っていっても巡回する。 source: function Shuffle(arr) { for (let i = arr.length - 1; 0 < i; i--) { let j = Math.floor(Math.random() * (i…

奥沢は目黒区だと勘違いしていた話 (C# + 国土地理院の地図データ)

つい最近(と言っても数年前)まで東急目黒線の奥沢駅は目黒区か大田区だと思っていたのですが、ひょんなきっかけで世田谷区だと知りました。 まぁ勝手に思い込んでいただけだったので多少驚いて素直に納得したのですが、むしろ何十年もそのことに気づかなかっ…

Windowsで動くゲームの開発環境を公開してみる (C# + DXライブラリ)

先日書いた記事に便乗します。 ・・・というのも (C++) + DXライブラリ で書いていたゲームを C# + DXライブラリ に移植するというのを一昨年やって、これを使って何かすごいゲームを作ってやろうとここ数か月意気込んでみたものの、未だ目指すところが定ま…

棒消しゲームは先手必勝か後手必勝かどうかについて微考ペガサス

棒消しゲームについて 45mix.net 段数によって先手必勝・後手必勝が分かれるんじゃないかと思って確かめてみたらそうだったという話。 ちなみにこのゲームは引き分けの無い二人零和有限確定完全情報ゲームなので、先手必勝・後手必勝のどちらかになることは…

素数の列挙 (JavaScript)

前にもやったけど エラトステネスの篩をビットリストを使わないようにやってみたら、そこそこ気持ち悪い実装になったので、ここに残しておく。 下記コード中の Primes(max) 関数が max 以下の素数を小さい方から列挙する。 Primes はジェネレータなので Prim…

ブラウザで動くゲームの開発環境を公開してみる

先日作ったブラウザで動くゲームをサイトに仕立ててみた。 http://shield-games.ccsp.mydns.jp/entrance ・・・仕立ててみたものの、ゲームを充実させて人が来てくれるようになるまで大分掛かりそうなこととブラウザ版の Unity の趨勢に鑑みると、このままで…

ブラウザで動くゲームを試作した (JavaScript)

JavaScript でゲームを作ってみた。 JavaScript の習熟度に自信がなかったので、JS の知見を得るのと、こうやればゲームにできるよねという妄想が正しいかどうか確認するため、ちゃんとしたゲームよりとりあえず動く試作版レベルを目指した。今後はこれをち…

HTTPサーバーの作り方 (C#)

故あって HTTP サーバーを C# で実装したので、諸所改変して 1 クラスにまとめて、「 HTTP サーバーの作り方ステップ 1, 2, 3 」みたいにして公開してみる。 Visual Studio Community 2019 がインストールされている環境であれば 3 分くらいで HTTP サーバー…

C#のソースコードを難読化するツールを自作した(C#)

Java, C# で書かれたコードを (Java, C# のコンパイラで) コンパイルした実行ファイルの中身は VM 用の中間言語であり、逆コンパイルが容易であることが知られていて、そのリバースエンジニアリング対策として難読化があります。 C# で書いたゲームを公開す…

Welcome to Masshirosoft Helmet Service (C, telnet?)

(追記)当時のサーバーをかなぐり捨てたので今はつながりません。どうでも良いものをこしらえました。 以下で接続します。 C:\Users\User0001>telnet stackprobe.ccsp.mydns.jp src https://github.com/stackprobe/Factory/blob/master/Labo/Socket/telnet/He…

もうすぐ POSIX time が 1,600,000,000 になります

POSIX TIME ミリ秒 荒ぶる感じの 荒ぶる感じの(2) LINK http://ornithopter.ccsp.mydns.jp/HPStore/Hatena/20200905_PosixTime/t0001.html http://ornithopter.ccsp.mydns.jp/HPStore/Hatena/20200905_PosixTime/t0001m.html http://ornithopter.ccsp.mydns.…

.wavファイルからオーディオ・スペクトラム(.mp4ファイル)を生成する (C# + ffmpeg.exe)

タイトルどおり .wav ファイルから「オーディオスペクトラム」を動画 .mp4 として出力するプログラムを自作した。 某飲み屋のディスプレイのために作成させていただいたプログラムにオーディオスペクトラムの生成が必要だったので、そのとき作ったものの副産…

malloc/free は遅いというよくある話 (C)

昔ゲームを作っているときの話、テストプレイ中ときどきガクッ・ガクッと一瞬処理落ちすることがありました。 原因は malloc の呼び出しで、通常は計測しても処理時間は 0 [ns] なのですが 100~1000 回に一度くらいの割合で 1~10 [ms] も掛かることがあっ…

不思議な現象 (Visual Studio Community 2019)

不思議な現象に遭遇したけど、書き残す場所が他に無かったのでここに書く。 適当なフォルダ(ここではC:\temp)を作成して、以下の内容の a.c を作成する。(正しいコードなら何でも良い) #include <stdio.h> #include <windows.h> // 再現のためにこれが必要 main() { printf("Hell</windows.h></stdio.h>…

ポインタ

C言語のポインタってこんなことできるんだよという大人気ないこのコードを披露する機会は一生やってこないと思ったのでここに残しておく。 ちなみに、後から気づいたのだが ANSI C, Cxx などの規格的にやってはいけないことをやっている。 少なくとも 2_code…

HTMLのcanvasタグ

これを canvas タグに書き直してみた。クリックすると花が避ける。 Link http://ornithopter.ccsp.mydns.jp:58946/Hatena.html src https://github.com/stackprobe/Post2/blob/master/Conv/FlowerIndexHtml/src/Hatena.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script> console.log("花の画像に DES</meta></head></html>…

ラングトンのアリ

基本的なやつのみ src https://github.com/stackprobe/Annex/blob/master/wb/t20191106/t0001/t0001/LangtonAnt.cs 仕様 100x100 上下左右ループ 背景色 = 黒 動画 Length = 1:30 20 fps 100 step/frame LangtonAnt_000.mp4 初期位置 初期方向 色 50, 50 上 …

16bitのRSAを実装してみる (C)

昔実装した16bitのRSAが見事に間違っていたことに気付き、狼狽した勢いで書き直しました。 実用性はありませんが、仕組みを理解するために作成 仕様 平文 ... 16ビットの符号なし整数 (或いは2バイトのデータ) とする。 平文の最上位ビットを1にするなどして…

自動生成したRPGのダンジョンマップをゲームにしてみた (C#, DXライブラリ)

ダンジョンマップを自動生成するで自動生成したダンジョンマップを使ったゲームを作った。 昔の3D 2Dで3Dっぽく見せるやつ。真メガテンみたいな。(もちろん実装したのは迷路だけ、他の要素は何もない) とりあえず動くことを目指した。ゲーム性は二の次 ダウ…

三すくみ

二次元テーブルに (0, 1, 2) をランダムに配置して 三すくみで(じゃんけんの関係のように)侵食 隣り合う2つのセルをランダムに選んで 0 の隣が 1 だったら 1 を 0 にする。 1 の隣が 2 だったら 2 を 1 にする。 2 の隣が 0 だったら 0 を 2 にする。 という…