gotutiyan’s blog

プログラミング関連の話題を中心に

【入門】processingで最小限のブロック崩しを作る

この記事は,processingを用いてブロック崩しを作るためのチュートリアルです.初心者でも完成までたどり着けるように、詳しく書いていきたいと思います. 出てくるプログラムの知識は int型, float型、変数、if、for程度です.どれも事前知識があると嬉しい…

甲南大学知能情報学部の講義感想

はじめに 甲南大学の知能情報学部の講義について,学べることや感想を書いていきます.あくまでも,僕が受けた授業についてのみ書いていることにご注意ください. また,講義の内容については,各講義のシラバスが最も正確であり,最も信憑性が高いというこ…

【Pytorch】ミニバッチ学習に便利なDataSet・DataLoaderの使い方

はじめに 深層学習によって学習を行う際には,ミニバッチ化して学習させることが一般的です.本記事では,pytorchで提供されているDataSetとDataLoaderという機能を用いてミニバッチ化を実現する方法について書きます. はじめに ミニバッチ化とは DataSetと…

【python3.x】 練習問題55本ノック【問題と解答】

はじめに ここではpythonの練習問題を掲載しています. データを処理する際には,必ず「データの格納」と「データの取り出し」を行うことになるので,その方法を知ることを目的としています.問題は暗算で解けるものや,頭の中で答えが分かるものが多数あり…

【python3.x】 練習問題55本ノック【問題のみ】

はじめに ここではpythonの練習問題を掲載しています. データを処理する際には,必ず「データの格納」と「データの取り出し」を行うことになるので,その方法を知ることを目的としています.問題は暗算で解けるものや,頭の中で答えが分かるものが多数あり…

書評・感想:リーダブルコード

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)作者:Dustin Boswell,Trevor Foucher発売日: 2012/06/23メディア: 単行本(ソフトカバー) どのような本なのか タイトル通りと言えばそれまでですが.「いか…

Processingという言語は何ができるのか

0. はじめに ここでは,Processingという言語について,何ができるのかを解説します. processing.org 大学などで行われるプログラミング教育では,学習の入り口としてProcessingが使われることがあります. これによって,学習者は2つのことを習得します.1…

processingにおけるシーン遷移(画面遷移)を実現する一般的なテクニック

はじめに 基本アイデア 実装例 1. draw()に直書き 2. 関数を呼び出す 3. シーンを文字列で指定する 単純なゲーム制作で理解するシーン遷移 共通部分の追加 スタートシーンの追加 ゲームシーンの追加 クリアシーンの追加 おわりに はじめに ここでは,process…

【入門】processingで最小限の一筆書きゲームを作る

本記事は,processingで一筆書きのゲームを作る記事です. 早速ですが,完成版は画像のようになると思います.マウスを使ってマス目をなぞり,なぞったところは赤くなります.全てのマス目をなぞることができればクリアです. 完成予想図 まだprocessingをよ…

HackerRankでコンテストを主催する方法

競技プログラミングの世界では,様々なサイトでコンテストが開かれています.具体的には,AtCoderやCodeForcesなどです.その中でも,HackerRank(ハッカーランク)というサイトは,自分でコンテストを開けることが特徴です.今回はその具体的な方法について…

カメさんぽ攻略Tips集

はじめに カメさんぽを知らない人はこの記事にたどり着いていない気がしますが、これはカメさんぽの記事です。カメさんぽはカービィで有名なハル研究所のゲームで、歩数によってカメ達と仲良くなるゲームになっています。 本記事では、ゲームを進める上で知…

2019振り返り

2019年も終わりです.結構,年が変わったとて特に何かあるわけではないと思っているタイプですが,せっかくなので振り返りをします.時系列は全く考慮していません. 競プロ 競技プログラミングは,やはり今年はそれなりにやったと思います.10月ごろからは…

CodinGame「UNLEASH THE GEEK」参加記

CodinGameというサイトの10日間コンテスト、「UNLEASH THE GEEK」に参加しました。Bronzeリーグ到達、世界1354/2162、日本52/62の成績でした。 www.codingame.com はじめに これはCodinGameのコンテストに初めて参加した人の感想です。技術的な攻略はあまり…

requestsとbeautifulSoup4でスクレイピングをしてみた

スクレイピングとは webサイトから必要な情報を抜き出してくることです。 requestsとは pythonのモジュールの一つで、httpの通信ができます pip install requests beautifulSoupとは pythonのモジュールの一つで、webサイトのデータを入力して、それを解析し…

ABC136 D Gathering Children

問題 atcoder.jp 解説 最終的にどのような状態になるのか 軽くシミュレートをすると、子供たちは、最終的に"RL"または"LR"であるような境界を行き来するだけになります。文字列の長さに対して回も移動するので、これは確実です。 そこで、このような境界にお…

ABC117 D XXOR 解説

問題 atcoder.jp 数列Aの全ての要素とのxorを最大化するようなK以下の整数を求めよ。 解説 公式解説の序盤について、Xの候補となりうる整数とは Xがなんでも良ければ難易度が下がりますが、K以下というところが難点です。 まずK以下の整数とはどのようなもの…

ICPC2019 国内予選参加記

開始前 リハーサルと授業がモロ被りしてたので、リハーサル残り20分地点でJ,KをAC。問題のアルファベットが本当にJ,Kだったかは忘れました。その後15分くらいで「短句」を解こうとしましたが、本当に何が間違えているのか分からず解けなくて、「まあもう時間…

【入門】processingで最小限のシューティングゲームを作る

はじめに 座標系 setup()とdraw() 初期設定 自機を作る マウスに追従させる ビームを撃つ 敵を作る 乱数 上から落とすということ 下まで落ちればまた戻る 敵を「倒せる」ようにする 1体から複数へ 複製するということと、配列 効率の良い配列へのアクセス …

Processingで始める周期運動

こんにちは。KSWLのごつちやんです。 ここでは「三角関数を使って何かする」ことを「周期運動」と銘打って、processingを使ってやっていこうと思います。 processingのインストール processingのインストールについては他にもたくさん記事があると思うので、…

Atcoder ABC99-D GoodGrid

問題 D - Good Grid色iを色jに塗り替える時に感じる違和感と、色が塗られたマス目の情報が与えられる。この時、(i+j)%3=(x+y)%3となるような(i,j),(x,y)のマス目は全て同じ色に塗らなければならない。感じる違和感の最小値を求める。 解説 全探索をします。 …

yukicoder No.643 Two Operations No.2

問題 No.643 Two Operations No.2 - yukicoder解説 この解説は多分悪い例として見ていただくのが良いと思います。 考察のできる人は、公式解説通りに考えられるのでしょう。でも僕にはそんな思いつきはありませんでした。ならマシンパワーに頼るしかない、と…

yukicoder No.739 大事なことなので2度言います

問題 No.739 大事なことなので2度言います - yukicoder 解説 文字列を半分に切って、同じかどうか判定します。文字列を抽出するsubstr(開始index, そこから何文字か)を利用すると簡単にかけます。 substr()の使用例は以下のような感じです。 string s="abcd…

processingでエクスポートすると画像が出ない話

processingは、「アプリケーションとしてエクスポート」すると、.exe(Windows)や.app(Mac) などの形式で出力できます。 しかし画像ファイルを扱っていた時、単に出力しただけでは起動ファイルを実行しても画像が表示されません。 解決策 出力前にコーディン…

ノイズ木構造

ノイズ木構造再帰とノイズでえっさほいさとhttps://t.co/L4cClmSyyP#processing #creativecoding pic.twitter.com/4InhLRMLSg— string s="ごつちやん"; (@gotutiyan_kapi) October 8, 2018再帰関数で二分木をどわーっと書いて、点をノイズで揺らしてみました…

ランダムウォーク2

先日のランダムウォークを改良しました。 gotutiyan.hatenablog.com方向ベクトルを斜めにして、軌跡を点線に。さらに円の内部を動く色付きのものと、円の外を動く白色のものに分けてみました。ランダムウォークをもう少し改良〜コードと解説は以下からhttps:…

processing: ArrayListのadd()で配列の要素が全部同じになった話

ArrayList::add()の様子がおかしい・・? 見事にハマったので感想をば。ランダムウォーク - gotutiyan’s blog このランダムウォークを実装しようとしたとき、円の軌跡を残すために前100フレーム分の座標をArrayListに格納して管理しようとしました。このとき…

ランダムウォーク

TLで見かけたランダムウォークをProcessingで実装しました。ランダムウォークを見たので描いてみました。これすごく好きです。実装解説とコードは以下から。https://t.co/drS6Pxb2H5#processing pic.twitter.com/Ss7Bu3VyDo— string s="ごつちやん"; (@gotut…

2018/9/4 虹色四角の周期性回転

虹色の四角を何重にも描いて、回転をすることで良い感じになりました。 やってることはよくある回転ですが、何回見ても綺麗ですね。 float seed[]=new float[250]; void setup(){ size(500,500); colorMode(HSB,360,255,255); for(int i=0;i

ABC 108(9/1) A,B,C問題の思考過程

なんか3完で58位を取れたので思考過程を書きます。珍しくA→C→Bで解きました。 A問題 簡単な掛け算で解けそうでしたが、その式を考える時間で愚直ループ解を実装できそうだったのでそっちにしました。偶数の個数と奇数の個数を数えて掛け算します。 int ma…

アステロイド曲線

アステロイド曲線で遊びました#openframeworks コードは以下からhttps://t.co/Lljyp5LFpN pic.twitter.com/XLAQYIpiB6— string s="ごつちやん"; (@gotutiyan_kapi) August 9, 2018 この前にリサージュ曲線を描きましたが、次はアステロイド曲線です。リサー…