質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

2回答

268閲覧

rubyに関する宿題を出していただきたいです

mkmmkk

総合スコア16

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2019/02/04 14:32

私はrubyを独学で勉強しており、石取りゲームやフィボナッチ数列の計算など非常に簡単なコードを書くことができるようになりました。
しかしなかなかそこから先に関する勉強が見つかりません。
スクールなどで教わりたいとも思いますが私は今学生で生活に必要最低限のお金しか持っていないため手が出せません
何から何まで全て教えてほしいとは言いませんので
ほんならこんなんやってみ?
ってな感じで課題が欲しいです
ちなみに今持てる力を存分に使って書いたコードが以下になります(石取りゲーム)

ruby

1#石取りゲーム 2index = 1 3total_storn = [20,40,60] 4@prayer = 0 5cpu = 0 6choice_cpu = 0 7a = [18,17,16,15,14,12,11,10,9,8,6,5,4,3,2] 8b = [5,4,3,2,1,5,4,3,2,1,5,4,3,2,1] 9 10def error 11 loop do 12 a = gets.to_i 13 if a > 5 || a == 0 || nil 14 puts "もう一度入力してください" 15 else 16 @prayer += a 17 break 18 end 19 end 20end 21 22#ここからスタート 23puts "これは石取りゲームです" 24puts "石取りゲームとは、石の山から順番に石を取っていって最後の石を取った人が負けになるゲームのことです" 25puts "一度に取ることができる石は”5個”までです" 26puts "石の山を選んでください" 27puts "[20個]は0\n[40個]は1\n[60個]は2\nを入力してください" 28choice = gets.to_i 29 if choice > 2 30 puts "もう一度やり直してください" 31 exit 32 end 33puts "#{total_storn[choice]}個の石が選択されました" 34choice_storn = total_storn[choice] 35print "\n------------------------------\n\n" 36 37#ここからプレイヤー処理 38puts "#{index}ターン" 39loop do 40 puts "取る石の数を入力してください(5個まで)" 41 error 42 total = @prayer + cpu 43 puts "石は残り#{choice_storn - total}です" 44 puts "------------------------------" 45 if total < choice_storn 46 puts "次はUPCの番です" 47 else 48 puts "あなたの負けです" 49 break 50 end 51 52#ここからCPU処理 53 index_cpu = 0 54 a.each do |c| 55 if c == choice_storn - total 56 choice_cpu = b[index_cpu] 57 break 58 else 59 index_cpu += 1 60 end 61 choice_cpu = rand(1..5) 62 end 63 puts "CPUは#{choice_cpu}個取りました" 64 cpu += choice_cpu 65 total = @prayer + cpu 66 puts "石は残り#{choice_storn - total}です" 67 puts "------------------------------" 68 if total < choice_storn 69 index += 1 70 puts "#{index}ターン" 71 puts "次はあなたの番です" 72 else 73 puts "あなたの勝ちです" 74 break 75 end 76end 77

初心者丸出しで恥ずかしいですがそんなこと言ってても何も始まらんので
これよりレベルアップした課題を下さい
(べらぼうに高いレベルは勘弁してください)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

オセロの対人間対戦プログラムとかどうでしょうか?

投稿2019/02/04 14:39

otn

総合スコア84499

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mkmmkk

2019/02/04 14:43

otnさん この前の質問にも回答いただきましたよねありがとうございます! とっても難しそうな宿題ですが何とかやってみます!
guest

0

三目ならべ(英語ではTicTacToe) を作って見てはいかがでしょう。
まずは、人対人, つぎは 人対コンピュータ。
コンピュータ側は決して負けない(勝つが引き分けにする)ものを作れるはずです。

  • プログラミングで成功した有名人

https://jeek.jp/school/programming/posts/8

...
プログラマーとして大成し、今や世界一の大富豪になったビルゲイツも、プログラミングについて特別な教育を受けたわけではありません。
13歳で初めて触ったコンピュータに感動し、独学でプログラミング学習を進めました。初めは、"Tic Tac Toe”という三目並べのゲームを作って遊ぶ程度だったといいます。
...

投稿2019/02/05 14:29

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問