506 lines
9.2 KiB
Dart
506 lines
9.2 KiB
Dart
// フォーメーションごとの座標配置(イーフトっぽい並び)
|
||
final Map<String, List<List<Map<String, double>>>> formationLayouts = {
|
||
// =========================
|
||
// 4-1-2-3
|
||
// =========================
|
||
// 上から FW3列 / 攻撃MF2 / 守備MF1 / DF4 / GK
|
||
'4-1-2-3': [
|
||
// FW (3)
|
||
[
|
||
{'x': 0.20, 'y': 0.08}, // LWG
|
||
{'x': 0.50, 'y': 0.06}, // CF
|
||
{'x': 0.80, 'y': 0.08}, // RWG
|
||
],
|
||
// 攻撃的MF(2)
|
||
[
|
||
{'x': 0.40, 'y': 0.22},
|
||
{'x': 0.60, 'y': 0.22},
|
||
],
|
||
// 守備的MF(1)
|
||
[
|
||
{'x': 0.50, 'y': 0.35},
|
||
],
|
||
// DF (4)
|
||
[
|
||
{'x': 0.15, 'y': 0.55},
|
||
{'x': 0.35, 'y': 0.53},
|
||
{'x': 0.65, 'y': 0.53},
|
||
{'x': 0.85, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 4-3-3
|
||
// =========================
|
||
'4-3-3': [
|
||
// FW (3)
|
||
[
|
||
{'x': 0.20, 'y': 0.08},
|
||
{'x': 0.50, 'y': 0.06},
|
||
{'x': 0.80, 'y': 0.08},
|
||
],
|
||
// MF (3)
|
||
[
|
||
{'x': 0.30, 'y': 0.24},
|
||
{'x': 0.50, 'y': 0.26},
|
||
{'x': 0.70, 'y': 0.24},
|
||
],
|
||
// DF (4)
|
||
[
|
||
{'x': 0.15, 'y': 0.55},
|
||
{'x': 0.35, 'y': 0.53},
|
||
{'x': 0.65, 'y': 0.53},
|
||
{'x': 0.85, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 4-4-2
|
||
// =========================
|
||
'4-4-2': [
|
||
// FW (2)
|
||
[
|
||
{'x': 0.35, 'y': 0.08},
|
||
{'x': 0.65, 'y': 0.08},
|
||
],
|
||
// MF (4)
|
||
[
|
||
{'x': 0.20, 'y': 0.24},
|
||
{'x': 0.40, 'y': 0.24},
|
||
{'x': 0.60, 'y': 0.24},
|
||
{'x': 0.80, 'y': 0.24},
|
||
],
|
||
// DF (4)
|
||
[
|
||
{'x': 0.15, 'y': 0.55},
|
||
{'x': 0.35, 'y': 0.53},
|
||
{'x': 0.65, 'y': 0.53},
|
||
{'x': 0.85, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 4-3-2-1(クリスマスツリー気味)
|
||
// =========================
|
||
'4-3-2-1': [
|
||
// FW (1)
|
||
[
|
||
{'x': 0.50, 'y': 0.06},
|
||
],
|
||
// 2列目 (2)
|
||
[
|
||
{'x': 0.35, 'y': 0.18},
|
||
{'x': 0.65, 'y': 0.18},
|
||
],
|
||
// 3列目 (3)
|
||
[
|
||
{'x': 0.25, 'y': 0.30},
|
||
{'x': 0.50, 'y': 0.32},
|
||
{'x': 0.75, 'y': 0.30},
|
||
],
|
||
// DF (4)
|
||
[
|
||
{'x': 0.15, 'y': 0.55},
|
||
{'x': 0.35, 'y': 0.53},
|
||
{'x': 0.65, 'y': 0.53},
|
||
{'x': 0.85, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 4-3-1-2
|
||
// =========================
|
||
'4-3-1-2': [
|
||
// FW (2)
|
||
[
|
||
{'x': 0.35, 'y': 0.08},
|
||
{'x': 0.65, 'y': 0.08},
|
||
],
|
||
// 2列目 (1)
|
||
[
|
||
{'x': 0.50, 'y': 0.20},
|
||
],
|
||
// 3列目 (3)
|
||
[
|
||
{'x': 0.25, 'y': 0.32},
|
||
{'x': 0.50, 'y': 0.34},
|
||
{'x': 0.75, 'y': 0.32},
|
||
],
|
||
// DF (4)
|
||
[
|
||
{'x': 0.15, 'y': 0.55},
|
||
{'x': 0.35, 'y': 0.53},
|
||
{'x': 0.65, 'y': 0.53},
|
||
{'x': 0.85, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 4-2-3-1
|
||
// =========================
|
||
'4-2-3-1': [
|
||
// FW (1)
|
||
[
|
||
{'x': 0.50, 'y': 0.06},
|
||
],
|
||
// 2列目 (3) 攻撃的MF
|
||
[
|
||
{'x': 0.25, 'y': 0.20},
|
||
{'x': 0.50, 'y': 0.22},
|
||
{'x': 0.75, 'y': 0.20},
|
||
],
|
||
// 3列目 (2) 守備的MF
|
||
[
|
||
{'x': 0.40, 'y': 0.34},
|
||
{'x': 0.60, 'y': 0.34},
|
||
],
|
||
// DF (4)
|
||
[
|
||
{'x': 0.15, 'y': 0.55},
|
||
{'x': 0.35, 'y': 0.53},
|
||
{'x': 0.65, 'y': 0.53},
|
||
{'x': 0.85, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 4-2-1-3
|
||
// =========================
|
||
'4-2-1-3': [
|
||
// FW (3)
|
||
[
|
||
{'x': 0.20, 'y': 0.08},
|
||
{'x': 0.50, 'y': 0.06},
|
||
{'x': 0.80, 'y': 0.08},
|
||
],
|
||
// 2列目 (1)
|
||
[
|
||
{'x': 0.50, 'y': 0.22},
|
||
],
|
||
// 3列目 (2)
|
||
[
|
||
{'x': 0.40, 'y': 0.34},
|
||
{'x': 0.60, 'y': 0.34},
|
||
],
|
||
// DF (4)
|
||
[
|
||
{'x': 0.15, 'y': 0.55},
|
||
{'x': 0.35, 'y': 0.53},
|
||
{'x': 0.65, 'y': 0.53},
|
||
{'x': 0.85, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 4-2-2-2(2ST + 2OH + 2DM)
|
||
// =========================
|
||
'4-2-2-2': [
|
||
// FW (2)
|
||
[
|
||
{'x': 0.35, 'y': 0.08},
|
||
{'x': 0.65, 'y': 0.08},
|
||
],
|
||
// 2列目 (2) OH
|
||
[
|
||
{'x': 0.30, 'y': 0.20},
|
||
{'x': 0.70, 'y': 0.20},
|
||
],
|
||
// 3列目 (2) DM
|
||
[
|
||
{'x': 0.40, 'y': 0.34},
|
||
{'x': 0.60, 'y': 0.34},
|
||
],
|
||
// DF (4)
|
||
[
|
||
{'x': 0.15, 'y': 0.55},
|
||
{'x': 0.35, 'y': 0.53},
|
||
{'x': 0.65, 'y': 0.53},
|
||
{'x': 0.85, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 3-4-3
|
||
// =========================
|
||
'3-4-3': [
|
||
// FW (3)
|
||
[
|
||
{'x': 0.20, 'y': 0.08},
|
||
{'x': 0.50, 'y': 0.06},
|
||
{'x': 0.80, 'y': 0.08},
|
||
],
|
||
// MF (4)
|
||
[
|
||
{'x': 0.20, 'y': 0.24},
|
||
{'x': 0.40, 'y': 0.24},
|
||
{'x': 0.60, 'y': 0.24},
|
||
{'x': 0.80, 'y': 0.24},
|
||
],
|
||
// DF (3)
|
||
[
|
||
{'x': 0.30, 'y': 0.55},
|
||
{'x': 0.50, 'y': 0.53},
|
||
{'x': 0.70, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 3-2-4-1
|
||
// =========================
|
||
'3-2-4-1': [
|
||
// FW (1)
|
||
[
|
||
{'x': 0.50, 'y': 0.06},
|
||
],
|
||
// 2列目 (4)
|
||
[
|
||
{'x': 0.20, 'y': 0.18},
|
||
{'x': 0.40, 'y': 0.20},
|
||
{'x': 0.60, 'y': 0.20},
|
||
{'x': 0.80, 'y': 0.18},
|
||
],
|
||
// 3列目 (2)
|
||
[
|
||
{'x': 0.40, 'y': 0.34},
|
||
{'x': 0.60, 'y': 0.34},
|
||
],
|
||
// DF (3)
|
||
[
|
||
{'x': 0.30, 'y': 0.55},
|
||
{'x': 0.50, 'y': 0.53},
|
||
{'x': 0.70, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 3-2-3-2
|
||
// =========================
|
||
'3-2-3-2': [
|
||
// FW (2)
|
||
[
|
||
{'x': 0.35, 'y': 0.08},
|
||
{'x': 0.65, 'y': 0.08},
|
||
],
|
||
// 2列目 (3)
|
||
[
|
||
{'x': 0.25, 'y': 0.20},
|
||
{'x': 0.50, 'y': 0.22},
|
||
{'x': 0.75, 'y': 0.20},
|
||
],
|
||
// 3列目 (2)
|
||
[
|
||
{'x': 0.40, 'y': 0.34},
|
||
{'x': 0.60, 'y': 0.34},
|
||
],
|
||
// DF (3)
|
||
[
|
||
{'x': 0.30, 'y': 0.55},
|
||
{'x': 0.50, 'y': 0.53},
|
||
{'x': 0.70, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 3-1-4-2
|
||
// =========================
|
||
'3-1-4-2': [
|
||
// FW (2)
|
||
[
|
||
{'x': 0.35, 'y': 0.08},
|
||
{'x': 0.65, 'y': 0.08},
|
||
],
|
||
// 2列目 (4)
|
||
[
|
||
{'x': 0.20, 'y': 0.22},
|
||
{'x': 0.40, 'y': 0.24},
|
||
{'x': 0.60, 'y': 0.24},
|
||
{'x': 0.80, 'y': 0.22},
|
||
],
|
||
// 3列目 (1)
|
||
[
|
||
{'x': 0.50, 'y': 0.36},
|
||
],
|
||
// DF (3)
|
||
[
|
||
{'x': 0.30, 'y': 0.55},
|
||
{'x': 0.50, 'y': 0.53},
|
||
{'x': 0.70, 'y': 0.55},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 5-3-2
|
||
// =========================
|
||
'5-3-2': [
|
||
// FW (2)
|
||
[
|
||
{'x': 0.40, 'y': 0.08},
|
||
{'x': 0.60, 'y': 0.08},
|
||
],
|
||
// MF (3)
|
||
[
|
||
{'x': 0.30, 'y': 0.24},
|
||
{'x': 0.50, 'y': 0.26},
|
||
{'x': 0.70, 'y': 0.24},
|
||
],
|
||
// DF (5)
|
||
[
|
||
{'x': 0.12, 'y': 0.52},
|
||
{'x': 0.32, 'y': 0.50},
|
||
{'x': 0.50, 'y': 0.48},
|
||
{'x': 0.68, 'y': 0.50},
|
||
{'x': 0.88, 'y': 0.52},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 5-2-2-1
|
||
// =========================
|
||
'5-2-2-1': [
|
||
// FW (1)
|
||
[
|
||
{'x': 0.50, 'y': 0.06},
|
||
],
|
||
// 2列目 (2)
|
||
[
|
||
{'x': 0.35, 'y': 0.20},
|
||
{'x': 0.65, 'y': 0.20},
|
||
],
|
||
// 3列目 (2)
|
||
[
|
||
{'x': 0.40, 'y': 0.34},
|
||
{'x': 0.60, 'y': 0.34},
|
||
],
|
||
// DF (5)
|
||
[
|
||
{'x': 0.12, 'y': 0.52},
|
||
{'x': 0.32, 'y': 0.50},
|
||
{'x': 0.50, 'y': 0.48},
|
||
{'x': 0.68, 'y': 0.50},
|
||
{'x': 0.88, 'y': 0.52},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 5-2-1-2
|
||
// =========================
|
||
'5-2-1-2': [
|
||
// FW (2)
|
||
[
|
||
{'x': 0.35, 'y': 0.08},
|
||
{'x': 0.65, 'y': 0.08},
|
||
],
|
||
// 2列目 (1)
|
||
[
|
||
{'x': 0.50, 'y': 0.20},
|
||
],
|
||
// 3列目 (2)
|
||
[
|
||
{'x': 0.40, 'y': 0.34},
|
||
{'x': 0.60, 'y': 0.34},
|
||
],
|
||
// DF (5)
|
||
[
|
||
{'x': 0.12, 'y': 0.52},
|
||
{'x': 0.32, 'y': 0.50},
|
||
{'x': 0.50, 'y': 0.48},
|
||
{'x': 0.68, 'y': 0.50},
|
||
{'x': 0.88, 'y': 0.52},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
|
||
// =========================
|
||
// 5-2-3
|
||
// =========================
|
||
'5-2-3': [
|
||
// FW (3)
|
||
[
|
||
{'x': 0.20, 'y': 0.08},
|
||
{'x': 0.50, 'y': 0.06},
|
||
{'x': 0.80, 'y': 0.08},
|
||
],
|
||
// 2列目 (2)
|
||
[
|
||
{'x': 0.40, 'y': 0.24},
|
||
{'x': 0.60, 'y': 0.24},
|
||
],
|
||
// DF (5)
|
||
[
|
||
{'x': 0.12, 'y': 0.52},
|
||
{'x': 0.32, 'y': 0.50},
|
||
{'x': 0.50, 'y': 0.48},
|
||
{'x': 0.68, 'y': 0.50},
|
||
{'x': 0.88, 'y': 0.52},
|
||
],
|
||
// GK
|
||
[
|
||
{'x': 0.50, 'y': 0.86},
|
||
],
|
||
],
|
||
};
|
||
|
||
// formation_generator と home_screen からはこの関数だけ使えばOK
|
||
List<List<Map<String, double>>> getFormationLayout(String formation) {
|
||
return formationLayouts[formation]!;
|
||
}
|