data-weight属性で並べ替えられたデータを並べ替えて取得するにはどうすればよいですか?Jquery

グレイダンパトリシア

1 [@Justinasのコードを使用した後]

<div>
        <span class="r1 c1 d1" data-weight="3"></span>
        <span class="r1 c2" data-weight="2"></span>
        <span class="r1 c3 d2" data-weight="3"></span>
    </div>
    <div>
        <span class="r2 c1" data-weight="2"></span>
        <span class="r2 c2 d1 d2" data-weight="4"></span>
        <span class="r2 c3" data-weight="2"></span>
    </div>
    <div>
        <span class="r3 c1 d2" data-weight="3"></span>
        <span class="r3 c2" data-weight="2"></span>
        <span class="r3 c3 d1" data-weight="3"></span>
    </div>

だから、それらは私が得たスパンとdivです、私はTic Tac Toeゲーム(コンピューター対プレーヤー)を作っています、そしてそれは私がコンピューターを打ち負かすことができないように働くはずです。データの重み属性を配置して、正確なスパンがどれだけの価値があるかを示します。攻撃機能に問題があります-最初に最も価値のあるスパン(中央の行と列、次に対角線、そして写真に追加された他のすべての/詳細2)でプレーヤーを攻撃するようにする必要があります本当に方法がわかりませんこれらすべてのデータの重みを取得し、実際に降順で並べ替えて、利用可能なすべての中で最も価値のあるスパンを選択する関数を作成します...ありがとうございます。

データの重みではなく、出現順にすべてのスパンで攻撃する関数の前に作成しました。

    function attack() {
            var span = ['.r1 c1 d1', '.r2 c1', '.r3 c1 d2', '.r1 c2', '.r2 c2 d1 d2', '.r3 c2', '.r1 c3 d2', '.r2 c3', '.r3 c3 d1'];
            var weight = $('[data-weight]');
            var tempLoop = true;
            $.each(weight, function (k, span){
                var weight= $(weight).data('weight');
                $(span).each(function () {
                    if (tempLoop) {
                        if (isNaN($(this).data("full"))) {
                            $(this).data("full", 1)
                                    .data("value", -1)
                                    .html("<i class=\"fa fa-times\"></i>");
                            console.log("attack");
                            tempLoop = false;
                        }
                    }
                });
            })
        }
ジャスティン

.sort()関数を使用して.data('weight')2つの要素を比較します。要素を重みで並べ替えるか、ループするか、重みが最も高い要素を最初に選択します。最初にそのセル攻撃するために相対的な重みを適用します

$(document).ready(function() {
  $('.table span')
    .sort(function(a, b) {
      return $(b).data('weight') - $(a).data('weight');
    })
    .each(function(k, i) {
      var $this = $(this);
      setTimeout(function () {
        $this.text(k + '/' + $this.data('weight'));
      }, k * 200);
    });
});
.table {
  width: 300px;
  height: 300px;
}
.table div {
  height: 100px;
}
.table span {
  box-sizing: border-box;
  border: 1px solid white;
  background: #555;
  width: 33.333%;
  height: 100%;
  float: left;
  display: inline-block;
  color: white;
  text-align: center;
  line-height: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
{attack-order / cell-weight}
<hr/>
<div class="table">
  <div>
    <span class="r1 c1 d1" data-weight="3"></span>
    <span class="r1 c2" data-weight="2"></span>
    <span class="r1 c3 d2" data-weight="3"></span>
  </div>
  <div>
    <span class="r2 c1" data-weight="2"></span>
    <span class="r2 c2 d1 d2" data-weight="4"></span>
    <span class="r2 c3" data-weight="2"></span>
  </div>
  <div>
    <span class="r3 c1 d2" data-weight="3"></span>
    <span class="r3 c2" data-weight="2"></span>
    <span class="r3 c3 d1" data-weight="3"></span>
  </div>
</div>


ゲームの例

$(document).ready(function() {
  computerMove();

  $('.table span:not(.full)').click(function() {
    $(this).addClass('full player');
    computerMove();
    checkWinner();
  });
});

function computerMove() {
  $('.table span:not(.full)')
    .sort(function(a, b) {
      return $(b).data('weight') - $(a).data('weight');
    })
    .first()
    .addClass('full computer');
}

function checkWinner() {
  if ($('.table span:not(.full)').length == 0) {
    // Do your logic of winning here:
    var hasWon = Math.random() > 0.5;

    if (hasWon) {
      alert('You have won');
    } else {
      alert('You have lost');
    }
  } else {
    return undefined;
  }
}

function restartGame() {
  $('.table span').removeClass('full');
  computerMove();
}
.table {
  width: 300px;
  height: 300px;
}
.table div {
  height: 100px;
}
.table span {
  box-sizing: border-box;
  border: 1px solid white;
  background: #555;
  width: 33.333%;
  height: 100%;
  float: left;
  display: inline-block;
  color: white;
  text-align: center;
  line-height: 100px;
}
.table span.full {
  background: white;
  border-color: black;
}
.table span:not(.full):hover {
  background-color: #666;
  cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
{attack-order / cell-weight}
<hr/>
<div class="table">
  <div>
    <span class="r1 c1 d1" data-weight="3"></span>
    <span class="r1 c2" data-weight="2"></span>
    <span class="r1 c3 d2" data-weight="3"></span>
  </div>
  <div>
    <span class="r2 c1" data-weight="2"></span>
    <span class="r2 c2 d1 d2" data-weight="4"></span>
    <span class="r2 c3" data-weight="2"></span>
  </div>
  <div>
    <span class="r3 c1 d2" data-weight="3"></span>
    <span class="r3 c2" data-weight="2"></span>
    <span class="r3 c3 d1" data-weight="3"></span>
  </div>
</div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

as.data.frameテーブルを並べ替えるにはどうすればよいですか

分類Dev

Spring Data Pageableから並べ替えのプロパティと方向を取得するにはどうすればよいですか?

分類Dev

data.tableの行を任意の順序に基づいて並べ替えるにはどうすればよいですか?

分類Dev

Spring Dataのデータで並べ替えられた最後のレコードを取得する

分類Dev

Data Movement APIを使用するときに結果を並べ替えるにはどうすればよいですか?

分類Dev

光沢のあるアプリ内で `order()`または代替手段を使用して `reactiveVal`` data.frame`を並べ替えるにはどうすればよいですか?

分類Dev

別のオブジェクトのrow.namesに基づいてdata.frame(テーブル)を並べ替えるにはどうすればよいですか?

分類Dev

jqueryでデータ属性を並べ替えるにはどうすればよいですか?

分類Dev

JQuery.data()によって作成された特定のデータ属性を持つ要素を取得するにはどうすればよいですか?

分類Dev

JSONDecoderを使用して注文キーに従って並べ替えられたデータを取得するにはどうすればよいですか?

分類Dev

data.tableはキー列のNA値をどのように並べ替えますか?

分類Dev

data.frame内の指定された列を昇順で並べ替えます

分類Dev

並べ替えとページングの両方でSpring data JPAを使用してすぐにデータをクエリする方法は?

分類Dev

並べ替えた順序でVBAの並べ替えられたExcel範囲をループするにはどうすればよいですか?

分類Dev

データソースが割り当てられたDataGridViewで並べ替えを有効にするにはどうすればよいですか?

分類Dev

すべての列でmatrix / data.frameを並べ替える方法

分類Dev

Linuxでn行ごとにデータを並べ替えるにはどうすればよいですか?

分類Dev

並べ替えられた別のリストに基づいてXSLで並べ替えるにはどうすればよいですか?

分類Dev

データベースを日付で並べ替えるにはどうすればよいですか?

分類Dev

データの並べ替え時にRecyclerViewを更新するにはどうすればよいですか?

分類Dev

PHPで配列とデータを並べ替えるにはどうすればよいですか?

分類Dev

PHPの配列でデータを並べ替えるにはどうすればよいですか?

分類Dev

ApacheArrowでデータを並べ替えるにはどうすればよいですか

分類Dev

初期データの並べ替え矢印を表示するにはどうすればよいですか?

分類Dev

ターミナルから画像を並べ替えるにはどうすればよいですか?

分類Dev

リストをメガピクセルで並べ替えてから名前で並べ替えるにはどうすればよいですか?

分類Dev

並べ替えられたデータグリッドビューの正しいセルを参照するにはどうすればよいですか?

分類Dev

React jsでローカルのjsonファイルを並べ替えようとしていますが、「TypeError:_Data_place_json__WEBPACK_IMPORTED_MODULE_1__は反復できません。」というエラーが表示されます。

分類Dev

「data-letter」という名前の各属性でアルファベット順に並べ替えます

Related 関連記事

  1. 1

    as.data.frameテーブルを並べ替えるにはどうすればよいですか

  2. 2

    Spring Data Pageableから並べ替えのプロパティと方向を取得するにはどうすればよいですか?

  3. 3

    data.tableの行を任意の順序に基づいて並べ替えるにはどうすればよいですか?

  4. 4

    Spring Dataのデータで並べ替えられた最後のレコードを取得する

  5. 5

    Data Movement APIを使用するときに結果を並べ替えるにはどうすればよいですか?

  6. 6

    光沢のあるアプリ内で `order()`または代替手段を使用して `reactiveVal`` data.frame`を並べ替えるにはどうすればよいですか?

  7. 7

    別のオブジェクトのrow.namesに基づいてdata.frame(テーブル)を並べ替えるにはどうすればよいですか?

  8. 8

    jqueryでデータ属性を並べ替えるにはどうすればよいですか?

  9. 9

    JQuery.data()によって作成された特定のデータ属性を持つ要素を取得するにはどうすればよいですか?

  10. 10

    JSONDecoderを使用して注文キーに従って並べ替えられたデータを取得するにはどうすればよいですか?

  11. 11

    data.tableはキー列のNA値をどのように並べ替えますか?

  12. 12

    data.frame内の指定された列を昇順で並べ替えます

  13. 13

    並べ替えとページングの両方でSpring data JPAを使用してすぐにデータをクエリする方法は?

  14. 14

    並べ替えた順序でVBAの並べ替えられたExcel範囲をループするにはどうすればよいですか?

  15. 15

    データソースが割り当てられたDataGridViewで並べ替えを有効にするにはどうすればよいですか?

  16. 16

    すべての列でmatrix / data.frameを並べ替える方法

  17. 17

    Linuxでn行ごとにデータを並べ替えるにはどうすればよいですか?

  18. 18

    並べ替えられた別のリストに基づいてXSLで並べ替えるにはどうすればよいですか?

  19. 19

    データベースを日付で並べ替えるにはどうすればよいですか?

  20. 20

    データの並べ替え時にRecyclerViewを更新するにはどうすればよいですか?

  21. 21

    PHPで配列とデータを並べ替えるにはどうすればよいですか?

  22. 22

    PHPの配列でデータを並べ替えるにはどうすればよいですか?

  23. 23

    ApacheArrowでデータを並べ替えるにはどうすればよいですか

  24. 24

    初期データの並べ替え矢印を表示するにはどうすればよいですか?

  25. 25

    ターミナルから画像を並べ替えるにはどうすればよいですか?

  26. 26

    リストをメガピクセルで並べ替えてから名前で並べ替えるにはどうすればよいですか?

  27. 27

    並べ替えられたデータグリッドビューの正しいセルを参照するにはどうすればよいですか?

  28. 28

    React jsでローカルのjsonファイルを並べ替えようとしていますが、「TypeError:_Data_place_json__WEBPACK_IMPORTED_MODULE_1__は反復できません。」というエラーが表示されます。

  29. 29

    「data-letter」という名前の各属性でアルファベット順に並べ替えます

ホットタグ

アーカイブ