How to (not) code a Reversi

  Рет қаралды 186,707

ヘロンの数学ちゃんねる

ヘロンの数学ちゃんねる

Күн бұрын

Real men do not define classes.. (Don't try this at work or you will lose your job)
■ Example Code
editor.p5js.or...
■ License
音楽 ... フリーBGM・音楽素材MusMus musmus.main.jp/

Пікірлер: 98
@heron-no-suugaku
@heron-no-suugaku 3 жыл бұрын
🤔 なぜ会社で(チーム開発で)この技法をやるとまずいのか 🤔 Why I put "(not)" in the title チーム開発では、↓のようなクラス(interface)を作ります。 class Game { init() //盤面を初期化するメソッド putDisk(x,y) //座標xyにディスクdを置く isPlaceable(x,y) //座標xyにディスクが置けるか調べる 等... } こうしておくと、他の人、UIを作る人などが格段にコードを書きやすくなるからです。 // クリックしたとき…… if (game.isPlaceable(x,y)) { // 置ける場所なら置く game.putDisk(x,y); }else{ // ダメなら音で知らせる ui.playSound("NG",x,y); } クラスを用意しておかないと、サンプルプログラムのmousePressed関数のように、UI側のコードがわかりづらくなってしまいます。 ただし、メソッドの中身(実装)は他の人が直接触らないので、多少技巧的になっても問題ありません。 //なんか読めないけど超エレガントな関数 Game.isPlaceable(x,y) { return pumomoenguegegionmoetyottyottyassa; } In a team dev, we usually create a class (interface). class Game { init() putDisk(x,y) isPlaceable(x,y) etc... } This is because it makes it much easier for other people, such as UI designers, to write code. // when the player click the board.. if (game.isPlaceable(x,y)) { game.putDisk(x,y); }else{ ui.playSound("NOPE.wav", x,y); } If there are no class, the UI code gonna be a mess, like the mousePressed function in the example code. However, since the implementation of the methods are not directly touched by other people, it is okay to be a bit technical. // an elegant function but nobody can read Game.isPlaceable(x,y) { return pumomoenguegegionmoetyottyottyassa; } .
@k__i
@k__i 3 жыл бұрын
返り値の変数名が汚くて草
@nameaka2936
@nameaka2936 3 жыл бұрын
古代グルジア語やん
@いむ-z7o
@いむ-z7o 3 жыл бұрын
意味不明な英字の羅列が読めてしまうのは何故
@kkdbsr
@kkdbsr 3 жыл бұрын
import GBAD
@yamatoosafune7124
@yamatoosafune7124 3 жыл бұрын
自分の環境では普通にコードレビューされるので真似できない・・・
@cat_the_vlover
@cat_the_vlover 3 жыл бұрын
納期3分は草
@odabanga
@odabanga 3 жыл бұрын
2:45 うっそだろお前wwwww
@岩田勝-z2n
@岩田勝-z2n 3 жыл бұрын
ちょちょいと作ってしまう貴方は神です!
@kjsaka
@kjsaka 3 жыл бұрын
テーブルの行の前後に1行ずつ、列の前後に1列ずつ、空固定の行と列を足したテーブルにしておくと、テーブル内を調べて行くループで添え字の判定が不要になります(空の行や列の中味を調べたときに空が理由でループから抜けるから)。ループの判定処理も簡素化されますし、AIの処理が複雑になってテーブルの中味を見る処理が膨大になったときに、処理時間に差が出ます。
@CapGame_
@CapGame_ 3 жыл бұрын
しれっとラストパス対応出来てない…? 方向出すために三角関数使う発想すごいです…
@nekoretu
@nekoretu 3 жыл бұрын
会社でやってはいけないっていうのは、分割してチーム開発する際の可読性とかの問題の事だったんですね。 タイトルと概要の説明を動画でちょっとしてほしかったかも。。
@織田豊-b3z
@織田豊-b3z 3 жыл бұрын
毎回、絶頂できるいいコード書きますね
@heron-no-suugaku
@heron-no-suugaku 3 жыл бұрын
DLSiteに進出しようと思います
@chachamaru0909
@chachamaru0909 2 жыл бұрын
@@heron-no-suugaku 草
@volatilerye
@volatilerye 3 жыл бұрын
あっ、おい、待てぃ!肝心な所(パスの処理)洗い忘れてるゾ
@himashin3451
@himashin3451 3 жыл бұрын
「(江戸っ子)」が入っていない-114514点
@ばらさん-b5d
@ばらさん-b5d 3 жыл бұрын
顧客「自分が置いた瞬間に相手に置かれるとぉ、ちょっと早すぎるんだよねぇ。2,3秒後に置いてくれないかなぁ」
@jikantoki
@jikantoki 3 жыл бұрын
for i in 0..9999{}
@panzerkampfwagenvitigeraus2364
@panzerkampfwagenvitigeraus2364 3 жыл бұрын
@@jikantoki フンッ!!!!!!!
@AA-pc7us
@AA-pc7us 3 жыл бұрын
冗談だよな…
@gmaiI.com.
@gmaiI.com. 3 жыл бұрын
await new Promise(resolve => setTimeout(resolve, 1000*(Math.round(Math.random())+2))) // async function mousePressed()にして、96行目に追加
@AA-pc7us
@AA-pc7us 3 жыл бұрын
良かった…
@Diagreen86
@Diagreen86 3 жыл бұрын
昔、excelのvbaでこれを作って遊んだ思い出が浮かんで、その時のスクリプトを見たらやっぱ本家言語最高だなぁーと思っちゃった。
@wimper4591
@wimper4591 3 жыл бұрын
@Kei N いま韓国アイドルが流行ってるらしくて、それで韓国語の人がいるみたいだよ バカみたいだねw あとネタだったらスマソ
@Diagreen86
@Diagreen86 3 жыл бұрын
@Kei N 네, 한국인입니다. 게임을 좋아해서 일본어 공부하다보니 조금은 할 수 있게 된 것 같습니다. 이런 어리숙한 말을 그렇게 평가해주시다니 감사합니다. はい、韓国人です。ゲーム好きで日本語を習ったら少しは出来るようになりました。こんな未熟な言葉をそんなに評価してくださってありがとうございます。:)
@storks2838
@storks2838 3 жыл бұрын
@@wimper4591 どんまいやで
@くりーむ-u3k
@くりーむ-u3k 3 жыл бұрын
直線で全マスを調べたり三角関数で方角決める方式もあるのかと感心しました。なるほどー 私が作った時は(dx,dy)で方角を設定して、再帰探索でひっくり返す枚数と座標を計算したので。
@3o1415926535
@3o1415926535 3 жыл бұрын
まあ普通に考えたらそれですよね 三角関数のほうが一般的にかけるからこのケースだとコードが小さくて最適だったのかなあと思いながら見てました
@siu_mai
@siu_mai 3 жыл бұрын
今はほぼわからんがいつか必ず理解してやる
@DrEpico
@DrEpico Жыл бұрын
2年経ったよ
@ryoichinose-y9z
@ryoichinose-y9z 3 жыл бұрын
勉強ネタとして非常に参考になります!いつもありがとうございます。
@zza7093
@zza7093 3 жыл бұрын
方角の概念、三角関数で表せるのこの動画で知った! めっちゃ良い
@bake3209
@bake3209 3 жыл бұрын
これは完全に趣味用のコードだけど、こんなコード書きたくなる気持ちもよくわかるw
@北条練
@北条練 3 жыл бұрын
「三角関数もあるよ」という一文で、なぜか釣られた自分。
@yamaguchi11057
@yamaguchi11057 3 жыл бұрын
ちょいちょい語録挟むのほんと草
@paseri9697
@paseri9697 4 ай бұрын
手続き型で書けるのすごい
@youtsube09
@youtsube09 3 жыл бұрын
座標値が整数なので三角関数を使うのはちょっと気持ちが悪いなぁ~。自分ならコード量が増えても愚直に(dx, dy)を要素とした8個のリストを書いちゃいます。
@tamago9760
@tamago9760 3 жыл бұрын
すごい!技が詰まってるかんじしますね
@kurokuro319
@kurokuro319 3 жыл бұрын
【動画見た感想】 ぷももえんぐえげぎぎおんもえちょっちょちゃっさっ 【共有事項】 function gabaanaDaddy(x, y){ if (x == "Oppaigakimochiii" && y == "omankogakimochiii"){ return "gamandekinai!!" } } ※ MIT License
@heron-no-suugaku
@heron-no-suugaku 3 жыл бұрын
穴が緩いからってライセンスまで緩くて草
@swiminfish
@swiminfish 3 жыл бұрын
タイピングめちゃくちゃ早いですね!!
@cojitube
@cojitube 3 жыл бұрын
vimのplugin入ってるからね
@nino1991jp
@nino1991jp 3 жыл бұрын
納期1日増やすから3人で遊べるようにしてほしい()
@nemmu_natto
@nemmu_natto 3 жыл бұрын
3人リバーシは草 裏返せないし()
@nino1991jp
@nino1991jp 3 жыл бұрын
@@nemmu_natto じゃ昨今流行りの量子力学にならって裏にも表にもなり得る第3の状態も
@nemmu_natto
@nemmu_natto 3 жыл бұрын
@@nino1991jp 裏でも表でもあるのか(?????)
@nino1991jp
@nino1991jp 3 жыл бұрын
@@nemmu_natto 置いて観測するまで裏なのか表なのか或いは両方すらあり得るオセロの駒 量子力学なんて堅苦しいものよりシュレディンガーの猫の方分かりやすかったかな
@nemmu_natto
@nemmu_natto 3 жыл бұрын
@@nino1991jp なんか22世紀のおもちゃにありそう(???)
@user-lg7lr5up8x
@user-lg7lr5up8x Жыл бұрын
勉強になります。
@まさやん-q4e
@まさやん-q4e 3 жыл бұрын
100行で実装はすげー!研修の時Javaで書いたけどもっとあった
@yoowhene2710
@yoowhene2710 3 жыл бұрын
古典的なアルゴリズム!
@aa-gl9mq
@aa-gl9mq 3 жыл бұрын
今回用いた三角関数についての解説を詳しく聞いてみたい
@ふくまる-k5p
@ふくまる-k5p 3 жыл бұрын
これで仕事減るかと思ったら分野が まず違った。
@bobfredrick4451
@bobfredrick4451 3 жыл бұрын
凄い
@YM-bv1ll
@YM-bv1ll 3 жыл бұрын
こういうの見ると才能だなって思う
@jojo-fz9cb
@jojo-fz9cb 3 жыл бұрын
これ相当むずいだろ。 もっと砕いてほしいわ。
@AOI-v3q
@AOI-v3q 3 жыл бұрын
勉強サボってたわい、見事に全くわからん
@user-ol4qh1fj3r
@user-ol4qh1fj3r 9 ай бұрын
これはcanvasで書いてるんですか?
@リンケジグ
@リンケジグ 3 жыл бұрын
はえー、すっごい
@物理教室
@物理教室 3 жыл бұрын
つよすぎいい
@teknalb
@teknalb 3 жыл бұрын
サムネに「ポロリもあるよ!!」みたいなノリで「三角関数もあるよ!!」って書くなよww
@緑川暉昌
@緑川暉昌 3 жыл бұрын
三角関数(ボロン
@早打
@早打 3 жыл бұрын
@n_kura88m
@n_kura88m 3 жыл бұрын
@@緑川暉昌 ふぅ...
@午後の紅茶-r4z
@午後の紅茶-r4z 3 жыл бұрын
@@n_kura88m ええ…
@なおき-d3o
@なおき-d3o 3 жыл бұрын
ポロリと同じくらい一瞬しか登場しないのな
@TheStreetBeam
@TheStreetBeam 2 жыл бұрын
勝った! 真っ黒にできた!
@hiroyuki5668
@hiroyuki5668 3 жыл бұрын
ゲームプログラミングの技術の歴史とか解説して欲しいです
@TOU1186
@TOU1186 3 жыл бұрын
久しぶりに見たらなんかイントネーション治ってて草
@うめはち
@うめはち 3 жыл бұрын
オセロって闇雲にたくさん取ってたら負けるゲームだったような…。
@kaj694
@kaj694 2 жыл бұрын
だから古典的なって...
@keepbryan6697
@keepbryan6697 3 жыл бұрын
Ah... This can be made such easily... T_T I had spent so much time with headache...
@lien2353
@lien2353 3 жыл бұрын
最後負けてて草
@すずりん-u1g
@すずりん-u1g 3 жыл бұрын
ささっと、いとも簡単にプログラム組めてて天才的ですね・・・(めっちゃ尊敬します!) と思ったらびっくりするくらいリバーシ弱くて草
@mei9316
@mei9316 3 жыл бұрын
この動画だとホントにさくっと作ってるように見えるけど、実際はちょっと時間かかるよね。
@ねこ-o9o2o
@ねこ-o9o2o 3 жыл бұрын
三角関数、いる?()
@yuya5721
@yuya5721 3 жыл бұрын
何してるんか分からんww どーやったらこんな知識つくの?笑
@ポンコツ屋末代
@ポンコツ屋末代 3 жыл бұрын
動画の最後、勝てました?
@djcoziness8487
@djcoziness8487 3 жыл бұрын
顧客はコギャルだったのですか?
@channel-ml5hq
@channel-ml5hq 3 жыл бұрын
現役(底辺)SEだけど説明が全然わからない。 教科書に出てくるような関数は分かるけど、特有のライブラリとかにあるような関数がわからね。
@はんなり-v4v
@はんなり-v4v 3 жыл бұрын
リバーシをサクッと作ってて驚きました。 知識浅で申し訳ないのですが、これは何という言語に分類されるのでしょうか。
@ryuuuu4724
@ryuuuu4724 3 жыл бұрын
これはJavaScriptと言うやつですね。
@はんなり-v4v
@はんなり-v4v 3 жыл бұрын
教えてくださり、ありがとうございます!
@ごろうまる-p2r
@ごろうまる-p2r 3 жыл бұрын
このオセロの緑のやつ見た感じ常に表示されてるようですけど、どうやって出すのですか?そもそも初期設定や言語はどうやってするのですか?
@heron-no-suugaku
@heron-no-suugaku 3 жыл бұрын
うちのチャンネルではp5.jsを使っています。↓の動画で解説してます🐤 kzbin.info/www/bejne/qJWqfJpsi8d5eNE
@ごろうまる-p2r
@ごろうまる-p2r 3 жыл бұрын
@@heron-no-suugaku ありがとうございます。検索しても名前が分からなかったキャンバスとかそれだけでも知れて嬉しいです
@iromizu641
@iromizu641 3 жыл бұрын
いいなあ高級言語・・・僕がゲーム作ってた時代はアセンブラしかなかったからなぁ・・・。っていうか三角関数は蛇足なんじゃないかと思うのは僕だけでしょうか?
@tadashifujinaga
@tadashifujinaga 3 жыл бұрын
はえー
@user-ft4lt4rt9k
@user-ft4lt4rt9k 2 ай бұрын
おもしれぇ
Collision detection - Coding for Beginners
16:18
ヘロンの数学ちゃんねる
Рет қаралды 83 М.
Noodles Eating Challenge, So Magical! So Much Fun#Funnyfamily #Partygames #Funny
00:33
Twin Telepathy Challenge!
00:23
Stokes Twins
Рет қаралды 83 МЛН
Making My Own Programming Language and Coding a Game in It
10:19
AstroSam
Рет қаралды 1,3 МЛН
Roguelike from scratch - Coding Commentary
7:14
ヘロンの数学ちゃんねる
Рет қаралды 59 М.
Roguelike dungeon - Coding Commentary
8:32
ヘロンの数学ちゃんねる
Рет қаралды 56 М.
Zundamon's Lesson "C++ Programming Language"
13:46
syncprim【プログラミング解説】
Рет қаралды 10 М.
「プログラミングなんて簡単だから」の本当の意味
19:20
ようつべ先生の数学教室
Рет қаралды 627 М.
ハッカーなら会社救える説  【プログラミング実況】【JavaScript】
10:13
ヘロンの数学ちゃんねる
Рет қаралды 43 М.