TicTacToeゲームの作成(クローン)

4654 ワード

https://www.youtube.com/watch?v=gQb3dE-y1S4&t=1001s
👉このビデオを見て作った.
最初はYoutuberが書いたコードを見て、説明を聞く前に説明しました.

🐣自分の解釈(もちろん間違っているかもしれません)🐣
2 d配列が何なのかはまだ分かりませんが、配列中の配列(親配列/子配列)のようですか?まず私が推測した12行目からのコードプロセスを書きます.
ドアごとに直接触れていないので、forドアに代わります.
親配列(変数i,0から)/子配列(変数j,0から)に分割してみます.

💙青色部分出力値:空白|空白|空白(最初のキャプチャコンソールの上部の行と同じ)
次に、j=4に出力すると、サブ配列が終了し、次のコードprintlnメソッドが実行されます(次の行に移動します).
このように、i=1の場合、i=2の場合…、i=4で出力され、最初のスクリーンショットのコンソール出力値が出ます!
👉簡潔にするために、以下に方法を作成し、各ループを移動します.

Q.line 6ではgameBoardが定義されていますが、なぜline 17のパソコンはgameBoardが何なのか分かりませんか?他の方法は?それとも実行メソッドmainメソッドで定義されていますか?

gameBoardの定義をクラスに移動し、非静的フィールドgameBoardを静的参照(?)とするできないので、eclipseの推奨に従ってgameboard定義の前に静的を追加しました.そうすれば間違いは確実に消えてしまう….自信がないので、ビデオで提案した方法でやります.

👉 これはビデオで提案された方法です.
Q.line 12はなぜ括弧にgameBoardと書くのですか?line 16のメソッドでは、カッコ内はコンストラクション関数ですか?しかし、コンストラクション関数の位置はフォーマットが同じ内容だけで、異なる値が加算されていますか?なぜprintGameBoardメソッドのカッコの中の内容GameBoardをLine 12カッコに直接入れたのですか?

私は自分でパソコンプレーヤーの順番コードを作った.行53には、2つの表が以下のように区切られるように1行のスペースが付加されている.空きがない場合はチケットを2枚貼ります

Utuberはどうやってやったのか!!
まず汚くて長いコードを整理しました.

👉 Utuberに沿ってX/Oタグをシンボル変数に設定します.
✔✔✔哦!!!きれいになりました!!
💭文法の授業を聞くとき「今は5行コードですから大丈夫ですが、コードが10000行あることを想像してみてください.複雑でしょう.「だから一つの方法を作って整理する」これらの话を闻いても完全に感じていないで、今この话は少し感じました.

👉 プレイヤー側は、cpu側の値を入力してから将棋を印刷し、O/Xを一度に表示して、ずっときれいになりました!私のやり方でやっているとXのみのチケットとOのみのチケットが分かれていて複雑に見えます.
💭ふと思いついたのですが、一つ一つ丁寧に計算して記録するのが有効な学習方法なのでしょうか…?へへへ...でもこれが一番おもしろい面白くなければ長い間勉強するのは難しい.

エラーを発見!randomに対する理解が間違っています.
randomの0番目の値は1で、1番目の値は2です.そうかと思いましたが、そうではありません.逆に、理解したようです.
randomの最初の値は0で、2番目の値は1です.9番目は8ですね.1-9の数字をランダムに出力したい場合は、上の写真のように書きます.
誰もが試合を繰り返していますが、長いコードを繰り返すとめちゃくちゃになるので、同じ方法で縛り直すのでしょうか?
👉 このドアでいいです
でも問題があるTick Taxtoゲームでは、誰が選んだかは選択できませんが、ここでcpuが選択されています.既存の場所を選択させることはできません.どうしたらいいか分からない...
自分でやってみましたが、いくら検索してもわかりません.時間が長すぎます.現段階では,ビデオを模倣し,コードを最大限に理解しスキップする方法が有効であるようだ.

きれいにするために勝った例(?)別に作ったようですか?
リストを検索するとインタフェースArrayListはリストの実装クラスであるが,書き方がわからない.line 103も理解できません.先にスキップして

✔私が推測したコードプロセス(1-4段階)を書きます.
  • リストlは最初は空です.wingの0番目のインデックス(toprow、すなわち(1,2,3)をlに入れます.
  • プレイヤーの位置値がすべてのlを含む場合、プレイヤーは勝つ.さもないとオフラインに抜け出します.
  • cpu位置値がすべてのlを含む場合、cpuは上昇する.さもないとオフラインに抜け出します.
  • プレーヤ位置値個数とcpu位置値個数が9のときCATに戻る(引き分け).しかし、現在の両側の位置値は2です.
  • FOR LOOPを再起動
  • 現在lには先ほど入れた位置(1,2,3)が含まれています.今回は最初のインデックスmiddleRowをlに入れます.
  • 位の第4段階に進む.
  • の結果がない場合は、FOR LOOP,
  • を再起動してください.
    結果が出るまでFOR LOOPを回転し続けます
    位置値(O/X)はPlayerPositions、cpuPositionsに保存されていません.位置値を保存するには、操作を行う必要があります.
    			👇👇👇

    システムですout.println(checkWinner());入力しました.youtuberは以下のように入力します.

    💭可読性を高めるために作られたのですか?それとも普通にこんなにたくさん使いますか?

    containsの方法があったのか!重複値があるかどうかを簡単に知ることができます.
    私は「私が入力した数字に対応する位置!=」と言いました.「ラーメンの再入力のメッセージを出すべきだな~」というようにアプローチしても答えが出なかったので諦めたのですが、こんな方法があったのでしょうか.

    💭 最後に2を入力して2位に勝ったのにどうしてXを表示しないのですか?これからは理由を探さなければならない.ううう
    🌫🌠🌊🌊
    動画に基づいてTick Taxtoゲームを作成しました.しかし、コードの進行過程を完全に理解していない(開発学習1ヶ月以来人生で最も長いコード......ハハハ、一行一行一行の過程を見て、複雑すぎる



    💭 今はこれらのコードをすべて理解すべきだと思っていたので、しばらく挫折しましたが、最初から理解しなくてもいいし、仕方がないと思いました.勉強を続けると、なぜこのようなコードを書くのか、どのようなプロセスで正しく実行されるのかを理解する瞬間が来ると信じています.🌟
    疲れないように、今のようにたゆまずやります.🏊‍♀️🏊‍♂️