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

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

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

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

2400閲覧

swift じゃんけんアプリについて

hatch1564

総合スコア12

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2017/06/29 11:25

swiftでじゃんけんアプリを作っていてrandomSourceを使いそれをnormalモードできるようにしました。
そのほかに絶対に勝てるモード(easyモード)と絶対に勝てないモード(hardモード)を作りたいのですがどのようなコードを書けば良いのかわかりません。
なので、easyモードとhardモードはどのようなコードを書けば良いのでしょうか?
また、難易度のボタンを作りそれを押すと画面遷移をしてpickerViewで難易度を選択したいのですが、前の画面にデータを受け渡す時にはどうすれば良いのでしょうか?
swiftの勉強を始めたばかりの未熟者で何をすれば良いとかわかっていないので教えていただけるとありがたいです!
文章がごちゃごちゃですみませんm(_ _)m

ViewControllerがじゃんけんをする画面です。
DifficultViewControllerが難易度を選択する画面です。

swift

1import UIKit 2import GameplayKit 3 4class ViewController: UIViewController { 5 6 let randomSource = GKARC4RandomSource() 7 let guButton = 0 8 let chokiButton = 1 9 let paButton = 2 10 11 @IBOutlet weak var EnemyHand: UIImageView! 12 @IBOutlet weak var messageLabel: UILabel! 13 @IBOutlet weak var Ib_settingValue: UILabel! 14 15 override func viewDidLoad() { 16 super.viewDidLoad() 17 // Do any additional setup after loading the view, typically from a nib. 18 } 19 20 override func didReceiveMemoryWarning() { 21 super.didReceiveMemoryWarning() 22 // Dispose of any resources that can be recreated. 23 } 24 25 26 27 @IBAction func tapGu(_ sender: Any) { 28 doComputer(player: 0) 29 } 30 31 @IBAction func tapChoki(_ sender: Any) { 32 doComputer(player: 1) 33 } 34 35 @IBAction func tapPa(_ sender: Any) { 36 doComputer(player: 2) 37 } 38 39 40 func doComputer(player:Int) { 41 let computer = randomSource.nextInt(upperBound: 3) 42 43 var msg = "" 44 45 switch computer { 46 case 0: 47 EnemyHand.image = UIImage(named: "gu1.png") 48 49 switch player { 50 case 0: 51 msg = "あいこ" 52 case 1: 53 msg = "あなたの負け" 54 case 2: 55 msg = "あなたの勝ち" 56 default: 57 break 58 } 59 60 case 1: 61 EnemyHand.image = UIImage(named: "tyoki1.png") 62 63 switch player { 64 case 0: 65 msg = "あなたの勝ち" 66 case 1: 67 msg = "あいこ" 68 case 2: 69 msg = "あなたの負け" 70 default: 71 break 72 } 73 74 case 2: 75 EnemyHand.image = UIImage(named: "pa1.png") 76 77 switch player { 78 case 0: 79 msg = "あなたの負け" 80 case 1: 81 msg = "あなたの勝ち" 82 case 2: 83 msg = "あいこ" 84 default: 85 break 86 } 87 88 default: 89 break 90 } 91 92 messageLabel.text = msg 93 94 } 95 96}

swift

1import UIKit 2 3class DifficultViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate { 4 5 @IBOutlet weak var dataPicker: UIPickerView! 6 7 let data = ["イージー", "ノーマル", "ハード"] 8 9 override func viewDidLoad() { 10 super.viewDidLoad() 11 // Do any additional setup after loading the view. 12 13 dataPicker.delegate = self 14 dataPicker.dataSource = self 15 } 16 17 override func didReceiveMemoryWarning() { 18 super.didReceiveMemoryWarning() 19 // Dispose of any resources that can be recreated. 20 } 21 22 func numberOfComponents(in pickerView: UIPickerView) -> Int { 23 return 1 24 } 25 26 func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 27 return data.count 28 } 29 30 func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 31 return String(data[row]) 32 } 33 34 func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 35 36 } 37 38}

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

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

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

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

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

guest

回答1

0

easyモードとhardモードはどのようなコードを書けば良いのでしょうか?

まずは1つずつ書いてみてはいかがでしょうか。
それを切り替えるロジックを考えてみて下さい。

前の画面にデータを受け渡す時にはどうすれば良いのでしょうか?

これは多少でも調べたのでしょうか。
調べて何がわからないのかを記載すると良い回答が得られると思います。

投稿2017/06/30 02:13

YasuhiroMiyake

総合スコア1336

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問