パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

クイーンコントロール

2024-01-22 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
タイトルからしてチェスかな 最近この手のコントロールばかり作っている気がするけど気のせいかな 問題から入力のcolorをとって bをベビー とし wの変わりにhにしてヒューマン   クイーンがヒューマンをすべて捕食するのに最低何ターンかかりますかという問題作が頭に浮かぶ   . . . 本文を読む

MINI SHOGIのAIを32行で作成してみると暗号ができあがる

2024-01-21 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
CodinGameのcontributeにMiniShogiが上がっていたので参加 正式名称は5五将棋 最小のAIを25行でつくろうとしてみましたが駒の効きまで欲張って実装して縮めてもここが限界 詰めません 駒の効きと簡単な損得計算だけで戦います   リプレイのリンクです(すぐ消えると思います) https://www.codingame.com/replay/76 . . . 本文を読む

別宇宙でワームホールとの距離を図る

2024-01-18 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
気分的に宇宙を一人さまよいたくなって インターステラを題材にした問題の肝となる部分を解く   座標軸は i j k どうやら別世界の宇宙船に乗っている ワームホールへの向きと距離を求める   ワームホールの向きと距離を求めよ     この問題 文字列からi j kの位置を求めるのが面倒で問題の肝 そこだけ解いてみた &nbs . . . 本文を読む

DiceShogiを もすこし作る

2024-01-09 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
ダイスでどの目がでても、そこそこ戦えるを目指して改造   関数部1 エラー表示 盤面のキャラを変更 指定位置の駒の移動箇所取得 成処理 移動後の盤作成   関数部2 盤表示 盤上の指定駒たちの移動範囲を合成 各列で一番いいスコアの合計取得(これがやってみたくて全体を作成しています)   メイン 変数定義 メインループ &nbs . . . 本文を読む

ダイス将棋 世界3位になる

2024-01-08 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
ただの認証欲求の話。   2023年コドゲの秋コン、さあ最後の勝負に挑むかと思ったら終わっていた。 順位はピッタリ1000位、(その後1001位に下がってました 謎) 今回はファイティングゴールドを聞きながらのシルバーボスと壮絶な死闘はなし。   そんな中新しくダイス将棋が承認審査に上がっていた。 さっそく挑戦 今回はも、shortコーディングを目指してみる . . . 本文を読む

Pythonで書き初め

2024-01-01 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
Clash of codeの評価の10以上ある最近の良問を書き初めということで解いてみました。   問題 文字列をジグザグにつなげて一番長い蛇を答える   問題を正確に理解するまで時間がかかった   問題 肉と同時に焼けるプレートの数から 肉を焼き切る時間を答える 肉は両面1分30秒焼く   6行目はやや苦し紛れ   . . . 本文を読む

JavaとC#が、かなり似ている

2023-11-30 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
久しぶりにJavaとC#を使ってみて、すごく似ているという感想をもった 言語間でここまで似ているのかという感覚を持ったことがない   いままでC#とJavaを同時期に使ったことがなかったので気が付かなかった   感覚的に正しいのかなとChatGPTに聞いてみると どうやら間違っていないらしい   Javaにマイクロソフトが対抗して作成していた言語だった . . . 本文を読む

ChatGPTを使えば新規3000万人ぐらい余裕でプログラムマスターできるかも

2023-11-13 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
簡単なプログラムを書ける人材を1000万人ぐらい新規で増やせないかなとはじめてみた企画(日本人対象) その後ChatGPTが登場して今後どうなるのやらという状況   ローマ数値の足し算引き算の問題と遭遇する   こんな指針で作成開始 1)ローマ数値を普通の数値に変換 2)演算子を追加した文字列をevalで計算 3)最後ローマ数字に戻す   ローマ数 . . . 本文を読む

Python ぷよぷよのAIを4年ぶりに作ってみる

2023-11-07 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
CodinGameのSMASH THE CODE 4年前のプログラムをみてみる 2760人の参加者の中で629位 まあそんなに悪くもない その前にもぷよぷよ風のアルゴリズムを日本のコンテストで C++で書いた記憶があって、そこそこ連鎖させていたはず   4年前のPythonのコードはクラスまで使っていて350ステップほど しかしその対戦をみて愕然とする パット見弱い 連鎖す . . . 本文を読む

Python 文字列の指定位置変換の高速化 バイト文字列と文字列のリスト化の検証

2023-11-02 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
文字列をゲームボード用に活用するとき指定位置一文字だけを変更するとき 普段は17行目のようなことをする   もっと早くする方法 メモリを直接いじるような方法ないかなと ChatGPTさんとしばらく会話してみるとバイト文字列なるものを教えてくれたので検証してみる (6~12行)   一時的に文字列を一文字ずつリスト化してしてみたどうかと思ったので、そちらも検証 ( . . . 本文を読む

Python スライスを使って左回転

2023-11-02 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
生き残りゲーム 上下左右 端のラインに宇宙人がいなくなるとそこはブラックホール化する 各ターン自分の駒を全部上下左右に一方向に一つ動かす 動く方向につながっている宇宙人がいると押せる   開発の第一段階 最初に盤を回転させて右押しだけで計算を簡単にしようとパーツを作って 押すルーチンの構想をまとめたところがこちら ややこしそうな関数は設計のような記述してあとで置き換え . . . 本文を読む

ヘキサマップでラインコントロール 0.01%の人が生涯で一回使うかどうかのネタ

2023-11-01 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
ということでほぼ誰の役にも立たないだろうボトルメールを超空洞の片隅にある ミルキーウェイから流してみます。   Yavalathというゲーム ヘキサマップで先に4目並べたら勝ち 4目並ぶ前に3目並んでしまったら負け   まずヘキサのボード情報をこんな風にすると ライン判定が縦横と左上から右下の斜めで行えるようになる さらにボードを60度ずつ回転させたも . . . 本文を読む

不確実の未来予測にあんまり意味がなかった話

2023-10-19 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
Mad KnightsのAIをガチで練り直そうとして伸びる手を評価させ その先読みを強化してみるがまったく効果がでない   あんまり対戦させすぎるとコドゲさんに やりすぎと叱られるのでサーバーも自分でこさえることにした   一回対戦から複数連戦にする際にグローバルで使っていた データがいろいろと問題をおこし関数内でグローバル変数を 使わないように修正 &nbs . . . 本文を読む