chevron_left

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

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

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

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

2018/06/05

arrow_drop_down
  • プログラムの問題 プログラムの学習方法をAIに聞いてみる

    chatGPTさん日本語で質問できるのかなと聞いてみた所できるそうなのでプログラムを学習するコツありますか?と聞いてみたら日本語で返してきてくれました途中でなんか、止まってしまったけどプログラムの学習方法この順番で完璧だと思います質問に対して程度時間がかかると止まるようです英語で聞けばこんな感じです5複数の言語を学んでその強みとか弱点を知る6最新を学ぶ言語は変わりやすいので新しい物を学ぶ7言語は移ろいやすいのでそれも楽しむとにかく楽しめということらしいですプログラムの問題プログラムの学習方法をAIに聞いてみる

  • Python chatGPTでコーディング

    最近AIがプログラムをするという話を聞いてまだまだじゃないのとか思ってたりするchatGPTというAIの話もよくニュースでみるそこでchatGPTどれくらいのものかちょっと使ってみてこのブログが過去の遺物になった瞬間をご覧あれまずはご挨拶から何を聞こうかしばらく考えて、python知っていると聞いてみる蛇について語るかなとか思ったらListについて聞いた瞬間このブログで紹介しているようなサンプルをより丁寧な説明付きで表示最近紹介したローマ数字への変換を聞いてみた私が昨日書いたコードより洗練されている恐る恐るhaskellで聞いてみるということで入門講座PythonchatGPTでコーディング

  • プログラムの問題 ソートはロマン

    数日前も変わったソートをやった気がします人類はソートが大好きな生物なのかもしれません問題数値をローマ数字に変換した時の文字列でソートしてくださいCが圧倒的に優位になる100がトップとみたローマ数値変換のプログラムなかなか短くない?さあ、他の人のプログラムと見比べてみようまだ承認待ちの問題でした(CodinGameで承認されているプログラムの問題を解くと世界の人の解答をみることができます)プログラムの問題ソートはロマン

  • Python 数字をローマ数字に変換する関数

    1から3999まで対応defroman(n):base=["","I","II","III","IV","V","VI","VII","VIII","IX"]r=""ifn>999:r+=base[n//1000].replace("I","M")ifn>99:r+=base[int(str(n)[-3])].replace("X","M").replace("V","D").replace("I","C")ifn>9:r+=base[int(str(n)[-2])].replace("X","C").replace("V","L").replace("I","X")returnr+base[n%10]Python数字をローマ数字に変換する関数

  • プログラムの問題 最初のハマり道 記号(さえわかれば簡単かも)

    2次元曲線でx,y軸と交わる点をx座標順に表示する問題力技で解いていますが、本来プログラムはこういった力技が得意だったりしますa,b,cを取得(6)答えの範囲をx-50から50まで0.5ずつ増やして、y座標を計算(9,10,11)条件に当てはまるものを解答の表示形式にしてリスト化(12-15)最後に特殊ケースを別途答えるか(17,18)リスト化したものカンマ区切りで表示して答えています(19)少数の表示方法がややこしいので関数で外だししています(1-4)プログラムを学習する上で最初に間違いなくハマるのは記号それぞれに意味があり、またいろいろな使い方をするものも多いプログラム言語によって使い方や意味も異なります3行目までの説明1行目()関数に渡す値をまとめます:関数の中身がここから始まります(同じ改行位置か...プログラムの問題最初のハマり道記号(さえわかれば簡単かも)

  • プログラムの問題 動かない

    NESでちょこっとプログラムをしていい気になってSNESをやってみようとしてあんまり代わり映えしなさそうだからメガドライブの開発MC68000をやってみようとする結果エミュレータが動かない一番有名そうなのが2007年に開発終了していてubuntu版もWindows版をWineで動かすことも失敗Wineは対応Windowsのバージョンが新しすぎて動かない私が面白そうと考えつくのが16年遅かったらしいプログラムの本を買う時とかも出版から時が立ちすぎていると時代が進むのが速すぎて動かないということもよくある本にのっている、このプログラムがほしいとの高い本を購入してもそれがどうしても動かないということもよくあるこのブログで掲載しているプログラム、掲載後、コピペしなおして動作確認はしているはずだけど動かないこともき...プログラムの問題動かない

  • プログラムの問題 簡単な書き方のほうが良かったりする

    2次元座標にアルファベットが散らばっていてアルファベットある行に、行って左から右、次の行にいって右から左と蛇行して取っていく時の順番を答える問題解答後、変数をつかわなくしたり、ロジックの位置を変えてまとめたり、三項演算子をつかったりして少し短くしたものがこちら実務レベルだと下の方がダメ(メモリが少ないとかなら別途)理由は他の人がよりわかりにくいし、明日の私も解析に無駄な時間がかかるからプログラムの問題簡単な書き方のほうが良かったりする

  • プログラムの問題 割り切りたい

    文字列の文字コードの合計が各文字コードで割り切れればその最初の文字を割り切れなければ、primeと答える問題この問題、いいねの数がとても多かったので解いてみました。人はPrimeに憧れるのかもしれない今朝、プチコン4で大人気のボンバーゲームのエンディングが唐突に見たくなって、10で割り切れるところを、2で割って1余るという改造をしようとして失敗した。10で割る場所がおおすぎて、2,3回失敗して、面倒くさくなったから...人は割り切れることにも憧れるのかもしれないプログラムの問題割り切りたい

  • プログラムの問題 ファミコンのROMファイルを作るまで

    作りたい時に作らないとその後ずっと作らないということが多い昨日、ファミコンのエミュレータを入れたのでその後をざっくりとご紹介Ubuntu20.04環境で作成しています何か作ってみたくてNES研究所のhelloworld!をダウンロードして解凍してエミュレータで表示してみるcharacter.chrを編集次にYY-CHRをダウンロードしてWineを入れて起動するUbuntuLinux20.04LTS/18.04LTSにWineをインストールするWineのインストールは、こちらの記事でなんとか入りましたYY-CHRはC++版もC#版も普通に動きました(monoとか入っていないとC#はハマるかもしれません)C#版は日本語文字化けしたのでLanguageをEnglishに変更そしてhelloworld!のchar...プログラムの問題ファミコンのROMファイルを作るまで

  • ドラクエ3のプログラマーだった方の動画を見て、MSXのエミュレータをubuntuに入れるまで

    ドラクエ3のチーフプログラマーだった方の内藤かんチャンを見続けるファミコンの開発の様子が垣間見えて面白いたまにアセンブラの内容も見えたりして、これでゲームを作るのはとんでもない能力者だなと感心するドラクエ3の発売数年前、私はアセンブラの本を10冊ぐらい買っていたが、アセンブラをマスターすることはできなかったともかく解析しながらメンテしている様子を見終わった後NES開発環境で探してみると、あっさりと初心者がファミコンでゲーム制作というサイトをみつけ、開発環境を構築・・・とはいかずそこで紹介されているNESのエミュレータをダウントードして制作されていたブロック崩しのnesファイルを読み込んでみるとあっさり動く他のゲームもと、家の倉庫にあるコントラのROMをダウンロードして動かしてみるubuntuなんだけど音も...ドラクエ3のプログラマーだった方の動画を見て、MSXのエミュレータをubuntuに入れるまで

  • プログラムの問題 一人二色 独自のコードパターンを持つ

    決められたパターンで絨毯を作るが常に一箇所おかしな場所があるそこはドコ?問題https://www.codingame.com/training/easy/messed-up-mosaics問題を見て、これは承認申請(CONTRIBUTE)の時にも解いていると思い出し再度解いてみて、過去の自分とどれくらい違いがあるか確認してみました昨年の11月1日に解いたと思われるもの思っていたよりは同じなのでしょうか?過去記事にもしていました。Pythonパターン操作の問題マッチしない1つを探せプログラムの問題一人二色独自のコードパターンを持つ

  • プログラムの問題 仕様変更でひっかかる

    軽く一問、解いてブログにでもとはじめたら、わりと沼に入る。プログラムの学習で仕様変更の連続でやめちゃう人ってけっこういるのかなとか思うプログラムの言語自体、コンピュータとなんとか会話しやすくしようとした苦難の歴史っぽいところがあって、これをなんとかしようとするためにこれを追加とかを繰返していて全体刷新したいけど、既存との共存でこの文字を暫定的に利用とかいうトラップがあるそんな斬新な問題https://www.codingame.com/training/easy/saving-snoopy問題文を翻訳かけて読んでも、最初サッパリわからない感が果てしない。分かる所からコーディング開始、文字を辞書で置換するところから…+は無視して、*はスタック最期の文字を表示、その他はスタック(置換対象なら置き換えて)よし終...プログラムの問題仕様変更でひっかかる

  • プログラムの問題 思い込みでひっかかる

    軽く一問、解いてブログにでもとはじめたら、わりと沼に入ってプログラムの学習でちょっとしたことに思い込みでひっかかってやめちゃう人ってけっこういるのかなとか思う今回は座標の取り方をx,yと思い込んで作成して2つのテストケースで偶然それでも正解になってしまうため壮大な架空の仕様を考え出してファンタジーワールドを冒険することになる問題文は読まないと...問題文の4,5行目に書いてあるのに見えていない問題は全移動方向とモンスターとお金の座標が与えられ冒険の結果を表示する問題スライムに遭遇するとその時点の座標とお金とslimeと表示してGameOverゴブリンに遭遇すると50G払って通過するか座標とお金とgoblinと表示してGameOver全移動が終わっても生きていればGameClearと座標とお金を表示してGa...プログラムの問題思い込みでひっかかる

  • Python 最新のCodinGameのコンテスト用AIを90行で作ってみて、使用プログラム技術の簡単な解説

    2時間1画面ほどで、再度新規で作成してみようと開始30分後一画面では無理とあきらめて半日ぐらいかかって完成したものクラス設計3-17クラス4-11初期化メソッド12-17メソッド5グローバル8内包表記9,10,11if文17積集合作成関数全部関数21ループ22内包表記リスト27フォーマット29可変長引数31タプル32while文33pop35continueループの次まで飛ばす43brakeループを抜けるメインルーチン61辞書、辞書、辞書、リスト70スライス79ソートしてスライスを利用してリストを反転実行結果最初997位だったのですが22行をちょこっと変えただけで897位まであがりました。39行目からの関数はまだわりとグダグダで塗りつぶしミスがたまに発生しています。プログラムよりも実はデータ設計の方は大切...Python最新のCodinGameのコンテスト用AIを90行で作ってみて、使用プログラム技術の簡単な解説

  • Python 地形を生成するような問題を解く

    問題サイズと十字の太さ、さらに地形データを渡されて十字の図形を+の文字で書いていく難解なのは、その十字の図形の中はくり抜いて図形がつながっている時は、つながっている部分もくり抜く解答の作成手順まずはデータの保持+の図形を配置できるボードを作成+の図形の前に、図形の範囲を塗りつぶす図形を塗りつぶした+にしてボードに置く作成したボードの各+の文字ごとに周りを見渡してスペースがまったくなく、端っこでもないところの+をスペースに置き換える最後に作成したボードを右スペースを取って表示感想くり抜き十字の作成方法をいろいろと検討して最後になんとか簡単な作成方法がみつかりましたこれをちょっと拡張するとRPGの簡易地形ができそうですPython地形を生成するような問題を解く

  • コツコツトライしていければ道は開ける

    CodinGameのKeepoffthegrassを2023年もノンビリとなんとか続けている。トップグループの努力にはほんとに頭が下がります。努力し続けて、コードを書き続ければ道は開ける気がする。グルグル回して結果を導く抽出方法を丹念に見直して、少しでも速くするために辞書を使い条件にマッチするポイントを集合も使って少しでも速くする。少し順位があがって何か悟りを開けたのではないかと記事を書き始めると...とてつもない壁にぶち当たってしまった。Keepoffthegrassはyoutubeで動画が公開されていました。RocketJumpというグループが作っているらしくジャンルはコメディかなこれにインスパイヤーされて2050年の主流言語の名前がRjumpという可能性もあるのかもしれない。コツコツトライしていければ道は開ける

  • 競プロを総括してみる

    CodinGameのコンテストに参加しています。プログラム同士でバトルしていくつものリーグを突破していくゲームです。eスポーツのAI版みたいなものでしょうか。ここ2日は、たまにログインしてランキング確認しているだけです。作ってみたい内容がだんだん難しくなっていって具体的なコーディングの形がみえなくて動けなくなっているのかもしれません。シルバーからゴールドに上がる過程を緻密というキーワードで記事にしてみようかと思っていた所、脳が最近ちょっとかじったAtCoderを含めて競プロを語ってみようかと、まとまってないなかキーボードをたたいています。シルバー100位ぐらいからゴールドにあがるには1つ優れた関数が必要な気がします。そのために私の場合だと10個ぐらい作ってみないとダメです。頭が突然謎の回転を始めた時が実は...競プロを総括してみる

  • 大陸を生成して人類の移動を観察するゲーム

    ロボット戦車が人荒野が灰色人類の2つの国家の色が赤と青丸マークが火山活動緑が海実はRPGの世界地図はこうして作られているプログラムをしすぎると脳はそんな誤作動をする赤い世界からみると世界制覇の歴史青い世界から見るとRPG開始前のプロローグにもなる実際は青い世界の私のプログラムと赤い暫定世界一位のプログラムの「芝生に入るな」ゲームだったりするhttps://www.codingame.com/replay/683863595大陸を生成して人類の移動を観察するゲーム

  • 謎の照射

    ナウキャストを見ていて不思議な現象をみかけました。広島西部に2つの○が発生していて17:10頃から放射状に炸裂したように見えます。謎の照射

  • CodinGame2022秋コンテストはじまる トップが完璧すぎて笑う

    コンテスト開始今日の0:00からコードバトルのコンテストがはじまる。今回は割とガチバトル系ルールとストーリー意訳鋼鉄の資源が広がる荒野にて、ロボット作成、リサイクル資源回収に走り鋼鉄の大地を多くゲットしたものが覇者ストーリーはこんな感じリサイクル資源回収は鋼鉄の大地を全て剥がし、大地は緑にかえるデータ構造今回はターン毎の情報が地形とユニット別ではなく地形の位置ごとにまとめてドカッとくるのが特徴どうデータ化しようか悩むデータ加工案とりあえず、地形を位置用のクラスに放り込んでそのクラスの生成時、ユニット情報があればユニットクラスに入れるようにしてみたあと探索用にいつもの2D文字マップを作成(追加実装の1'で利用)初期実装1ランダム移動2スポーンできる場所にスポーンまだルールはぼんやり把握追加実装1移動2手読み...CodinGame2022秋コンテストはじまるトップが完璧すぎて笑う

  • Python 6カ国の方の問題を解いてみる

    CodinGameの承認済みClashofCodeより1)南アフリカダーバンn個正六面体あり、その各長さが渡されるその六面体を地面から下から上に昇順で積んだ時の見えている表面積を答える積んだ時を上下左右正面後ろを思い浮かべ、下からがポイント2)イタリア数値が与えられ、その0からその数値の2乗までに何回登場するか?15だと、15の2乗までに(含まれる1,5の数)3)ブラジルDとLだけの文字列が与えられ、Dなら(0-9)、Lなら(A-Z)パターンある文字列の組み合わせは何通り?テストケース名が国名になっている??4)ベルギーブリュッセルチェスのレーティングを変換する5)マダガスカルアンタナナリボ旅費の高い順に世界を旅する資金が足りていればYAYと残金足りなければBOOHISSと訪問できた最期の場所と不足金額を...Python6カ国の方の問題を解いてみる

  • PCR検査で唾液でず終了

    昼過ぎに岩国駅までちゃりで4K18切符を購入しようか悩む、およそ3年ぶり駅前ではPCR検査を無料でやっていた。1度ぐらい、やっておこうかと唾液の採取までだどりつくが唾液0.5ccがでない。冬にサイクリングで喉カラカラにしていたのが悪かった。0.1ccぐらいでギブアップ18切符は購入しておいた。帰り道にコスモスによる店員さんにサービスでハンドクリームを手の甲にぬってもらった。(薬局で薬などのお試しサービスがある)きっと干からびる寸前だったのだろう昨日おとといと、ビッグランで走りすぎたせかもしれないPCR検査で唾液でず終了

  • サマータイムレンダを超高速でみる

    Amazonプライムが一時止めるので最後に何か見ようかとサムネイルにサマータイムレンダが表示され、映画かな?と見始めるとテレビアニメの作品。タイムループものでニトロプラスのゲームのアニメ化かなと勘違い。面白いので見続け、調べてみると25話あと4時間しかない。4時間で25話。videospeedcontrollerで2倍超の速度でタイムループとは別の時間との戦いを勝手に始めるタームループものって割とえげつないところがあるから数話ごとにいったん落ち着かせないとしんどい休み休み残り3話で23:50、画面下のスライダーのビューワーで展開を想像してポイントだけ止めて2.3倍速でみるという謎技が発動(サブスク、最期の日に突然起こる発作のようなもの)切れたらそこまでと25話を見ていると00:00を越えても見れる最期一話...サマータイムレンダを超高速でみる

  • ガンダムをまた作ってみる

    未開封のプチブロック、ステゴザウルスが発見されたので前回より少しはマシなガンダムエアリアルを作ってみようとする。パーツに曲がるジョイントは一組しかなかったので胸像を目指して開始エアリアルはとにかく胸部が盛り上がっていて、あと足が太い印象前回はペラッペラだったので特に胸部に主力パーツを使うあまったパーツで手と足をなんとかつけるL型のパーツが山ほど(10個程度)残ったので足先に使いまくったら、なんか立てそうな予感。これは立たさねばと奮闘最後に残ったもの総力をあげて武器っぽいものも追加サクッと立ちました可動部が頭部だけで重心が少し前でそこにL型パーツがぴたっとはまったようです鳥常にこちらを見るように仕込んでいますガンダムをまた作ってみる

  • Ubuntu chromeのアップデートがダウンロードファイルのダブルクリックでできなくなる

    ubuntu20.04chromeの更新が表示されたのでダウンロードダブルクリックであれ!いつものがでないネットでググってコマンドから実行最新になるなぜできなくなったかといえばPythonの削除問題の時、ソフトウェアセンター使えなくなっていたからubuntu20.04ではソフトウェアセンターはsnap-storeというものに置き換わったそうでインストールそういえばなんか違っていたなとか今更認識chromeのダウンロードファイルをダブルクリックしてみるとちょっと違う?一応本家にいってみてインストールのコマンドとかを確認してみるとあってはいるらしい。Ubuntuchromeのアップデートがダウンロードファイルのダブルクリックでできなくなる

  • Python 言語をエディターから学ぶ

    CodinGameというサイトのエディターからPythonを学んでみます。昔のエディターは白一色でヒントも何も表示されませんでした。少し未来にはエディターにあるプログラムにマウスカーソルをそえるだけで言語をマスターできるようになるかもしれません。21)中国マトリックスの2つの大きなダイアゴナル(斜めのライン)にある数値の合計の差を表示してください。各項目にマウスを運ぶだけで概略を表示しています。なにも当てていない時nは可変(variable)で数値型(int)intはクラスinputは関数(function)で文字型(str)を返すd1は可変で0ピンク文字は表示されませんがプログラムの流れの中核です。rangeはクラスですaはリスト型(list)で中身は文字型(str)spritはクラス内の関数(メソッド...Python言語をエディターから学ぶ

  • Python 世界20カ国の(方々が作成した)問題を解いてみる

    CodinGameのClashofCodeの承認待ちの問題20の国の問題を訪問しているつもりになって解いてみました。問題と回答を簡単にご紹介してみます。1)ハンガリーシーソーの指定位置xに子供(重さw)が座っていき、最期の一人の子供(重さm)がシーソーのどこに座ったらバランスが取れるか答えます。シーソーの長さは300で中央の位置は150です。バランスが取れない時は「座れる所はありません」と答えます。解いた中で計算問題としては一番でした。2)チェコサイズsxsのマトリックスに数値があり、その縦の合計と横の合計を表示します。3)ロシアm行の数値が与えられます。2の倍数なら2倍、それ以外は3倍にして表示します。4)チュニジア1を数えます2進数に変換して5)カナダ1つずつふえる数列がバラバラにわたされますが、1つ...Python世界20カ国の(方々が作成した)問題を解いてみる

  • Python ちょっとした意味がわからなかった問題

    プログラムがわからない方は実はちょっとした単語の意味が理解できていないだけなのではと気付かされた問題です。イスラエルの方が作成した問題。グーグルさんの問題文の翻訳同じ合計のサブリストゴール特定のリストに、同じ長さと合計を持つ2つの異なるサブリスト(長さ2以上)があるかどうかを確認する必要があります。入力1行目:比較するポイント数の整数N。行2:N個の整数のリスト。出力1行目:同じ長さと合計を持つ最短のサブリストの長さ。そうでなければ「悲しい」制約3<=N<=100何を言っているのかしばらくまったく理解できませんでした。英文は簡単。翻訳してなぜかピンとこない原因はサブリスト単語を引いてみますがよくわかりません。ここでの意味はリストの中で、つながっている一部分のことでした。意訳数値のリストから同じ長さのつなが...Pythonちょっとした意味がわからなかった問題

  • Fire HD 8でCodinGameのclash of codeを解いてみる

    ゲームを探せというタイトルです。一応できました。スナップを撮ってブログにもHD8から作成中しています。コピペはCtrl+xとCtrl+cはできましたがCtrl+vができなかったので長押しでペーストしました。問題とテストケースはこちら答えは最後に答えじゃんけんトータルで先手勝ちなら1後手勝ちなら2、引き分けなら0を答えます。FireHD8でCodinGameのclashofcodeを解いてみる

  • Python Fire HD 8のSilkブラウザーからColaboratoryをやってみる(USB接続キーボードの設定)

    格安でPythonを学習する環境に格安時のFireHD8(第10世代)を使ってできないか購入してみる。できる。こんな感じSilkブラウザーからColaboratoryに入ります。Colaboratoryは最初入る時にgoogleの2段階認証で別のandroid使用するのがちょっとめんどうでした。USBキーボードもデフォルト接続だと記号まわりが異なっていて"ダブルクォーテーションが打てない(も打てなかったがとなりの)を打つと(になったりとかだめでしたが、USBキーボードの設定設定ー端末オブションーキーボードと言語ー物理キーボードーSEMUSBKeyboardからキーボードのレイアウトを設定日本語をチェックで自宅のキーボードは正しくなったようです。PythonFireHD8のSilkブラウザーからColaboratoryをやってみる(USB接続キーボードの設定)

  • Python ブログの見出しとその画面だけで基礎説明を目指してみる

    文字、数値は””でくくる、リストは[]でくくりカンマで分割、リストを主体としたループ(foriinリスト)、:と字下げで処理をまとめ、if:else:も学ぶ、スライスの使い方[a:b]、defの作り方deffunc(b):ループ内容をzipで複数もたせるsはstringで文字列、cはcharで一文字、nはnumericで数値、iは添字変数名には掟ありPythonブログの見出しとその画面だけで基礎説明を目指してみる

  • Python 基礎画面

    Pythonの基礎が一通り入っていそうな良問題、実質12行ほどのプログラムのご紹介。ベストな選択をするプログラムでAIの一種です。googleマップで店検索して予算内で評価値の高い所いってみようというのと同じです。####は説明用にインデント(文字の表示位置をそろえる)を使って処理をまとめている箇所10行目は11,12,13,15を繰返す15行目は条件が揃った時、16,17を実行Python:が重要10行目繰返し開始の:12行目スライスの数値分割の:15行目条件にまっちしている時を表す:10行目なぜinなのか?実は指定データをiにしていくのであってカウントアップされてない。繰返しの中でiを変更しても次の繰り返しに影響しない。Python基礎画面

  • Python は、だいたいリストである(使い方とエラー)

    Pythonってだいたいリストじゃないか?と思って作成してみました。もちろんポエムです。第一章だいたい全部まずはざっくりと基本的な所とそうでない所(これぐらいで大丈夫かな?)1から11で表示してしている1つずつ追って理解できればほぼPythonはマスターしている2,3,8,10、16、20行目がリストの基本的な使い方コメントに、なんかしらんがとあるのは罠、だいたいスライスがらみですコメントに()内にある文字とPythonをスペースあけてgoogle検索すればもっとわかりやすい情報がゴロゴロと登場します第二章エラー達の黄昏次にリストのエラーをガンガンだしていこうとしたけどあんまりでなかった黄昏1リストに数字を足す時は[]を忘れずに2リストの外側を呼ぶとIndexoutofrange(他の言語でもよくでるエラ...Pythonは、だいたいリストである(使い方とエラー)

  • Pygame スクロールの錯視

    OpticalillusionfullscrollPygameスクロールの錯視

  • Pygameで建築

    https://kenney.nl/assets/isometric-miniature-farmのアセットをみつけて建築したくなってPygameで使ってみました。微妙な位置決めが難しいです。前後の判定が難しいはずなのですが、偶然あっているようです。東南からの風と雨は防ぎます。Pygameで建築

  • AtCoderをやってみる

    10日ぐらいのコンテストをやっているというのでやってみる。さっぱりわからない。プロジェクトオイラーを思い出す。翌日、競プロ典型90問を10問ほどやってみる得点が入ったのは2問、タイムアウトを回避できないのが7問いろんなエラーが混ざったのが1問解説を少し見て1問追加で解ける。他の方の解答もみれるので勉強しようと思えば無限にできそう。巨大数値の問題ばかりで疲れる。競プロだと巨大数値の方がデフォルトっぽい。一日やってみて環境などの使い方はだいたいわかった気がする。たまにはさっぱりわからない世界に入門してみるのも異世界探検っぽくていい。AtCoderをやってみる

  • 時間樹

    タイムマシンによって時間軸が別の時間軸に変わるということは時間軸はいくつもの束になって樹のようになっているのかもしれない。その樹の外側に風のようなものが吹いていて時に暴風と鳴って細い時間軸は吹き飛ばされて消えてしまう。極端な時間軸に対して時間を守る組織などは必要なく自然に淘汰される。タイムマシンなどで時間軸を変えすぎると時間軸の束は細くなっていって、防風によってその束ごとなくなってしまう。タイムマシンは存在しないのではなくて、存在する世界がなくなりやすいのかもしれない。AHC016というコンテストの問題の意味が(たぶん算術的?)わからず。(あれこれ悩むと突然理解するの待ち)先日見た、「新・のび太の日本誕生」と混合して、頭が勝手に時間軸について考え出したので記録。時間樹

  • Python Z80を100台作ろうとする

    Z80マイコン応用システム入門ハード編という本を購入Z80一個をクラスで作成して100台ぐらい一気にエミュレートできるのではと高速の最新Python3.11で作ってみようと外側だけ実装問題点、PythonのTime2Mhzをギリ測定できそうなレベルそこで2000クロックをひとまとめ(クロックとか実は余り知らないので適当な事を言ってるはず)pc-8001がざっくり2000000Hzだから0.0000005ごとに一命令とか考えて作成しています100台とかちょうしこきましたが、10台ぐらいがちょうどピッタリこれにレジスタとかメモリぶっこんで命令を簡単な所から実装していこうかと思った所計算したいことが何もない100台にするためには30行目の10を100にすればOK!100000コマンド相当ごとに以下の内容を表示し...PythonZ80を100台作ろうとする

  • Python 世界一簡単なクラスの説明

    1例目クラスに一つだけ掛算のメソッドの例(クラス内の関数をメソッドとよぶ掟がある)Pythonだとクラス内の変数は実は自由に外から作れますメソッドで使う変数をが、なければエラーになりますメソッドの特徴として、最初の引数はクラス自身を何かの変数名で追加しなければなりませんそして呼び出し側では、それを入れないで呼び出します(入れるとエラー)(変数名selfが掟なのですが、実は何でもいいので今回cにしています)おそらく、このあたりの掟が初見殺しの罠です2例目この1行目が世界一簡単なクラスですたぶん一例目の掛算のメソッドを、外だしして関数していますみかけはまったく同じですが、呼び出す時にクラスを渡さないといけません2例目各行の説明1クラスBを作成2クラスを受け取って、その変数sとnをかけて返す関数3bにクラスBの...Python世界一簡単なクラスの説明

  • マサバ海峡大橋を渡る

    マサバ海峡大橋を渡るまだ世界がコロナを知らなかった頃に撮影したものです。帰宅後スプラトゥーンを中古で購入して遊びまくって、マサバ海峡大橋のステージに遭遇するといつもこの瀬戸大橋を思い出しては少し海と島を眺めています。マサバ海峡大橋を渡る

  • Python ルートA+ルートB=ルート2023を2行で解くから始まる冒険

    youtubeで「ルートA+ルートB=ルート2023」というサムネをみかけたのでPythonで作成A28B1575またはその逆あっているかは知らない。改行いれなければ一行で解けます。知らないというのは少し無責任なので検算大丈夫そう。それではC9999までにそんなABCがどれぐらいあるかそんなにないのかなと...どえらく存在していました。答えの先頭を見てみるとそりゃそうかとなんか納得しました。Cのルートが整数ならそりゃあねということでCのルートが整数でないものならそうはないだろう。フッフッフたっくさんありました!PythonルートA+ルートB=ルート2023を2行で解くから始まる冒険

  • Python 奇数n個の累乗

    Python奇数n個の累乗

  • Color in 1984 Youtubeだと圧縮されちゃうのでgithubにあげてみる

    Colorin1984なんかボケるので画面サイズとフレームレート変更を調整。Youtubekazamで撮影した1280x72024fpsの動画をそのままアップこんどこそ綺麗になっているでしょうか?だめでした。github久しぶりなのでまた使い方の学習からです。https://github.com/suginoha/color-in-1984/blob/main/color_in_1984.mp4ファイルサイズ25Mまで画像から取り直しaddaREADMEを押してREADME.mdに動画をドラッグドロップして埋め込めば、ブラウザから直接みれるhttps://github.com/suginoha/color-in-1984/tree/mainREADME.mdに埋め込む時のファイルサイズは10Mまで画像から...Colorin1984Youtubeだと圧縮されちゃうのでgithubにあげてみる

  • Color in 1983

    前回の動画800x600のサイズでクリップしてボケてしまったので480p854x480にしてみました。Colorin1983Colorin1983

  • Color in 1982

    Colorin1982Colorin1982

  • Python こぢんがめの問題を5問解いてみる(2問は一部分)

    文化の日なのでなんかやってみるCodingameのPENDINGCONTRIBUTIONSのCLASHOFCODEから5問ほど宇宙をチェックするタイトルにひかれてやってみる。単位変換差分プログラム宇宙が充分でないときだけ正解する。数値箱人気が高かったのでやってみる数値箱の好きな位置からn歩縦横、端ワープあり移動で最大の数値を答えるパスファインディングは今回パスして数値箱の数値が均一のときだけ正解するバイク盗まれるひとごとでないのでやってみる最初文字列をくっつけてからマッチするものを計算していたけど各文字列が1つのパーツにマッチしているか計算しないといけないので修正ズームさせる図形処理なのでやってみるwは使わないというか、どう使ったらいいのかわからない2つの辞書2つのアルファベット置換テーブルで1つの単語に...Pythonこぢんがめの問題を5問解いてみる(2問は一部分)

  • Ubuntu20.04 有線ネットワークをメンテした時の備忘録

    メンテ時のコマンドでターミナルに残っていたものです。ifconfigまずはこれlsmodデバイスドライバーの確認に使うエラー時はr8169が表示されていましたr8188euはwifiドングルを接続したら増えましたnmcliネットワークの接続情報の確認に使用nmcliconshow終了方法がわからず少しあせる。Ctrl+Cでした。viネットワークのstateが管理対象外になっていたのを管理できるように作成したファイルその作成内容viの編集使ったコマンドiで編集hjklでカーソルxで一文字削除:wqで保存して終了:qで終了Ubuntu20.04有線ネットワークをメンテした時の備忘録

  • Ubuntu20.04 RTL8168に違うドライバーが入って有線ネットワークがつながらなくなる。

    Python3.8を削除してUbuntu20.04の動作が不安定になりネットからubuntuを再インストールする。再起動をすると今度は有線ネットワークがまったくみれなくなる。原因はRTL8111/8168/8411PCIExpressGigabitEthernetControllerに対してr8169というドライバーをインストールしたらしい別パソコンから8168用のドライバをダウンロードしてインストールしようとするがドライバーを設定するシェルプログラムでエラーが発生。ネットで同様の事例は見つかりますが対処までは至らず。(r8169というドライバーはシェルが削除)wifiドングルをなんとか探し出してネットワークのバイパスは開通。そこで8168のドライバーをネットからsudoapt....で直接インストールし...Ubuntu20.04RTL8168に違うドライバーが入って有線ネットワークがつながらなくなる。

  • Python 削除からの復旧(UbuntuでPythonは削除してはいけない掟があるらしい)その2(またしでかす)

    環境Ubuntu20.04Ubuntu18.04からアップグレードしたもの家のUbunru環境Pythonがたくさん入っています。3.7.23.7.53.8.103.9.53.11.03.8なら大丈夫だろうと3.8をremoveしたら(Ubuntu20.4でのPython3.8removeコマンドの書かれたサイトを参考に3.8のremoveだけ実行)なんか左のタスクバーのアイコンが減っている気がする。実際にソフトウェアの更新とかKazamとか設定が消えていました。以前自分の書いた記事を検索して以下の内容を実行Python3を削除からの復旧(UbuntuでPythonは削除してはいけない掟があるらしい)ーーーーーーーーーーーーーーーーー$sudoapt-getinstall--reinstallubuntu...Python削除からの復旧(UbuntuでPythonは削除してはいけない掟があるらしい)その2(またしでかす)

  • Python 3.11をインストールして環境にグルグルに縛られて心を折られてからの速度測定3.7.5の2倍は速い

    Python3.11が高速になったというので調べてみようかと開始すると罠に次々とハマる。まあよくあることで、全て語ると大河ドラマ一話分ぐらいのストーリーになりそうなので簡潔に、環境はubuntu20.04Python3.11.0.tgzをダウンロードして解凍README.rstを読んで以下のコマンドを実行./configuremakemaketestsudomakeinstallmakeの所でPython/frozen_modules/abc.hでエラー解凍して実行するフォルダーまでに全角文字があってはいけない(ネットで英語を翻訳してわかった結論↑)「ダウンロード」フォルダーでないところで、解凍からやり直し速度を知りたいので最近使った画像をpc8001用にコンバートする、自前で遅い画像変換でためして見よう...Python3.11をインストールして環境にグルグルに縛られて心を折られてからの速度測定3.7.5の2倍は速い

  • Python パターン操作の問題 マッチしない1つを探せ

    問題私は美しいモザイクをオンラインでオーダーしました。とても安かったのですが、どれも同じ問題がありました。1つのタイルだけ間違えている。だれか、間違っている場所を教えていただけませんか?最初はパターンを空白に置き換えて対処しようとするが、間違えたタイルを含むパターンの先頭を答えてしまう。そこで、全タイルをくっつけたものと、パターンを繰返したものを比較して違っている先頭を答えたものがこちらやっかいなことに列の初めがタイルの初めとマッチしないケースが存在。最終的に列ごとに、パターンの前後を入れ替えた全種類とマッチングさせてマッチしないものがひとつだけの時それを答える方法で対応Pythonパターン操作の問題マッチしない1つを探せ

  • Python Pygameでサーボみたいな関節を実装してみる

    発端メガドライブのエイリアンソルジャーの動画をみて、ボスの関節技を実装してみたくなって開始。最初プチコン4で作り始めたのですが、SPLINKがスプライトの表示順を変更してしまうので一旦保留Pygameで作り直しトータルで2日ぐらいかかってます。静止画こんな感じのものに数字をふったものを方眼用紙にまず書く。完成品動かしてみたもの。クラス設計各サーボにはIDと親サーボID、初期(相対)座標と、色、回転と回転の追随情報があります。chainは親サーボを探して、親サーボからの位置を計算して表示位置bx,byに格納します。メインルーチンサーボをZ座標でソートして奥から書いていきます。表示後、ランダムでサーボを少し動かしておきます。Pygameの終了処理。マウスアップは元のプログラムからの消し忘れです。データ設計色の...PythonPygameでサーボみたいな関節を実装してみる

  • プチコン4で作品「SATSUNうちゅうのじょうしきをぷっつふせ」を公開する

    タイトルをSATSUNうちゅうをぷっつふせとしておくゲームの常識をぶっつぶそうとして、ゲームを宇宙に変えてパワーワードを少しマイルドにかえてみましたSATSUNというタイトルでしばらく寝かせておいた作品どういう意味だったかすらしばらく思い出せず開始する土日で作り上げるつもりだったのを一日たって思い出す砲塔の回転と実機の回転を左右のスティックで行いミサイルも撃てるようにはなっていて、スプライトもちりばめられて全方向スクロールを実装していたようです<追加作業1日目>まずスプライトのキャラを指定していき敵キャラはほんのり動くようにする魔法使いを10人救うとゲームクリアにしてミサイルは無効にしてミサイルスプライトのキャラだけ豪快にしておく敵ユニットは2種類、小さいのと大きいの小さいのは10個当たるとゲームオーバ大...プチコン4で作品「SATSUNうちゅうのじょうしきをぷっつふせ」を公開する

  • Python 最短の回文を回しながら作る

    「コンピュータにおけるプログラムとはデータ加工技術である。」ということで一問、解いてみます問題アルファベットの文字列Sが与えられる。その文字に最低何文字たせば回文になるか?palindromeたまにでてきますが回文のことです回文、上から読んでもしたから読んでも同じ言葉のことですキーワードが1つわからないと突然難問になることもよくあります文字数nも与えられていますが使いません(1)カッコ内は行数とにかく問題の文字列を取得(2)頭から文字を順に後ろにたしていって反転しても同じなら(5)その数を表示して(6)終わり(7)後ろに足していく文字列は逆にたしていくので(8)文字列を別途管理(3)答えは最悪反転-1文字なのでその回数分ループ(4)一回余分でした記事書いていて思いついた別解ですPython最短の回文を回しながら作る

  • Python 内包表記を一画面で

    Python内包表記を一画面で

  • Python 色塗りバトルのアルゴリズムを作ってみる

    データ<初期>こちらの色、画面の幅と高さ行ごとの画面情報<ターン毎>色の変わった場所の情報こちらのユニットの位置作成内容現在の画面の作成各ユニットごとに4方向の塗りを計算して、3以上でもっとも塗れる方向に塗る塗る方向がなければランダムに動かすハマり道まだ作成段階のゲームなのでx,y座標が入れ替わっていたり,方向の左右が逆に計算していたりサービス側のミスのチェックにハマりましたPython色塗りバトルのアルゴリズムを作ってみる

  • python クラッシュオブコードの承認待ち「ジャンケン、何階ですか、Lですか」を解いてみる

    ジャンケンエラー判定があるのでelif使用何階ですかupdownを数値化してevalで計算Lですか#が幅一文字のLかどうかを答える問題回転ありで、一列の幅がトリムされていたり、入力数nなのに足りないテストケースとか難儀しました#の隣に#が一個あるものをco#の隣に#が2個あってLになっているものをcl#が縦横直列しているものを継続それ以外があればfalsecoが2個clが1個のものをLとしています間違ってしまうレアケースがあるかもですが、今回のテストケースではパスしていますLですかテストケースpythonクラッシュオブコードの承認待ち「ジャンケン、何階ですか、Lですか」を解いてみる

  • Python 入門 プログラム 4行で学べる

    コンピュータでのプログラムとはデータ加工技術である問題は数独型の問題同じアルファベットが上下左右につながっている所がパーツでパーツが3個つながりだと1,2,34個つながりだと1,2,3,4とパーツのつながりの数だけ数字を1つずつ入れていき全ての縦横斜めに隣り合う数字が異なっていれば完成画像左下段のInputから何らかの計算をしてOutputを作る初期段階のデータ加工1、2行目はinput3、4行目はoutput各行の解説1幅、高さの数値がスペース区切りで入っている文字列から幅、高さを数値にしてw,hに入れる2ボードの各行の1つ1つの情報がスペース区切りで入っている文字列を高さの回数取得して2次元のリストをboardに入れる3高さの数だけ回す(処理は次の段落が同じ部分を繰返す今回は4行目だけ)4各行から1つ...Python入門プログラム4行で学べる

  • Python 浜辺の数を数えて、replaceエラー判定に悩み、パンの生地を節約して、ブラックジャックをして、でかいバケツを探したりして、Level 42を目指そう

    CodinGameであと5問解くとレベル42になるというのでEasy5問を朝飯前に解こうとしたら夕飯前までかかってしまいました放棄した問題も他に3問ありますパスファインディング左上から島を調査して島に番号をつけ、周囲を測る。最大の島の番号と周囲を答える問題周囲はどんどん加えて、最後に集合型にして、被った部分を取り除いています文字列処理複数回の置き換えを行うエラー判定のほうが大変でかなりの力技で解答数値計算四角を作ってビスケットの丸生地を抜く、倹約家とそうでない人でいくつ差が出るか倹約家は残ったものから再度四角を作って型を抜くをできるまでやります条件判断ブラックジャックの手札から勝ちか負けか引き分けかブラックジャック勝ちかを答えますプログラムの半分はエースの処理ですループ処理2つの区切りの領域に最大で入る水...Python浜辺の数を数えて、replaceエラー判定に悩み、パンの生地を節約して、ブラックジャックをして、でかいバケツを探したりして、Level42を目指そう

  • Python 空の迷路の冒険をパスファインディングで解く

    CodinGameのCONTRIBUTEにSkyMazeAdventureというsoloゲームが追加されていたので遊んでみました。冒険前簡易化して空の迷路を残すロジックを追加パスファインディング実装あれ?エラーが発生デバッグ21行目の追加で状況把握。エラーの迷路、障害物が"#"だったので11行目を修正して完成WINNER!!!!と表示されてちょっとうれしい作成時タイムアウト起こしたら、どう対処したらいいのだろうと考えていましたが138ターンでも解けていましたPython空の迷路の冒険をパスファインディングで解く

  • 情報オリンピックのJOI過去問を解いてみる

    情報オリンピックのJOI過去問のサイトにいって第21回日本情報オリンピック(JOI2021/2022)本選の一問目に挑戦してみました。https://www.ioi-jp.org/joi/2021/2022-ho/2022-ho-t1.pdf30xx年にビーバーのビ太郎がJOI星人にすでに切り分けられたカステラを振る舞うのだけど、JOI星人は偶数が嫌いだから偶数の長さのカステラは半分ずつに切っていくそれが正しく切られているか検品するために指定した位置のカステラの長さを答える問題何を言っているかわからなくても大丈夫、私もよくわかっていないすでに切られているカステラの長さがa検品用に指定された複数の位置がxこんな感じで解けるただ最期のテストケースはとんでもなく長い。こんなもん解けるかいと思ったけど翌朝こんな感...情報オリンピックのJOI過去問を解いてみる

  • python tkinter で canvasに四角と文字表示

    pythontkinterのcanvasを使ってみる最終的な基本形はこちら座標指定は開始X,開始Y,終了X,終了Yが基本で幅、高さではないらしい色は自在に作る場合は文字列で"#FFFFFF"RGBが16進数2桁でつながって前に#をつける外枠を消す方法はとりあえずoutlineもfillと同じ色指定で実施create_textのanchor="nw"は指定座標を北西左上から文字を書いていくpython3.7.2で実施ソースリストimporttkinterastkroot=tk.Tk()root.title("Title")root.geometry("800x450")canvas=tk.Canvas(root,width=800,height=450)#Canvasの作成canvas.create_rec...pythontkinterでcanvasに四角と文字表示

  • python 入門 3分5題

    python入門3分5題動画の説明より全行の説明は以下に記載しています。わからない問題は止めてみてくださいCodinGameというプログラミングのサイトで入門編ClashofCodeの問題で20人以上がいいと評価した人気の高い問題を5題解いたソースを表示していきます。Q1各桁を掛け合わせていく数列30秒〜2文字列をsに[代入]4a変換回数をいれる5文字列の長さが一桁になるまで[ループ]6変換回数に1追加7-9各桁をばらして掛け合わせる文字列の[ループ]10その数値を文字列に12変換回数を表示Q2n角形の内角の和1分〜2何角形か入力3-43角形より小さければERROR表示[分岐]6-73角形以上なら内角の和を計算して表示Q3タイピング速度計算1分30秒〜4問題の文字を入力5打ち込んだ文字を入力6時間(秒)を...python入門3分5題

  • Python3 経路探索を再帰関数で解いてみました

    Python3経路探索を再帰関数で解いてみました迷路の中に隠されたaからzまで縦横の移動でつながっているものを発掘します。Python3経路探索を再帰関数で解いてみました

  • 台風14号と竹

    2022年9月19日台風14号は中国地方の北側を通過、岩国に豪雨が降って高齢者避難指示がでていました。穏やかな時の錦帯橋19日の11時53分21日の同じ場所かつて上流には材木置き場があり、台風時に流されて錦帯橋にダメージをあたえたそうで現在は材木置き場はないそうです。岩国は地面に岩盤質が多いせいか竹林を多くみかけます。その竹が根ごと流れて錦帯橋の木の脚部に絡まっています。城壁のような脚部は舳先のような流線型になっていて絡まってはいませんでした。河川敷の駐車場は侵入禁止で河に降りる道に8台だけ止まっていました。台風14号と竹

  • Python3 10分でAIを作成

    Python310分でAIを作成Python310分でAIを作成

  • 280秒でPythonの基礎を叩き込むつもりの意欲的な動画

    280秒でPythonの基礎を叩き込むつもりの意欲的な動画こんなものを、また作ってみました。280秒でPythonの基礎を叩き込むつもりの意欲的な動画

  • 水星の魔女をみた

    たまたま番組表でみかけたので録画ガンダムの主人公に女性が登場なんかアタフタ感がすごいキャラクター(あとで調べてみるとキャロル&チューズデイのチューズデイの声優さんアタフタ感を演じさせたら天下一品なのではないだろうか。)最期カタルシスで終わるだろう、どんな演出を見せてくれるのか...なんだ、この音楽はいったい誰が作った服部隆之級の衝撃が走ったあとコクピットの映像UIが半端ない気がする。そしてエンディングの曲に入る。テンポがいい。調べてみると、最期の戦闘時の音楽を作っていた人(チーム?)はどうやらエースコンバットのサウンドに関係しているようで、なるほどエースコンバットなら納得なんども見返してみる。水星から学校に転校してきた少女が運命の人を宇宙空間で救い学園最強のボスを倒して、運命の人と結ばれておそらく地球圏最...水星の魔女をみた

  • ボードゲームのAIを10分で作ってみる

    CodinGameのImpasseというボードゲームのAIを10分ほどで作ってみた動画に字幕をつけたものです。ボードゲームのAIを10分で作ってみる

  • Pygameを使って8時間ぐらいで一手で詰む画面を作ってみた

    Pygame1.9.6利用Pygameを使って3時間で一手詰め問題を作ってみようとするの続き、駒の移動に関してデータをほぼ作り直し追加時間データ設計1時間作成2時間半デバッグ1時間半ぐらい持ち駒なし、駒なりなし、駒取り勝ちなし、詰画面複数という妥協をしています完成物駒の表示系盤の表示系詰データ作成駒数二歩確認王手判定王手逃げ判定一手前作成駒の効き(単連)メインルーチンデータ設計importtimeimportpygameimportrandomfrompygame.localsimport*classUnit:#駒を表示させるためのクラスdef__init__(self,x,y,n,t):self.x=xself.y=yself.n=nself.t=tdefput(self):x,y=self.x,sel...Pygameを使って8時間ぐらいで一手で詰む画面を作ってみた

  • Pygameを使って3時間で一手詰め問題を作ってみようとする

    完成品王手かかってますが何か駒の反転は画面からドットごとに反転、これに1時間かかったのが敗因データ設計を甘くみていてグダグダなまま、作り直したほうがよさそう駒のアルファベットは桂馬e香車y角aとわかりずらい馬と竜の王手がないような気がする。桂馬のズレはみつけました持ち駒なしとか妥協に妥協を重ねて完成ですimporttimeimportpygameimportrandomfrompygame.localsimport*#一手詰の問題を延々と出題するAIを3時間で作ってみる#将棋盤の作成に30分#駒の移動、打つ位置の生成に1時間30分#王手判定に30分残り30分予定#将棋盤okgeyfhx#pygame.transform.flip(Surface,xbool,ybool):returnSurface#34文...Pygameを使って3時間で一手詰め問題を作ってみようとする

  • リアルタイムストラテジーを3時間で作ってみようとする その2 たぶん完結

    残り1時間ぐらいあったのでタイマーをセットして地形とユニットの配置に注力してみますユニットはクラスで、地形は文字列でユニットは漢字で7種類地形は闇と海と河と草原と森と荒野とラストっぽい所ユニットの表示は黒い影をいれて見やすくする一秒ごとに世界を作り直して完成importtimeimportpygameimportrandomfrompygame.localsimport*classUnit:def__init__(self,x,y,n,c):self.x=xself.y=yself.n=nself.c=cdefput(self):x,y=self.x,self.ytext=font.render(self.n,True,(0,0,0))screen.blit(text,[x*24+24+1,y*24+12...リアルタイムストラテジーを3時間で作ってみようとするその2たぶん完結

  • リアルタイムストラテジーを3時間で作ってみようとする

    2時間半でだいたい下準備は完成うち30分ぐらいはスプラ3のフェスで息抜きimporttimeimportpygamefrompygame.localsimport*screen=pygame.display.set_mode((1200,800))defwrite_board(bd):font=pygame.font.SysFont("notosansmonocjkjp",23)foryinrange(32):forxinrange(48):pygame.draw.rect(screen,(0,255,0),Rect(x*24+24,y*24+12+7,23,23))text=font.render(bd[y*75+x],True,(255,255,255))screen.blit(text,[x*24+...リアルタイムストラテジーを3時間で作ってみようとする

  • CULTIST WARSで、なんとなくシルバーになりました

    CULTISTWARSがコンテストに昇格されたので以前作った16位ぐらいだったものをそのまま投入ブラウンリーグ20位ぐらいちょっとは強いBOSS投入してあるのかなとBOSS1とローカル対戦をすると相手の教団員が、こちらの教団員の倍もいて洗脳力が足りないこのゲームは二人の教祖が裸族を洗脳して教団員にして銃を購入させ戦わせるという戦国時代のザビエルさながらの活躍をするゲームです去年のゴールデンウィークの履歴が残ってました順位って上がらない時はほんっと上がらないんですよ、というメッセージが残されていてまったく同感ですうーん、ここから手を入れるの面倒と放置していると前日の夜に3位ぐらいに上がっていて、朝CodinGameを開いてみると昇格BOSS1と熾烈な争いをしてくれた世界の誰かのおかげさまで、なんとなくシルバ...CULTISTWARSで、なんとなくシルバーになりました

  • Python3 塗りゲーのAIを作成とボスを倒して世界一位になったプログラムの解説

    こんな塗りゲーCodinGameCOMMUNITYCONTRIBUTEPAINTEDを遊んでいますプログラムの初期状態変数などを使いやすい形に変えロボットをクラス化するパスファインディングで効果的にぬるルーチンを入れる15行目のZIPを忘れたらサーバー側でヌルポが発生して、しばらくドツボにハマるボスに勝利サブミットして、はい世界一!プログラムの解説2ロボットのクラス定義時に解析用に表示もしてみる9パスファインディングのAI用の関数lengまでの長さの上下左右の検索、11行目スタックの情報は(位置長さ通った位置達スコア動いた方向達)スコアは相手塗り2点、新規塗り1点、自塗り位置0点として加算していきます20行で一番ポイントの高かったパスの最初の移動方向を返します取得データ21初期データ取得プレイヤーのID、...Python3塗りゲーのAIを作成とボスを倒して世界一位になったプログラムの解説

  • スプラ3 新規交換武器20種 各2戦ずつの結果と雑感

    シルバーチケットがたまってきたのでいろいろな武器を試してみた結果の記録FPSは苦手なので、地道に自陣塗って、技がたまったら潜り込んだりしての塗り中心遊ぶのはほぼナワバリバトルという凡人の雑記こんな感じで記載していきます無効も1つに数えますーーーーーーーーーーーーーーーーー武器名称スペシャル塗り面積倒した数-倒された数塗り面積倒した数-倒された数雑感ーーーーーーーーーーーーーーーーーラピッドブラスター無効9442-5そこそこ塗れそうホクサイショーグンワンダー7921-38764-2ショーグンはほぼ使いこなせないプロモデラーMGサメライド無効8791-4サメライド対戦してもかわせる空間があれば的になりやすいバレルスピナーポップソナー7910-18721-2武器によって塗れる定量が決まっているケルビン525ナイ...スプラ3新規交換武器20種各2戦ずつの結果と雑感

  • スプラ3の雑感

    ネットで注文する。9日15:30にようやく届く。いなかの郵便局はひとあじ遅い16:30頃開始とりあえずナワバリでレベル4へ、そしてバイト開始4戦目ぐらいでヨコズナと対決して勝利すべてが終わったその後ヨコズナとは4回ぐらい戦ったけど勝っていない3日ぐらいちょっと頭が痛くなる程度やって、これ血管固まるかもとペースダウン炭酸水とか納豆とか飲んだり食べたりして血行を改善以後、ナワバリとバイト、バイトは同じ帽子ばかり配給されたので一時中断操作感は前作と同じ感じ、Liteのスティックは2の時少しヘタったのでジャイロつきコントローラーで、少し気になったのはコントローラーの接続がすぐ切れる。前作ではほとんどなかったはず驚いたのはロビー端末のメモリープレーヤーいろいろなプレイヤー視点で過去の対戦を見直せるそして思ったことは...スプラ3の雑感

  • ここ数年の歯科での出来事、中々直らないし、えらいことされている感じがする

    1つ前の歯科歯科衛生士だろう方が歯の手入れをしたあとで連絡事項として先生、ここかけてしまったんですがと明らかに失敗の口調で報告している大丈夫とその方に声をかけた日大卒の先生はしれっと私に歯が欠けたので治療をしますけど保険がかからない箇所で2万円掛かりますと言ってきた。治療している歯ではないその次の回に今回で終わりにしてもらえますか(治療していた歯は終わっていた)というとあと一回と言われて、一回謎の確認治療をされた今の歯科欠けた歯を直すのに数ヶ月も全体のメンテナンスを歯科衛生士にしてもらっているようやく歯の周りを削ってかぶせますとの話しだったが当日虫歯がひどいので(痛みはまったくない歯)といって歯を全部取られ土台から作り直すと治療中に勝手に方針を変えられ治療中でモゴモゴしている間に歯を抜かれる神経は取ってあ...ここ数年の歯科での出来事、中々直らないし、えらいことされている感じがする

  • 世界と競う手法

    CodinGameに登場したカードゲーム6nimmt!用のAI9月頭頃、7人中5位になってます。上位は世界ランカー1、11、23位とそうそうたるメンバーがそろっていました。少しなんとかしてみます。中核となっているアルゴリズムがよくわからない過去の僕、何を書いているのだろう。効果も検証しているとなんか微妙...その判定をまるまる外してみても対して変わらなそう。そんな状況からスタートCodinGameのコンテスト以外のBotAIはあまり人が集まりません。Tシャツの威力が絶大なのかもしれませんが不明です。それでも承認が通ってゲームが始まると数人でパーティみたいなものが始まる時があります。作ってはSUBMITしてSUBMIT合戦が始まると少しの間活気があるような気がします。なんとかしてみようとした時も上位ランカー...世界と競う手法

  • BOT PROGRAMMING の命運

    CodinGameでBOTPROGRAMMINGというジャンルがあって一言でいうと、好きな言語でゲームの対戦プログラムを作成して世界中のプレイヤーと強さを競うたまにコンテストも開催され、10日間ぐらい世界6000人ぐらいの方と遊ぶものです今回はこのBOTPROGRAMMINGをユーザーが作成して承認されるまでの厳しさみたいな事を語ってみます普通のゲーム制作にも通じる所が多いと考えています発端自分の記事のアクセスランキングをみていてAtaxxというゲームの記事がトップにでているユーザーの作ったボードゲームで承認待ち(ゲーム登録をしているけど正式認可前で他のユーザーたちと仮ゲームのようなものをしてバグなどを修正する期間のもの)どんな記事だったかなーと見ていると暫定一位記事(たまに一位になった時に舞い上がって記...BOTPROGRAMMINGの命運

  • 1位を一時奪還するまで

    文字あてゲーム負けていないのに1位と当たっていなくて1位になれないケース深堀するケースをたまに見かける4文字当たっていて、残り1文字の該当単語が複数ある場合1つずつトライして最長単語数分になってしまうそこで4文字当たっていて、残りケース数が4以上の時、最後に当てたい文字を合成して答え絞り込むルーチンを組み込みます具体的にはこの上の例?ATCHが答えで該当単語がPATCHNATCHMATCHLATCHBATCHとありますそこでPNMLBという造語を作ってNがヒットしたので答えはNATCHですしかし該当ケースがなかなか現れないため何度もトライするとサーバー側が短時間分の使用限度を越えましたと止められますしかたがないのでテストケースを自分で作ってテストしてみると、案の定、データ変換ミスを発見ローカルだと1位に3...1位を一時奪還するまで

  • 一回も 負けてないのに 一位でない

    世の中には不正不平等あらゆる疑惑が溢れかえっており生きているのが疲れるというひとときが訪れたりもする疲れるの語源にツバが枯れるというのがあり、ちょこっと水を飲むだけで疲れるからは、抜け出せるかもしれないガチャを引きそこね続け、改良を続けた結果たぶん世界一位奪回とおもってSUBMIT11戦10勝1引き分け、一位の方にも2勝1分けそれでも一位になれない今までで一番納得のいかない判定だったりする世の中にはこんな不公平もあるので心配するなドンマイ一回も負けてないのに一位でない

  • Python3 文字推測ゲームを解くプログラムの修正過程

    ローカルでは勝っているのにサーバー側ではガチャに負ける本番化前の対戦数は少ないのでそんなこともあるそこで少し追加の強化をしてみる単語集を予め調べてアルファベットの出てくる数をスコア化して多い順に並べるこれは当たった微妙そして翌日、順位は4位に落ちていた何?とおもい(ほんとはまあそうだろうなんだけど気持ちだけは)あれ?まったく動いていない入出力変えたのか?(問題自体が承認前作業中なのでよくある)確認してみると単語数を増やしたとメンテ記述がある単語数が5000までになったらしい、以前は確か999仕方ない必殺のルーチンを封印ローカル対戦もバッチリそしてガチャに再び負ける夏の夜に虫と考え朝間近2日ほどこんな生活今日は寝るPython3文字推測ゲームを解くプログラムの修正過程

  • Python3 データ操作の全基礎 文字型 リスト 辞書 集合

    Python3のデータ操作のチートシートをつくってみましたs="ab3cd".replace("3","c")↑1個追加でreplaceをわすれていましたテキスト版#Python3データ操作の全基礎文字型リスト辞書集合s="012345"+"678"#文字列定義追加print("取得",s[1],s[1:3],s[0::2])#位置取得スライスprint("lensplit",len(s),s.split("3"))#長さ分割してリストへa=[1,2,4,2]#リスト定義a.sort()#ソートprint("lensortreverse",len(a),a,a[::-1])#件数表示反転a.remove(4)#削除a+=[5,2,"nine"]#追加print("removeadd",a)#削除後確認追加...Python3データ操作の全基礎文字型リスト辞書集合

  • ペントミノ風ゲームのデータ作成(集合盤)

    またCoginGameに新しいプログラム対戦ゲームが上がっていたので連日早朝までプログラム謎のマラソンに世界でただ一人立ち向かっています(数日で何人か集まることもあります)完成したものの動作ペントミノ風のゲームでボタンを集め空白の少ない方が勝ちです(ルールの把握はまだ、80%ぐらいです)マップは9x9でタイルを表裏回転させて張り詰めていきます今回はタイルの回転裏返しをたぶん割と高速に処理しているもののデータを解説してみます検討した結果、今回はボード情報、9x9の座標を1次元化させて置かれている所を集合にしてもたせますタイルクラスタイルの回転反転時の全パターンの座標とその時の置ける範囲を予め計算していますタイルを長方形にみたてて空きの座標も使えそうなので計算しています7(行目)sp回転と反転をキーにして回転...ペントミノ風ゲームのデータ作成(集合盤)

  • Python3 文字推測ゲームを解くプログラムの強化過程

    Python3文字推測ゲームを解くプログラムの制作過程の続きです強いプログラムを作るためには目が大切で以前、ゲームのプログラムコンテストの放送を見ていた時に達人の解説者が動きを瞬時に読み取っているのを見た時に思いましたちょっと動きを確認してみるともう少し絞り込めることに気がついて修正開始同じところに入れませんよ修正最初の修正は使っている文字はあって位置が違っている箇所に同じ文字は入れないです7行目から呼び出している関数ですでに使って、位置があっていないものをその行には入りませんよデータを作成して17行目の個別チェックではじくようにしています必須アルファベットは使おうよ修正8行目で計算を呼び出しして、13行目で使っていなければならない文字が1つでもあったら対象外にするように追加しました(こちらは確認できにく...Python3文字推測ゲームを解くプログラムの強化過程

  • Python3 文字推測ゲームを解くプログラムの制作過程

    CodinGameに新しくWordleが登場したので解いてみますその制作過程を説明してみます(1)初期状態CodinGameのAI作成では最初から動くものがだいたい提供されています(2)簡易加工初期状態のものからコメントを取って少しだけ整理します(3)ルール把握説明部分をgoogle翻訳で確認します(4)ルール把握その2statesの詳細が把握しきれていないので追加で調査5文字の単語を推測するゲームでヒントとして、各文字ごとに1,2,3を返します(0は初回時)1はその文字が答えにない2はその文字はどこかにある3はその文字は位置もあっているとなっています(5)骨格の作成推測する部分は全てクラスで行う事にしてみました予測した文字、返ってきたヒントをリストにして999単語の中から最初に推測したもの答える予定です...Python3文字推測ゲームを解くプログラムの制作過程

  • 2022年F#の旅 (CodinGame easyの問題を8問解いたサンプル)

    言語の超空洞を巡りレジェンドをアンロックする旅も今回で終わり残るClojureはもうやめておこう(1)火星着陸まだこの頃はF#の恐ろしさに気がついていませんでした(2)ロボットの挙動で最期までの時間を求める変数を変えられるようにするためには6行目のようなrefが必要で再代入する時は:=その変数を利用する時は変数の前に!がいるまだどこにカッコ()が必須なのかよくわかっていない10、11、12、13行はたぶん不要(3)千鳥足で歩む369002歩ほどループをブレイクする方法がないそうなので再帰で解決しています(4)神様、パワーの源はこちらでございます5,6行目()がたりないことになかなか気がつかない(5)三目ならべスライスが使えるのはありがたいS.[0::1]この言語だと0と1を取るあとスライス前の.おそろしい...2022年F#の旅(CodinGameeasyの問題を8問解いたサンプル)

  • 2022年 Bashの旅 (CodinGame easyの問題を5問解いたサンプル)

    伝説のアンロックを目指して、言語の旅をしています言語には過去現在そしていろんな潮流があり、言語世界をタイムリープしているかの錯覚も思えますなんか悟れそうな気もしますさてBashの旅は本当に一歩一歩進んでいき他の言語なら簡単な問題も未熟な己の能力のため、そびえ立つ山のようになったりもしますそんな中なんとか5問解くまでの旅へご案内(1)ダイスが右利きか左利きかそれともを答える問題Bashはプログラム言語にはめずらしく文字列が世界の基本であり計算をしたければ(())でくくった数値空間を形成して、その中で行わなければならないこの理を知らないと生きてはいけない(ことはない)if文[]の中で比較しているのは実はすべて文字列8行目の777は数値ではなく文字列${d:2:1}は文字列dの2番めの位置から1文字取るという意...2022年Bashの旅(CodinGameeasyの問題を5問解いたサンプル)

  • プログラム言語 できない時はコツコツと Bash 2問だけ解く

    CodinGameの言語レジェンドを黙々とアンロックするマラソンを一人、月の裏側の砂漠のテントでしています(気持ちは)ここ数日で新規でGoLuaCSwiftTypeScriptObjective-CDPascalGroovyを心折れまくってアンロックしました残る種目はClojureF#Bashくせもの揃いでまた1年後ぐらいの自分にタスキを渡したいぐらいですそしてやる気を少しためてClojure力を振り絞ってサッパリ解けませんでしたもう一問やってみましたがそちらもサッパリ難しい理由としてネットの情報が少ない、エラーメッセージが意味不明すぎる所でしょうか?私は1を足すことすらできていませんスコープなども理解していないのでしょう過去の自分よく5問も解けたものだと感心して終了ということでBash(1)くくれている...プログラム言語できない時はコツコツとBash2問だけ解く

  • CodinGame easyの問題をGroovyで6つ解いたサンプル

    groovy、とても使いやすい言語でこの6問1時間ほどで解けましたこれほど使いやすいのに流行っていないのは不思議ですJavaに依存するからなのかもしれませんJavaから派生する言語がいくつもあるというのも、よくよく考えると不思議さて、(1)くくれていますか問題一般的な言語の使い方に近いのか、この問題何一つ調べないで解けました(2)三目並べの勝つ手を探す調べたのはsubstringのみ(3)ふらふら歩くこれも何も調べず(4)くくれていますかレベル2調べたのはindexOf(5)文字をデコレーションする(6)キングさんルーク、ナイト、クイーン、ビショップにチェックされてますか?9行目の記述方法をgroovy配列ループで検索して1つ目か2つ目のサイトで目的のものが見つかるCodinGameeasyの問題をGroovyで6つ解いたサンプル

  • CodinGame easyの問題をPascalで6つ解いたサンプル

    Pascalという言語、平成に入った頃はわりとメジャーな開発言語だったりして実際に開発していたこともある久しぶりに伝説目指して、また砂漠へ旅立つことにする(1)指定のランダムを使ってさまよって、原点に戻って絶望するまでの歩数を答える代入が:=括りはbeginend;if文で同じは=1つ27行目の条件でandの前後にカッコがないとなんかエラーになるifはthenelse(2)くくれていますか?正しく、くくれいてる位置までを答えます文字列の括りは’シングルクォーテーション関数名は大文字から(3)火星着陸この火星着陸は砂漠の中でオアシスのような問題(4)馬の位置からもっとも接近している長さを求める例によってタイムアウトなのでギブアップ(5)くくれていますかレベル2if文のorの前後にもカッコがないとエラーがでま...CodinGameeasyの問題をPascalで6つ解いたサンプル

  • CodinGame easyの問題をD言語で7つ解いたサンプル

    D言語はわりととっつきやすいJavaScriptあたりと似ています文字列を追加する時に~文字列sのa文字目からb文字目までを取る時はs[a..b+1]文字列を数値化するのはto!(int)sぐらいの検索でだいたい対応できました(1)指定されたランダム生成器で上下左右にフラフラと歩き出し元に戻るまでの歩数(2)三目並べ文字列操作なれるのに少し手間取りましたスライスつかって一文字もすべて文字列として考えています(3)くくれていますか(4)馬の位置から最も近いものを答える数列超ロング問題で値を入れて標準のソートができなかったのでgiveupです6行目配列の定義、9行目追加、11行目ソートのサンプルにはなってます(5)くくれていますかレベル214行目replaceの書き方は調べました(6)火星に着陸した言語も20...CodinGameeasyの問題をD言語で7つ解いたサンプル

  • CodinGame easyの問題をObjective-Cで4つ解いたサンプル

    Objective-Cの砂漠を歩き続けている(1)くくれていますか問題(2)三目並べの一手使いやすい文字型などここにはない、Charで全て解くと覚悟を決めました(3)アルファベットをデコレーションする力戦系の将棋を指している気分でほんと力技で解いています(4)さまよって原点に戻る問題もう私のObjective-Cの力で解けるeasy問題などないとあきらめてかけていたらまさに砂漠をさまようような問題が蜃気楼のように現れましたついにアンロックこんな称号もつものいないだろうと世界ランカーを上からみていくと10人中3人いました砂漠は広いぜCodinGameeasyの問題をObjective-Cで4つ解いたサンプル

  • Objective-Cはあきらめたと記事を書き終える寸前に回避法を思いつく

    火星には無事着陸馬の差を探す旅でObjective-Cをあきらめた配列に数値を入れてソートするそれだけなのにあきらめた11行目でループの中で配列に数値を入れるループの外に出るとちゃちゃーん元に戻しておきましたこのロジックよく作ったと思うけどそこからポインタとか使って回避するのだろうか?ここでグローバル配列にしてしまいNはわからないけど仕様上限いっぱいまで予め取っておく事に気がつくあやうく砂漠で干からびるところだった(最近いろんな言語でeasy問題を解きまくっていて、ふと冷静に考え誰もたどり着くことのない砂漠の旅の道標を残しているような気がしている)Objective-Cはあきらめたと記事を書き終える寸前に回避法を思いつく

  • CodinGame easyの問題をTypeScriptで5つ解いたサンプル

    ググって調べたのは全てJavaScript文字列操作の問題4行目が全て文字列置換の問題文字列とバイト文字との格闘5と6行目苦労しています配列ソートの問題hs.sort()数列だと、うまく動かない罠あり火星着陸の問題特に無風状態で余計な計器を大気圏外で外していますマルバツの問題最後に関数を作ってみましたということで5問クリアCodinGameeasyの問題をTypeScriptで5つ解いたサンプル

  • CodinGame easyの問題をSwiftで7つ解いてみる

    Swiftなれればなんとか使えるようになりました文句を言わず黙々とできるようになりたいものです過去記事が役に立ちましたSwiftのチートシートを作って疲れ果てた末、テストを受けてみる(1)馬の位置から一番距離の短いものは?4行目空の配列12行目ソート(2)2つの数列で最初に出会うのは6行目関数の受け渡しパラメータはconstのようなのでコピー(3)くくれていますか(4)問題はよくわかっていない...別の言語のソースを移植12行目countは文字列の長さ(5)上から順にたたく(7)くくれていますかレベル2(8)文字列を文字コードからビットコードにしてさらに0とスペースの謎コードに変換する4行目cを文字コードに変換して2進数にして7桁になるように0埋めしたもの連結しています12行目!は変数とくっつけると化学反...CodinGameeasyの問題をSwiftで7つ解いてみる

  • Swiftすげえぜ

    ここ2日いろいろな言語の方言を解釈する事に苦労しています次にSwiftにかかってみますが1問で私のやる気をここまで削ぐとはSwiftすげえぜ(1)三目並べで勝つ手を置いた盤を表示するはまった所、文字列から指定した一文字を取り出す事が大変何度も使うので関数化する文字列型から先頭何文字かを取得すると、文字列とは違う型になってしまうString()で都度矯正関数の呼び出し時に関数で定義した受け渡しの変数名も書かなければならない流石に何かありそうな気もするObjective-Cを使っていて、文字列型で悩んだ平成の中期を少し思い出した15問解くまで、あと7問もあるのか...Swiftすげえぜ

  • CodinGameでeasyの問題をC言語で5つ解いたサンプル

    C言語は今となっては黎明期の言語で文字列の実装がとぼしいので、いざとなったら自分で実装するしかない言語(1)馬の位置がデータとして与えられ一番接近している馬の距離を求めるような問題ベタなソートでタイムアウトしたときは諦めかけましたクイックソートのサンプルが見つからなければ解けなかったでしょう(2)火星に着地(3)カッコの括りチェック(4)カッコの括りチェックレベル2位置決めなどは何度も確認と修正して、文字列置換のようなものを実装していますC言語だとcharをくっつけて最期の文字コードを0にして文字列のように扱っています(5)三目並べで一つ置いて勝つ画面を表示極力char対応目標達成CodinGameで総合世界一位の方はBotAIをほぼC言語で作成していますC言語という実装が難しい言語で...すごいこれくら...CodinGameでeasyの問題をC言語で5つ解いたサンプル

  • CodinGameでeasyの問題をLua言語で6つ解いたサンプル

    今度はLua言語、残り6問で伝説になれるので修行開始罠っぽい所は太文字で解説してみました(1)2つの数列の最初に交わる場所を答えます次の値はその数字をばらしてたします最初、関数を後ろにしていてattempttocallanilvalueが発生していました#Sは文字列の長さ比較のnot=は~=(2)三目並べで勝つ盤面を答えます文字列、配列の添字は1から文字列の結合は..if文にendが必須比較のnot=は~=(3)また火星に着陸します(4)ゴールした馬たちの中でもっとも僅差の長さは?テーブル(配列)の定義、追加、ソートなどを使っていますテーブルの定義はt={}(5)惑星にビームを発射します高い順に(6)簡単なコンパイラを作成するようですPython3のソースを移植してみました複数行のコメントは--[[]]CodinGameでeasyの問題をLua言語で6つ解いたサンプル

arrow_drop_down

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

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

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

商用