パーソナルブログメモリ

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

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 . . . 本文を読む

初期配置自在のChessのAIを作る

2023-10-16 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
CodinGameにChess Messというゲームが投稿されていたのでAI作ってみました https://www.codingame.com/contribute/view/73770c8a187dd663d2584bf1606de430f1d32 しばらくしたらリンク先変更になると思います   まだシステム事体が作りかけで入出力が説明と実際で異なっているため 固まってか . . . 本文を読む

変革が起こり、つかの間の天下を取る

2023-10-14 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
MAD KNIGHTが3人対戦になって帰ってきた 入力項目が一つ減ったため最初は最下位に落ちていた ソースはスレッド化(マルチプロセッサでないため意味ない)されて わりとぐちゃぐちゃな状態   まず後手の時まねするロジックをコメント化 Pythonはコメント化の”””もインデントがずれているとエラー   次に全く動かない原因を . . . 本文を読む

ポーカーのようなダイスゲームのAIの作成

2023-10-06 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
簡単なルール ターン ダイスを6個振る ポーカーのように得点があってパスするか一部残して再度振るか決める 各ターン再々度まで振ることができる 再度振る場合得点が上げることができなければ0点になる上がればこれまでの得点にさらに加算   勝利条件 10000点先に取ったら勝ち   役 123456は1500点 1が3つで1000点 1つ増えるごとに追加1 . . . 本文を読む

ミニPC AIを勝手2手読みにして無敵にしてみる

2023-10-01 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
CodinGameのFlood-It!というゲームの作成AIのご紹介です   ルール 左上と右下から互いに自分の陣地の色を変えていきます 隣接する同色陣地を増やしていき先に半分の陣地を確保したほうが勝ちになります 陣地の色の変え方は現在の自分と相手の陣地の色は選べないという条件があります   プレイ画面   最初に作成したもの 隣接する中で一番 . . . 本文を読む

CodinGame Summer Challenge 2023をやってみる

2023-09-15 | 新規1000万人ぐらいにプログラムをマスターしてもらいたい
制限時間48時間で10問解くらしい 13時間ぐらいから参加   CodinGame Summer Challenge 2023 コンテストは終わったけどリンクから問題を解くことはできる   問題に触れることはよろしくなさそう もともと企業向けのテストに使っていそうな雰囲気   問題文が英語でコピペ不可 翻訳ができないので最初の問題からかなり疲れる . . . 本文を読む