chevron_left

メインカテゴリーを選択しなおす

cancel
パーソナルブログメモリ https://blog.goo.ne.jp/field_light

個人的な簡易記録です。コンピュータ関連をメインでやってます。ようこそ!いらっしゃいませ。

パーソナルブログメモリ
フォロー
住所
未設定
出身
未設定
ブログ村参加

2018/06/05

arrow_drop_down
  • プチコン4でWindowシステムを2時間で作ってみる

    名付けてWindow2hourこんな動きをします。基本構想と目標と技術的調査Windowの作成大変だなと思っていた時にスプライトにすれば自由に配置できない?と思ったのが作成のきっかけです。技術的難題と思っていた箇所をたまたまみつけたfontinfoという関数が一気に解決文字列のGRF5画面位置を教えてくれます。コアとなる関数群GRF4画面の右半分にWindowを書き込んでそれをスプライト化して使っています。透過を防ぐために、23,24で透過しない黒を書き込んでいます。windowsetwn,as,w,hウィンドウ番号、表示文字列、横の文字数、縦の文字数テストとかざるですがウィンドウは0-23の24枚まで作成できるはずです。スプライトは初期設定がイチゴ群の場所を使っています。実装箇所(一番上の動画)蛇足再定義の際...プチコン4でWindowシステムを2時間で作ってみる

  • シンプルな問題を解く

    スペース区切りを逆順に表示スペース区切りの数字の文字列の最大値を最小値で割る(切り捨て)スペース区切りの数字の間に前側の数字の数だけドットを入れるフォルダ名をnumの数、ファイル名、拡張子名が与えられそれっぽく表示するバス停がnあって各バス停の乗り降りの数が与えられます終点で乗っているのは何人こんな文字列が与えられますabcaだとabcaabobobonだとbobboobbbooonaaaabcaだとaaaaaaaaaabcaaaaadoorだとdooorルールを発見して解答するプログラムを書いてくださいシンプルな問題を解く

  • マインスイーパーの問題を作る問題に問題があった話

    問題文がこちら、google翻訳だと意味がよくわからないXYのランダムでの取得方法が答えとなかなか合わない。しかたがないので解答から逆算して表示して1つずつ照らし合わせても合わない。とうとう奥の手として出題者のC++の解答例から確認してみるが作り方はあっていそう。ふとみるとこの問題、ディスカッションが非常に多いコメント54件。読んでいると乱数生成で使用しているC++言語の型が32ビット以上で桁あふれをおこして小さな値に途中から置き換わってしまいずれるらしい。8行目のような生成方法にしないとダメらしい。他の言語の桁あふれバグを実装にいれなければならないとは、厳しい。よく読むと問題文に書いてはあるマインスイーパーの問題を作る問題に問題があった話

  • 英単語を音節で分ける

    母音の関連によって、単語を音節で分ける問題ルールはこちらアプローチとして配列を自在にくっつけるプログラムっておもしろそうと作ってみる。母音と子音同士のくっつきを簡易にしたつもり。くっつける主体から分割主体に作り方を全く変えてみる。next_pは作ってみたけど、その最中に不要にできると気がつく。なくして完成コメントの位置変更と不要な確認用の表示を削除変数名の簡略化とやる気スイッチが入り始める。こうして、やりすぎ版が完成。英単語を音節で分ける

  • マイコンをプログラムで作成する手順の備忘録

    どんな手順で作成したのかの備忘録です。コツはできる命令から作り始めるでしょうか。入力の整理28行目(以後行目省略)内部パラメータ29移動15、16get関数を作っていますが最初は作成しておらず。ベタにif文を連ねています。メインルーチン30計算17、18最初はひとつずつjumpとラベル19、8このマイコン、ラベルの後ろに通常の命令を入れられる仕様でとまどった苦肉の策が8行目の一行のコードのずらし作業コメント9コメントとラベルの後ろが空の時対応条件分岐10、11、12+-を2つのスイッチで判断20、21、22、23スイッチを2つのパラメータの比較で切り替え桁制御24,25accのn桁を取ったり設定したり出力調整31限界値があるので微調整完成後のメンテ共通ルーチンの関数化1、2、3変数名の修正少しでも妥当に少しでも...マイコンをプログラムで作成する手順の備忘録

  • マイコンの中身をコーディングする問題

    マイコンの簡易シミュレータの問題がイベントであったので参加してみました。何度か同じような問題は解いたことがあるのでテストケースを参考になんとか完成。(ただし仕様を完全にシミュレートしている自信は、まるでなし。)特に条件のあたりけっこうステップ数が多くなったので、また縮めたい病を発症。複数のパラメータを三項演算子でまとめられないかなと試してみて、タプル使えばできました。いけるかなーという発想が大抵できるのがPythonの凄い所コンピュータの実際の中身も三項演算子の嵐なのかなとか思ったり。マイコンの中身をコーディングする問題

  • プチコン4の作品を公開してみる

    ここ2,3日でプチコン4の作品を作って公開してみる。銀河旅団岩石浮遊惑星4VK4VE39J数日前なぜか急激に何か作らねば病にかかる。SwitchLiteだと余計な手間がかかるので思い切ってSwitch買おうかとか考えだしたが一旦とどまり、Liteで作ってしまおうと開始する。エディタのフォントサイズ中ならばなんとかできそう。何を作ろうか考えて、スクロールアクションに決定TPUT、TOFS、TSCREENを利用して背景をこさえる。多重スクロールを検証してみる。当たり判定としてTARRAYを利用してブレゼンハムのようなもの自作して1つづつ当たり判定。汎用関数を20個ぐらい作成。設計がうまければ10行未満(平均5行)の汎用関数だけでゲーム作れるかもなんて考えも浮かぶ。プログラムの難所はやはりめり込み対応何度作ってもなか...プチコン4の作品を公開してみる

  • 省略系はめんどい

    bn+cの式の時n1,2,3,4が渡された時の4つの数列が与えられbとcの正しい組み合わせをbn+cの形式で答える問題。bn+cはもちろんbxn+cの事力攻めで解いたのがこちらbとcを求めるより省略の場合わけのほうがめんどうです。システム開発だと、こういったルールが手ごわかったりします。省略系はめんどい

  • ゲームオブスローンズの間違った見かた(一話であきて、最終話からみる)

    まず、シーズン8の1話を見始める。10分程度でなんかあきる。amazonプライム高速再生がない。字幕とかも自由に選択ができない。いかんいかんシーズン違うじゃないかとシーズン1から見始める。20分程度でなんかあきる。いまひとつファンタジーにもえない。imdbで各話の評価を見る。最期だださがりだったのはぼんやり覚えている。最終話の評価は4.0いったいどんな大失敗をしたのかと最終話を見始める。1時間20分いように長い一話でとても見終える自信なし。なるほど釈然としないけどこう落ち着くのかと思っていたら突然ばっさり。もう戦争まっぴらという方向で落ち着きあるものは新天地へあるものは厳しい地へどことなくヴァイキングと似ている。(実際の制作はヴァイキングのほうがあと)そしてシーズン1の第一話を振り返ってみる。最初の話と最期の話...ゲームオブスローンズの間違った見かた(一話であきて、最終話からみる)

  • 小さな開発の失敗

    名前が2つずつ並んでいて、名前と思いをよせている名前が入力でともに思いをよせている人たちを表示する。仕様の確認もれ等で何度も失敗します。名前の表示順は最初に登場した順ということでマッチが確認できた順ではないので練り直し。仕様の把握もれマッチしたものを上げていったため重複してしまう。絞り込みのミス中には名前のみの行があるようで一部練り直し。データ認識不足付け足し付け足しで作ると余分な変数が増えがち。メンテ大変少し練り直して完成。最期のプログラム自己採点は70点ぐらい。こういうことよくあります。小さな開発の失敗

  • 25%を先に取れ

    世の中25%を取ったもの勝ちであり。いなければ混沌-1である。25%は先に取ったものが優先である。そこで都度、調査をしてみる。彼の辞書に25%は存在する。数字はソート済みという情報で別の次元に飛んで見る。25%を先に取れ

  • パターンマッチ(IPアドレスが妥当か判定する問題)

    IPv4ならよくみかける問題、IPv6は初めて見る。ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffffとなるよう。文字列のパターンマッチを作成。IPv4の数値は0から255で0以外の先頭0消しだったので一部作り直すパターンマッチ(IPアドレスが妥当か判定する問題)

  • 周期の長さを計算する問題

    1行目文字列の入った配列から文字コードCが存在している文字列の最大の長さを返す関数2行目問題の文字列を縦棒で区切った作成した配列から”と_の最大の長さと2を加え表示("という文字はchr(34)で表現、Python'"'でもOKでした。)将来、上の2文からプログラムに翻訳している。さらに将来、問題の英文からプログラムを作成している気がする。周期の長さを計算する問題

  • 辞書で同時に置き換える

    アルファベットの一部を似た数字に置き換える問題。置き換えるパターンを書き出すのが億劫だったのでテストケースから一番網羅してそうなのをコピペする。颯爽と間違える。逆もあるのか...ということで辞書を作って一文字ずつ変換に修正。辞書で同時に置き換える

  • フィボナッチ数のようなものを再帰関数で解く

    レオナルド数という問題を解く。たぶん造語。調べるとフィボナッチはレオナルド・ダ・ピサが本名でフィボナッチという名前は後の数学史家が間違えて作った名前でフィボナッチ数自体はインドにあったらしい。インドにあった数列をピサさんが紹介して有名になって、さらに後世の人が彼はフィボナッチだ!と紹介してフィボナッチ数になったらしい。将来間違いが少し補正されてヘーマチャンドラ数とかヴィラハーンカ数になっている可能性はある。ヘーマチャンドラを調べるとカリ・ユガの全知者の称号を持っていたそう。解いた問題はこちら2行にしてみました。フィボナッチ数のようなものを再帰関数で解く

  • Count islands(島を数える)問題

    *が海を表し、アルファベットが島を表す。縦横隣はつながっているとみなして、島を数える。地図の例はこちらここで作成しているisland関数のような探索アルゴリズムはこのブログでも20回ぐらいは登場してそう。迷路探索、囲碁の取り判定、枠内の塗りつぶしなどに使えます。いろいろな問題とコンテストでこのアルゴリズム100回は書いていると思います。解きすぎているので、countislandsというタイトルをみただけでたぶんこういう問題だろうなと推測していて、頭の中ではプログラム書き終わっています。Countislands(島を数える)問題

  • うさぎさんが安心して橋を渡れるように修理する問題

    私たちのペットのうさぎさん橋を渡りたい。ついてないことに橋の板がいくつか失われてます。うさぎさんは橋の板1つぶんなら飛び越えることができます。あなたはうさぎさんが橋の渡れるように板をおいて助けてあげてください。必要最低限の板の数をお答えください。追記うさぎさんが安心して橋を渡れるように修理する問題

  • 与信に踊らされる

    サクラいんたーねっとから、こんなメールが届く平素は弊社サービスをご利用いただき、誠にありがとうございます。さくらインターネットabuse対策チームでございます。与信失敗により失効を回避するため、以下URLより現在のお支払い情報をご確認のうえ、更新をお願いします。また、大変申し訳ございませんが、ご契約中のサービスに対しては、利用の制限(通信の停止)を行っております。こちらについては、ご本人様の確認が取れ次第解除させていただきます。年会員ですでに払った後に(2ヶ月経過)なんだよabuseって。引越して銀行とクレジットカードの住所変更は、まだしていなかった。こまったことに岩国では東京でメジャーな銀行の支店が全く存在していない。そこで住所変更の怒りのデスロードが始まった。(もともとむしの居所も良くなかったのもあります)...与信に踊らされる

  • Python3でビットボードを使う

    盤面にルークどうしが1回の移動範囲であたらないように最大何個配置できますか問題。サイズは5x5まで、#は壁。5x5のサイズ25のビットボードを使った検証今後問題の解き方としては、各位置に置いた時の移動位置を作成してビットボードに変換。パスファインディングで一個ずつ置けなくなるまで検索。最大を最後答える。サイズが5x5までなので時間内に解けるかが厳しそうな問題。Python3でビットボードを使う

  • Random Walk

    この宇宙がランダムだとするとランダムウォークはスタートレックと同じような意味になる。人はちょっとしたランダムウォークからみたこともない景色に遭遇することもまれにある。へたをするとそこには戻れないこともある。正確なランダムは人間には作れない気がする。そんなランダムウォークの問題原点から指定のランダム生成を使ってランダムウォークをして無事に帰還できるまでの歩数を答えるといった問題。test5相当迷走している。このパラメータを探し出すのはかなり大変だったに違いない。作ってみると、そうでもないらしい。RandomWalk

  • 既存の命令にまかせて、あんまり計算しない

    バイナリーの数字が並んでいて、その中で最も長い1の数とそれが1並びのグループの何番目にあるか答える問題。グループの何番目の数え方は1からとする。最初の解答もう少し計算しない方向に修正してみます。既存の命令にまかせて、あんまり計算しない

  • FizzBuzz問題を三項演算子とかリストで解く

    Python3のprintは強力で数値、文字、リスト、タプルなどカンマで区切るだけで表示してしまいます。三項演算子で解くとこんな感じ。最初bを使わずaだけで処理しようと検討、作った後aいらなくなったことに気がつく。Python3のリストは強力で数値、文字、リストとかクラスとか混在できます。リストを使って解いた例[i%3==0]とかはTrueの時リストの1番目Falseの時0番目を取得します。FizzBuzz問題を三項演算子とかリストで解く

  • 問題を解く

    CodinGameのClashofcodeを解く4問ほど(1)n番目の素数を答える問題(2)与えらせた数字から最大の回文数(数字の順番をひっくり返しても同じ数になる)になるように並び替える。数字を小さい順に並べて、両側に足していけばいいと思ったのですが、中心に一個数字があるケースの考慮漏れです。中心を最初に見つけるように修正します。(3)温度tのポットが温度dに到達するのは何分後、一分ごとにc度あがります。端数は切り上げです。ループで解いてみました。rangeをenumerateでくくったのは人生初。(忘却していなければ)(4)駒の情報と移動前、移動後の盤面の情報から指し手を表示する問題。移動前後の盤面にノイズが入っているそうです。駒の情報からノイズフィルターの処理も必要みたいです。駒の情報を利用して、駒の情報...問題を解く

arrow_drop_down

ブログリーダー」を活用して、パーソナルブログメモリさんをフォローしませんか?

ハンドル名
パーソナルブログメモリさん
ブログタイトル
パーソナルブログメモリ
フォロー
パーソナルブログメモリ

にほんブログ村 カテゴリー一覧

商用