X



プログラミング詳しくないんだけど詳しい人来て、ひろゆきの言ってる事がわかんない
■ このスレッドは過去ログ倉庫に格納されています
0001以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/25(水) 23:58:41.650ID:fMp8NgXY0
ひろゆきの小学生の頃の話な

僕が、「完全な敗北感」を味わったのは、あるプログラムを見たときです。

 パソコンでゲームをすると、数字の「テンキー」で操作することがありますよね。いわゆる「十字キー」というやつで、「4」で「左」、「6」で「右」に動かすやつです。

 これをプログラムするときに、普通の人は2行のプログラムを書きます。「4を押したら左に移動せよ」「6を押したら右に移動せよ」と、2つの指示をコンピュータに向けて書き込みます。

 しかし、天才は違います。

 天才は、1行でその指示を与えることができます。

「押した数字から5を引いた分だけ、操作せよ」という1行を書きます。そうすると、その1行だけで「-1」「+1」の移動をプログラミングできてしまうのです。

 それを知ったときに、「うわーそんなこと絶対に思い浮かばないよ」と思いました。



これって
原点をX軸の-5 と考える
Xが4だったら-1
Xが6だったら+1
2歩右へ進みたければ6を2回ではなくテンキー7を叩く
3歩左へ進みたければ4を3回ではなくテンキー2を叩く

って事?違う?
0002以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:00:16.857ID:fnqI1wT50
長いな

テンキー操作のゲームで4押なら−1、6押なら+1で左右移動するコードを書いてたら、ある人が入力数−5でコード一行で書いていたって話なんだが
0003以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:00:56.333ID:HtjA04P40
2歩右へ~からはちがう
0004以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:02:06.060ID:s1ZOR8yM0
二回たたくであってるだろ
要は複数の命令文を一行にまとめた発想がすごいって話
0005以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:02:46.079ID:8oYneys60
原点とかじゃない
入力値そのまま受け取って-5したら分岐が減ってスマートって話
0006以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:05:31.686ID:fnqI1wT50
>>3
違うか
どういう事なんだ
0007以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:06:24.809ID:zD2+Tt8g0
>>1みたいな疑問出るぐらいには穴とかありそう
マリオとかカービィみたいな左右にしか移動しないゲームにおいて6を押せば現座標に+1をして4を押せば現座標に-1をすることで横移動を実現してるんだろ
でもそれって4と6以外のキー打たれた場合の処理書かないとダメじゃね
0008以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:07:29.700ID:tKubVqGxd
・4を押したら-1を出力
・6を押したら+1を出力

って書いてたプログラムを

・押した数値を-5した数値を出力

ってまとめたやつ見て「天才だな」って思った
というだけの話だな
0009以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:07:34.472ID:Os73mSSY0
でも設計としてはクソだよね
0010以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:07:57.474ID:HtjA04P40
>>6
2でかいてる以上の意味はないと思うが
0011以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:08:56.336ID:9WjEYKyE0
最近はステップ数より可読性が重要だから今ではクソコード扱い
0012以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:09:06.774ID:fnqI1wT50
>>4
4入力されたら-1動いてね
6入力されたら+1動いてね

って文が

入力された数字から5引いた分だけ動いてね

ってこと?
0013以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:09:33.827ID:fnqI1wT50
ID変わってるけど>>1
0014以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:09:48.677ID:iGl529YAM
上下の事を考えるなよ
左右だけだぞ
スーパーマリオブラザーズをイメージしろ

4 5 6
のキーがあって
横軸のx軸があるんだ

4で左へ(x-1)
6で右へ(x+1)

ってプログラムがあったんだ
それを
入力値から5を引いた数値動けってプログラム
入力値-5をするプログラムにしたんだ
4-5=-1
6-5=+1

上の命令と同じ結果が出てるだろう?
0015以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:10:19.303ID:I1MxSzJ+0
多分どうせキーコード分だけ引き算するからついでに5引いたら楽だなって思っただけじゃないかな
0016以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:11:04.661ID:Kk3y/i5U0
じゃんけんゲーム書かせると
バカはグーチョキパーを書く
アホは判定部でifを連打する
0017以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:12:00.907ID:d/M+n1Dh0
結局のところ4と6以外の入力は弾かないといけないわけで行数的に大してアドバンテージはない
0019以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:16:44.822ID:iGl529YAM
>>18
いや、昔は画像一枚の容量でゲーム作るようだったから
少しでも小さく出来たらそれだけボリュームあるゲームが作れたんだ
0021以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:18:41.312ID:fnqI1wT50
>>14
そうなったら7とか3って押して良いの?7押したら+2移動、3押したら-2移動できる?
それとも-5させる事で文が簡潔に書けるよ~って話?
0022以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:20:23.442ID:5aRUWA8Hd
昔の言語は知らないけど、キーが押されたらイベントが発生して、押されたキーの情報が引数としてイベントハンドラに渡されるんじゃね?
キーの情報を整数型なりに変換する作業が必要になりそう
0023以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:20:33.730ID:iGl529YAM
>>21
7とか3は押さない前提だね
簡略化したよってことだ
0024以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:22:59.072ID:d/M+n1Dh0
>>21
7とか3とか他のキーはこの話の対象外
つまりまず4と6を入力してるかどうかを検知してそのあと>>1の話に移行する
つまり行数はほぼ変わらない
ひろゆきの頭は相当悪い
全くプログラミングできないと予想される
0025以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:23:05.673ID:fnqI1wT50
4と6は数字として認識されてるの?
それともただのキーとして認識されてるの?
移動キーと言えばWASDかスティックしかイメージできないから数字だとキーコンフィグ使ってボタン入れ替えちゃったらどうなるんだろ
0026以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:25:17.046ID:iGl529YAM
switch(a)(
case 4:
x--;break;
case 6:
x++;break;
)
ってプログラムが
x=x+(a-5);
になりました
って話
0027以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:26:21.166ID:SkUSKXW20
でも可読性低いよね?
0028以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:26:55.532ID:iGl529YAM
>>27
コメントいっぱいつけよう!!
0029以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:27:15.154ID:lgoIgAMDa
そのコードを書いたのが堀江というのは有名な話
0030以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:27:27.404ID:d/M+n1Dh0
>>26
下の方だとaに他の数字が入るから上下で内容が異なる
下の方はif文か何かで囲う必要がある
0031以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:28:48.764ID:fnqI1wT50
>>23
>>24
なるほどね!他の数字は押さない前提ね


>>26
やっとわかった!それなら一行で済むね
ありがとう!!
0032以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:32:22.594ID:cFv8NLIlM
正直ひろゆきがオブジェクト指向の説明をしている動画を観てから
ひろゆきが2ch作ったことすら疑ってる
0033以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:32:29.228ID:iGl529YAM
>>30
確かにswitch文だと他の要素弾いてるもんな
まぁ、発想の話だし>>1に何が言いたかったのかを理解して貰うのが先だろう
0034以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:32:49.596ID:Ke1vJ1vq0
そもそも昭和の小学生はプログラムとかやらないよ
昔からオタクだったんだな
0035以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:36:40.883ID:Ke1vJ1vq0
>>32
つくった…?
あめぞうパクって運営してただけなのかと思ってたが
0036以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:36:54.848ID:7jFyQBcH0
>>14
わかりやすい
0037以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/05/26(木) 00:53:20.269ID:yHC+y18J0
可読性とか保守性考えたら意味のないプログラムだよ
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況