久しぶりにJavaとC#を使ってみて、すごく似ているという感想をもった
言語間でここまで似ているのかという感覚を持ったことがない
いままでC#とJavaを同時期に使ったことがなかったので気が付かなかった
感覚的に正しいのかなとChatGPTに聞いてみると
どうやら間違っていないらしい
Javaにマイクロソフトが対抗して作成していた言語だった . . . 本文を読む
CodinGameのbot programmingにMad Knightsが昇格していた
https://www.codingame.com/multiplayer/bot-programming/mad-knights
少しJavaを試運転しておきたくて
Javaで簡易AIの作成を開始
ChatGPTに作成にあたって質問した一覧
javaで文字列のn番目 . . . 本文を読む
簡単なプログラムを書ける人材を1000万人ぐらい新規で増やせないかなとはじめてみた企画(日本人対象)
その後ChatGPTが登場して今後どうなるのやらという状況
ローマ数値の足し算引き算の問題と遭遇する
こんな指針で作成開始
1)ローマ数値を普通の数値に変換
2)演算子を追加した文字列をevalで計算
3)最後ローマ数字に戻す
ローマ数 . . . 本文を読む
CodinGameのSMASH THE CODE 4年前のプログラムをみてみる
2760人の参加者の中で629位 まあそんなに悪くもない
その前にもぷよぷよ風のアルゴリズムを日本のコンテストで
C++で書いた記憶があって、そこそこ連鎖させていたはず
4年前のPythonのコードはクラスまで使っていて350ステップほど
しかしその対戦をみて愕然とする パット見弱い
連鎖す . . . 本文を読む
文字列をゲームボード用に活用するとき指定位置一文字だけを変更するとき
普段は17行目のようなことをする
もっと早くする方法 メモリを直接いじるような方法ないかなと
ChatGPTさんとしばらく会話してみるとバイト文字列なるものを教えてくれたので検証してみる
(6~12行)
一時的に文字列を一文字ずつリスト化してしてみたどうかと思ったので、そちらも検証
( . . . 本文を読む
生き残りゲーム
上下左右 端のラインに宇宙人がいなくなるとそこはブラックホール化する
各ターン自分の駒を全部上下左右に一方向に一つ動かす
動く方向につながっている宇宙人がいると押せる
開発の第一段階
最初に盤を回転させて右押しだけで計算を簡単にしようとパーツを作って
押すルーチンの構想をまとめたところがこちら
ややこしそうな関数は設計のような記述してあとで置き換え . . . 本文を読む
ということでほぼ誰の役にも立たないだろうボトルメールを超空洞の片隅にある
ミルキーウェイから流してみます。
Yavalathというゲーム
ヘキサマップで先に4目並べたら勝ち
4目並ぶ前に3目並んでしまったら負け
まずヘキサのボード情報をこんな風にすると
ライン判定が縦横と左上から右下の斜めで行えるようになる
さらにボードを60度ずつ回転させたも . . . 本文を読む
Mad KnightsのAIをガチで練り直そうとして伸びる手を評価させ
その先読みを強化してみるがまったく効果がでない
あんまり対戦させすぎるとコドゲさんに
やりすぎと叱られるのでサーバーも自分でこさえることにした
一回対戦から複数連戦にする際にグローバルで使っていた
データがいろいろと問題をおこし関数内でグローバル変数を
使わないように修正
&nbs . . . 本文を読む
CodinGameにChess Messというゲームが投稿されていたのでAI作ってみました
https://www.codingame.com/contribute/view/73770c8a187dd663d2584bf1606de430f1d32
しばらくしたらリンク先変更になると思います
まだシステム事体が作りかけで入出力が説明と実際で異なっているため
固まってか . . . 本文を読む
Xをみていると
変数に同じ文字列を与えると参照になる
というプログラムがでてきて
これはまずいケースあるかもと調べてみると
どちらかの値を変えた時に参照ではなくなるので問題はなさそうです
少し不思議
. . . 本文を読む
MAD KNIGHTが3人対戦になって帰ってきた
入力項目が一つ減ったため最初は最下位に落ちていた
ソースはスレッド化(マルチプロセッサでないため意味ない)されて
わりとぐちゃぐちゃな状態
まず後手の時まねするロジックをコメント化
Pythonはコメント化の”””もインデントがずれているとエラー
次に全く動かない原因を . . . 本文を読む
簡単なルール
ターン
ダイスを6個振る
ポーカーのように得点があってパスするか一部残して再度振るか決める
各ターン再々度まで振ることができる
再度振る場合得点が上げることができなければ0点になる上がればこれまでの得点にさらに加算
勝利条件
10000点先に取ったら勝ち
役
123456は1500点
1が3つで1000点 1つ増えるごとに追加1 . . . 本文を読む
CodinGameのFlood-It!というゲームの作成AIのご紹介です
ルール
左上と右下から互いに自分の陣地の色を変えていきます
隣接する同色陣地を増やしていき先に半分の陣地を確保したほうが勝ちになります
陣地の色の変え方は現在の自分と相手の陣地の色は選べないという条件があります
プレイ画面
最初に作成したもの
隣接する中で一番 . . . 本文を読む
制限時間48時間で10問解くらしい
13時間ぐらいから参加
CodinGame Summer Challenge 2023
コンテストは終わったけどリンクから問題を解くことはできる
問題に触れることはよろしくなさそう
もともと企業向けのテストに使っていそうな雰囲気
問題文が英語でコピペ不可
翻訳ができないので最初の問題からかなり疲れる
. . . 本文を読む