こんばんは
Processing言語で作った迷路プログラムは通り抜けるコースがどうもダラダラと長くなります
迷路作成のアルゴリズムには主に①棒倒し法②穴掘り法③壁作り法の3種類あり、今回は②穴掘り方で作ってあります
この方法では穴が掘れなくなるまで延々と穴を掘るので初めの頃の通路が長くなり、その結果通り抜けコースがだらだらと長くなる傾向があります
他のアルゴリズムを試してみようと思い③壁作り法を作っていましたが、少し混乱してきて今は少し休んでいます
アルゴリズムとしては②穴掘り法とよく似ているんですけどねぇ・・・
休んでいる間にProcessing言語について少し調べていると、Pythonにも対応していることがわかりました
つまりProcessingは言語ではなく統合開発環境で言語としてはJavaやPythonなどの言語が選べると言うことです
Processing特有の組み込み関数はどの言語にも対応しているみたいです
勘違いしていました
ならばと言うことでProcessingにPuthonをインストールして、ラズパイのPythonで作った迷路のコードを移植して見ました
それぞれ迷路を作るところの関数です
これはPython言語
これはJava言語
どうですか?
Pythonの方が見た目スッキリしていますね
スッキリしているとかステップ数が少ないとかだけで言語の良し悪しは判断できませんが、好き嫌いはわかると思います
例えば上のPythonの80行目「stack.append((x1,y1))」1行で済んでいますが、Javaでは209行目から4行になっています
Pythonでは(x1,y1)を配列stackに追加すると言うことがすぐにわかります
Javaではまずstack.append((x1,y1))を格納する配列stackXYをArrayListクラスのインスタンスとして作り、x1とy1をそこにセットしてあらかじめ作ってあるArrayListクラスのインスタンスstackに追加しています
まあ確かに好みの問題ですが、Pythonの方が好きですね
世界の3大コンピュータ言語は①C②Java③Pythonです
CはCとC++とC#の合計なのでそれぞれ別に捉えると1位はJavaになりますPythonは健闘していますがシェアはJavaの1/3程度でC#にも少し負けています
CとJavaは表記が似通っていて僕の目には同じような言語に見えます
と言うことはコンピュータの世界ではJavaとCができた方がいいと言うことですが、まあ趣味の世界なので「お好きな方で」と言うことです
まあProcessing環境でPythonというのもこだわっていて面白そうですが、一つだけ気になるのはPythonモードの時はデバッガがない
あまり使うこともないのですがデバッガがないとちょっと不便かもしれないですね
昨日注文した本は2冊がProcessingの本で言語は当然Javaになっています
ということでしばらくはJavaで遊ぶことにします
こんな本がありました
第1問|簡単ペイント
第2問|間違い探し
第3問|神経衰弱
第4問|パルクール
第5問|ルーレット
第6問|アナログ時計
第7問| Fisica 導入
第8問| Fisica で画像を描画
第9問|カーレース
第10問| Paint Drops
第11問|ビリヤード
第12問|パチンコ
第13問|ピンボール
第14問| 3D雪だるま
第15問| 3Dホッピングカラー
第16問| 3D天体
第17問| 3Dゴミ回収車
第18問| 3D迷路
第19問| 3D球ころがし
面白そうですね、いつか買うことになりそうです
※コメント投稿者のブログIDはブログ作成者のみに通知されます