java
1import java.util.ArrayList; 2import java.util.Arrays; 3import java.util.Scanner; 4 5public class main { 6 public static void main(String[] args) { 7 ArrayList<String> fruitsPictorialPatternString = new ArrayList<String>(); 8 fruitsPictorialPatternString = new ArrayList<>(Arrays.asList("スイカ", "バナナ", "ブドウ", "ミカン", "イチゴ", "パイナップル", "リンゴ", 9 "トマト", "ピーチ", "かぼちゃ", "チェリー", "セブン", "スターバー", "ベル", "コイン", "おばけ")); 10 ArrayList<String> fruitsPictorialPatternPic = new ArrayList<String>(); 11 fruitsPictorialPatternPic = new ArrayList<>(Arrays.asList("????", "????", "????", "????", "????", "????", "????", "????", "????", 12 "????", "????", "➐", "★", "????", "????", "????")); 13 System.out.println("メダルを入れて下さい。<所有メダル数 30枚>"); 14 15 int numberOfMedalsOwned = 30; 16 while (true) { 17 System.out.println("Press Enter."); 18 Scanner scanner = new Scanner(System.in); 19 scanner.nextLine(); 20 int targetIndex01 = (int) (Math.random() * fruitsPictorialPatternPic.size()); 21 int targetIndex02 = (int) (Math.random() * fruitsPictorialPatternPic.size()); 22 int targetIndex03 = (int) (Math.random() * fruitsPictorialPatternPic.size()); 23 System.out.println(fruitsPictorialPatternPic.get(targetIndex01) + "" + "" + "" + "" + "|" 24 + fruitsPictorialPatternPic.get(targetIndex02) + "" + "" + "" + "" + "|" 25 + fruitsPictorialPatternPic.get(targetIndex03)); 26 int targetIndex04 = (int) (Math.random() * fruitsPictorialPatternPic.size()); 27 int targetIndex05 = (int) (Math.random() * fruitsPictorialPatternPic.size()); 28 int targetIndex06 = (int) (Math.random() * fruitsPictorialPatternPic.size()); 29 System.out.println(fruitsPictorialPatternPic.get(targetIndex04) + "" + "" + "" + "|" 30 + fruitsPictorialPatternPic.get(targetIndex05) + "" + "" + "" + "" + "|" 31 + fruitsPictorialPatternPic.get(targetIndex06)); 32 int targetIndex07 = (int) (Math.random() * fruitsPictorialPatternPic.size()); 33 int targetIndex08 = (int) (Math.random() * fruitsPictorialPatternPic.size()); 34 int targetIndex09 = (int) (Math.random() * fruitsPictorialPatternPic.size()); 35 System.out.println(fruitsPictorialPatternPic.get(targetIndex07) + "" + "" + "" + "" + "|" 36 + fruitsPictorialPatternPic.get(targetIndex08) + "" + "" + "" + "" + "|" 37 + fruitsPictorialPatternPic.get(targetIndex09)); 38 if (targetIndex04 == 15 && targetIndex05 == 15 && targetIndex06 == 15) { 39 System.out.println(fruitsPictorialPatternString.get(15) + "が3つ並びました。10枚出てきました。"); 40 numberOfMedalsOwned += 10; 41 System.out.println("<所有メダル数" + numberOfMedalsOwned + "枚>"); 42 } else if (targetIndex04 == 10) { 43 System.out.println(fruitsPictorialPatternString.get(targetIndex09) + "が出ました。3枚出てきました。"); 44 numberOfMedalsOwned += 3; 45 System.out.println("<所有メダル数" + numberOfMedalsOwned + "枚>"); 46 //当たりを上段・真ん中・下段・右斜め・左斜めで判定したい 47 } else if(targetIndex01 == 1 && targetIndex02 == 1 && targetIndex03 == 1){ 48 System.out.println("外れです。"); 49 numberOfMedalsOwned --; 50 System.out.println("<所有メダル数" + numberOfMedalsOwned + "枚>"); 51 }else { 52 System.out.println("外れです。"); 53 numberOfMedalsOwned --; 54 System.out.println("<所有メダル数" + numberOfMedalsOwned + "枚>"); 55 56 if (numberOfMedalsOwned == 0) { 57 System.out.println("終了です。"); 58 System.exit(0); 59 } else if (numberOfMedalsOwned == 100) { 60 System.out.println("<所有メダル数" + numberOfMedalsOwned + "枚>"); 61 System.out.println("おめでとうございます!景品がもらえます。"); 62 System.exit(0); 63 } 64 } 65 66 } 67 } 68} 69
実装したいこと
当たりを上段・下段・右斜め・左斜めで判定する。
123
456
789
パターンは123・789.159・357が上段・下段・右斜め・左斜めに該当する。
絵柄がfruitsPictorialPatternPic 分条件式を書くとかなり長い条件式になってしまうため、
パターンの上段・下段・右斜め・左斜めが同じ柄だった場合としたい。
targetIndex01 == 0 && targetIndex02 == 0 && targetIndex03 == 0
targetIndex01 == 1 && targetIndex02 == 1 && targetIndex03 == 1
・
・
・
・
targetIndex01 == 9 && targetIndex02 == 9 && targetIndex03 == 9
もしtargetIndexが1つしかない場合、それを指定できるが今回targetIndex09 まであるため01から09まで指定するとコードが
ながくなってしまうので、この方法を避けて
コードを簡潔に書く方法を考えているのですが、わからず教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー