AndroidStudioでの他メソッドの呼び出し方

実現したいこと

androidstudioでブラックジャックのアプリ開発

ここに質問の内容を詳しく書いてください。
AndroidStudioで別メソッドの呼び出しができません。

AndroidStudioでブラックジャックの開発をしています。下のコードを書きました。
onClickメソッド内でplayer.add(deck.get(deckCount))に
「シンボル"player"を解決できません。」とエラーが出てしまいます。どのようにしたらこのエラーを治せるでしょうか?初心者なので優しく教えていただけると幸いです。

このコードはhttps://www.sejuku.net/blog/91446を参考にしています。

該当のソースコード

java

1ソースコード 2package com.example.blackjack5;3 4import androidx.appcompat.app.AppCompatActivity;5import androidx.appcompat.view.menu.MenuBuilder;6 7import android.annotation.SuppressLint;8import android.content.DialogInterface;9import android.content.Intent;10import android.os.Bundle;11import android.view.View;12import android.widget.Button;13import android.widget.TextView;14 15import com.google.android.material.datepicker.MaterialPickerOnPositiveButtonClickListener;16 17import java.util.ArrayList;18import java.util.Collections;19import java.util.List;20import java.util.Scanner;21 22public class MainActivity extends AppCompatActivity implements View.OnClickListener {23 private TextView title;24 private TextView player1;25 private TextView player2;26 private Button hit;27 private Button stand;28 private Button reset;29 30 @Override31 protected void onCreate(Bundle savedInstanceState) {32 super.onCreate(savedInstanceState);33 setContentView(R.layout.activity_main);34 title = findViewById(R.id.TiT);35 player1 = findViewById(R.id.P1);36 player2 = findViewById(R.id.P2);37 Button hit = findViewById(R.id.hit);38 Button stand = findViewById(R.id.stand);39 Button reset = findViewById(R.id.reset);40 ButtonClickListener listener = new ButtonClickListener();41 hit.setOnClickListener(listener);42 stand.setOnClickListener(listener);43 reset.setOnClickListener(listener);44 45 findViewById(R.id.reset).setOnClickListener(new View.OnClickListener() {46 @Override47 public void onClick(View v) {48 resetClickEvent(v);49 }50 });51 }52 53 54 public void resetClickEvent(View v) {55 List<Integer> deck = new ArrayList<>(52);56 //山札シャッフル57 shuffleDeck(deck);58 59 //手札リスト作成60 List<Integer> player = new ArrayList<>();61 List<Integer> dealer = new ArrayList<>();62 63 64 player.add(deck.get(0));65 dealer.add(deck.get(1));66 player.add(deck.get(2));67 dealer.add(deck.get(3));68 69 int deckCount = 4;70 int playerHands = 2;71 72 73 player1.setText("あなたの1枚目のカードは" + toDescription(player.get(0)) + "あなたの2枚目のカードは" + toDescription(player.get(1)));74 player2.setText("ディーラーの1枚目のカードは" + toDescription(dealer.get(0)) + "2枚目のカードは秘密です");75 title.setText("ヒットかスタンドか選んでください");76 77 int playerPoint = sumPoint(player);78 int dealerPoint = sumPoint(dealer);79 }80 81 public void onClick(View view) {82 while (true) {83 int id = view.getId();84 switch (id) {85 case R.id.stand:86 break;87 case R.id.hit:88 player.add(deck.get(deckCount));89 90 break;91 case R.id.reset:92 title.setText("成功失敗");93 break;94 }95 96 }97 }98 99 //合計ポイントを計算するメソッド100 private int sumPoint(List<Integer> list) {101 int sum = 0;102 103 int i;104 for (i = 0; i < list.size(); i++) {105 sum = sum + toPoint(toNumber(list.get(i)));106 107 }108 return sum;109 }110 111 //山札に値を入れ、シャッフルするメソッド112 private void shuffleDeck(List<Integer> deck) {113 int i;114 for (i = 1; i <= 52; i++) {115 deck.add(i);116 }117 Collections.shuffle(deck);118 }119 120 //手札がバーストしているか判定するメソッド121 private boolean isBusted(int point) {122 if (point <= 21) {123 return false;124 } else {125 return true;126 }127 }128 129 130 //トランプの数字を得点計算用のポイントに変換するメソッド131 private int toPoint(int num) {132 if (num == 11 || num == 12 || num == 13) {133 num = 10;134 }135 return num;136 }137 138 //山札の数をスートのランクの文字列に置き換えるメソッド139 private String toDescription(int cardNumber) {140 String rank = toRank(toNumber(cardNumber));141 String suit = toSuit(cardNumber);142 143 return suit + "の" + rank;144 }145 146 //山札の数をカードの数に置き換えるメソッド147 private int toNumber(int cardNumber) {148 int number = cardNumber % 13;149 if (number == 0) {150 number = 13;151 152 }153 154 return number;155 }156 157 //カード番号をランク(AやJ,Q,K)に変換するメソッド158 private String toRank(int number) {159 switch (number) {160 case 1:161 return "A";162 case 11:163 return "J";164 case 12:165 return "Q";166 case 13:167 return "K";168 default:169 String str = String.valueOf(number);170 return str;171 }172 }173 174 //山札の数をスート(ハートやスペードなどのマーク)に置き換えるメソッド175 private String toSuit(int cardNumber) {176 switch ((cardNumber - 1) / 13) {177 case 0:178 return "クラブ";179 case 1:180 return "ダイヤ";181 case 2:182 return "ハート";183 case 3:184 return "スペード";185 default:186 return "例外です";187 }188 }189 190 191 }192```java 193activity_main.xml 194 195<?xml version="1.0" encoding="utf-8"?>196<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"197 xmlns:app="http://schemas.android.com/apk/res-auto"198 xmlns:tools="http://schemas.android.com/tools"199 android:layout_width="match_parent"200 android:layout_height="match_parent">201 202 <TextView203 android:id="@+id/P2"204 android:layout_width="0dp"205 android:layout_height="0dp"206 android:layout_marginStart="8dp"207 android:layout_marginEnd="8dp"208 android:layout_marginBottom="13dp"209 android:hint="dealer"210 android:textSize="20sp"211 app:layout_constraintBottom_toTopOf="@+id/stand"212 app:layout_constraintEnd_toEndOf="parent"213 app:layout_constraintStart_toStartOf="parent"214 app:layout_constraintTop_toBottomOf="@+id/P1" />215 216 <Button217 android:id="@+id/stand"218 android:layout_width="0dp"219 android:layout_height="0dp"220 android:layout_marginBottom="22dp"221 android:onClick="hiku"222 android:text="sTand"223 app:layout_constraintBottom_toTopOf="@+id/hit"224 app:layout_constraintEnd_toEndOf="parent"225 app:layout_constraintStart_toStartOf="parent"226 app:layout_constraintTop_toBottomOf="@+id/P2" />227 228 <Button229 android:id="@+id/hit"230 android:layout_width="0dp"231 android:layout_height="0dp"232 android:layout_marginBottom="38dp"233 android:onClick="hiku"234 android:text="hIt"235 app:layout_constraintBottom_toTopOf="@+id/reset"236 app:layout_constraintEnd_toEndOf="parent"237 app:layout_constraintStart_toStartOf="parent"238 app:layout_constraintTop_toBottomOf="@+id/stand" />239 240 <TextView241 android:id="@+id/P1"242 android:layout_width="0dp"243 android:layout_height="0dp"244 android:layout_marginStart="12dp"245 android:layout_marginEnd="12dp"246 android:layout_marginBottom="16dp"247 android:hint="player"248 android:textSize="20sp"249 app:layout_constraintBottom_toTopOf="@+id/P2"250 app:layout_constraintEnd_toEndOf="parent"251 app:layout_constraintStart_toStartOf="parent"252 app:layout_constraintTop_toBottomOf="@+id/TiT" />253 254 255 <TextView256 android:id="@+id/TiT"257 android:layout_width="0dp"258 android:layout_height="0dp"259 android:layout_marginStart="8dp"260 android:layout_marginTop="52dp"261 android:layout_marginEnd="8dp"262 android:layout_marginBottom="14dp"263 android:inputType="textMultiLine"264 android:text=''265 android:textSize="20sp"266 app:layout_constraintBottom_toTopOf="@+id/P1"267 app:layout_constraintEnd_toEndOf="parent"268 app:layout_constraintHorizontal_bias="1.0"269 app:layout_constraintStart_toStartOf="parent"270 app:layout_constraintTop_toTopOf="parent"271 tools:ignore="SpeakableTextPresentCheck" />272 273 <Button274 android:id="@+id/reset"275 android:layout_width="wrap_content"276 android:layout_height="wrap_content"277 android:layout_marginBottom="268dp"278 android:text="Button"279 app:layout_constraintBottom_toBottomOf="parent"280 app:layout_constraintEnd_toEndOf="parent"281 app:layout_constraintStart_toStartOf="parent"282 app:layout_constraintTop_toBottomOf="@+id/hit"283 tools:ignore="UsingOnClickInXml" />284 285 286</androidx.constraintlayout.widget.ConstraintLayout>

コメントを投稿

0 コメント