#!/usr/koeki/bin/ruby STDERR.print("説明を始めますか? (Y/N)\n") start = gets.chomp! if start == "n" print("ゲームを始めます\n") else STDERR.print("究極の理論、統一理論を完成させるため、 CCRN の理論物理部は超弦理論についての研究を日々重ねてきた。\n") STDERR.print("一方、CCRN の実験部、非線形ハドロン衝突班 NLHC は、 ついに超対称性理論を捕えた。\n") STDERR.print("我々の使命は、NLHC から得られたデータをもとに、 超弦理論の結論を踏まえ、統一理論を完成させることにある。\n") end user='' while true unless user=='' break end STDERR.print("\n\nユーザー名を登録して下さい:\n") user = gets.chomp! end srand quark = rand(10) lepton = rand(10) graviton = rand(10) photon = rand(10) mtheory = rand(5) STDERR.print("\n\n大型計算機: NLHC からのデータが送られてきました. \n") STDERR.printf("大型計算機: データは %d %d %d %d です.\n", quark, lepton, graviton, photon) if mtheory == 0 stringtheory = "4 つの数の和を求めよ" elsif mtheory == 1 stringtheory = "4 つの数の積を求めよ" elsif mtheory == 2 stringtheory = "1 番目の数と 3 番目の数を掛け 、2 番目の数と 4 番目の数を掛けたものを引け" elsif mtheory == 3 stringtheory = "奇数番目の数を足し、偶数番目の数を引き算せよ" elsif mtheory == 4 stringtheory = "1 番目と 2 番目の数を掛け、3 番目の数を足し、 4 番目の数を引け" end STDERR.printf("大型計算機: 超弦理論から求められる理論は\n 「%s」\nです. \n", stringtheory) if mtheory == 0 try = 0 while true STDERR.print("大型計算機: 予想結果を示して下さい. \n") answer = gets.chomp!.to_i if answer == quark+lepton+graviton+photon break end try += 1 if try > 3 printf("統一理論は未だ解決されず ... \n") exit(0) end end elsif mtheory == 1 try = 0 while true STDERR.print("大型計算機: 予想される結果を示して下さい. \n") answer = gets.chomp!.to_i if answer == quark*lepton*graviton*photon break end try += 1 if try > 10 printf("宇宙の謎は解き明かせなかった ... \n") exit(0) end end elsif mtheory == 2 try = 0 while true STDERR.print("大型計算機: 予想結果を示して下さい. \n") answer = gets.chomp!.to_i if answer == quark*graviton-lepton*photon break end try += 1 if try > 5 print("あなたの頭脳をしても 4 つの相互作用は統一できなかった ... \n") exit(0) end end elsif mtheory == 3 try = 0 while true STDERR.print("大型計算機: 予想結果を示して下さい. \n") answer = gets.chomp!.to_i if answer == quark-lepton+graviton-photon break end try += 1 if try > 4 printf("数学の発展を待たねばなるまい ... \n") exit(0) end end else try = 0 while true STDERR.print("大型計算機: 予想結果を示して下さい. \n") answer = gets.chomp!.to_i if answer == quark*lepton+graviton-photon break end try += 1 if try > 7 printf("究極の理論などありえない ... \n") exit(0) end end end sleep(3) open("score.txt", "a") do |file| file.printf("%s\n",user) end print("究極の理論、統一理論を導くことができた。\n\n") open("score.txt","r") do |score| while line = score.gets print line sleep(1) end end open("copyright.dat","r") do |copyright| while line = copyright.gets print line sleep(1) end end