by
Anonymous Coward
on 2020年07月30日 21時27分
(#3861919)
なるほど確かに。表示する文字列以外一切同じプログラムで書ける。
// 弟バージョン(0=グー、1=チョキ、2=パー) switch(乱数){ case 0:
switch(入力){
case 0: print("コンピュータがグーで、プレイヤーもグーなので、引き分け"); break;
case 1: print("コンピュータがグーで、プレイヤーがチョキなので、コンピュータの勝ち"); break;
case 2: print("コンピュータがグーで、プレイヤーがパーなので、プレイヤーの勝ち"); break;
}
break; case 2:
//似たようなのが2回続く }
// 兄バージョン(乱数=0でプレイヤーの勝ち、=1で引き分け、=2でプレイヤーの負けとする) switch(乱数){ case 0:
switch(入力){
case 0: print("コンピュータがチョキで、プレイヤーがグーなので、プレイヤーの勝ち"); break;
case 1: print("コンピュータがパーで、プレイヤーがチョキなので、プレイヤーの勝ち"); break;
case 2: print("コンピュータがグーで、プレイヤーがパーなので、プレイヤーの勝ち"); break;
}
break; case 1:
//似たようなのが2回続く }
美学的な違い (スコア:-1)
論理的には同等でも、感性的・美学的な違いというものがあります。世間やネットで流通しているのはめちゃくちゃ古い美学の定義なのでみんな知らないが、今日においては感性的な判断すべてが美学の対象になります。
for(;;){...}とwhile(true){...}のどちらを好むのかもそうですね。open_fileとopenFileとOpenFileの違いもそう。
みんな感性的な判断をプログラムのロジックと区別せず説明しようとするから混乱するのです。
Re: (スコア:2, すばらしい洞察)
この二つは論理的に、同等ってレベルじゃなくて、メッセージリソースの差し替えだけで、弟のほうも兄のほうも完全に同一のコードで実装できるってレベルで同じことなんだよな。
Re:美学的な違い (スコア:0)
なるほど確かに。表示する文字列以外一切同じプログラムで書ける。
// 弟バージョン(0=グー、1=チョキ、2=パー)
switch(乱数){
case 0:
switch(入力){
case 0: print("コンピュータがグーで、プレイヤーもグーなので、引き分け"); break;
case 1: print("コンピュータがグーで、プレイヤーがチョキなので、コンピュータの勝ち"); break;
case 2: print("コンピュータがグーで、プレイヤーがパーなので、プレイヤーの勝ち"); break;
}
break;
case 2:
//似たようなのが2回続く
}
// 兄バージョン(乱数=0でプレイヤーの勝ち、=1で引き分け、=2でプレイヤーの負けとする)
switch(乱数){
case 0:
switch(入力){
case 0: print("コンピュータがチョキで、プレイヤーがグーなので、プレイヤーの勝ち"); break;
case 1: print("コンピュータがパーで、プレイヤーがチョキなので、プレイヤーの勝ち"); break;
case 2: print("コンピュータがグーで、プレイヤーがパーなので、プレイヤーの勝ち"); break;
}
break;
case 1:
//似たようなのが2回続く
}