Files
22e1372-efootballnexus/lib/data/formation_positions.dart

405 lines
7.1 KiB
Dart

// フォーメーションごとの座標配置(イーフトっぽい並び)
final Map<String, List<List<Map<String, double>>>> formationLayouts = {
'4-1-2-3': [
[
{'x': 0.20, 'y': 0.12},
{'x': 0.50, 'y': 0.08},
{'x': 0.80, 'y': 0.12},
],
[
{'x': 0.40, 'y': 0.30},
{'x': 0.60, 'y': 0.30},
],
[
{'x': 0.50, 'y': 0.45},
],
[
{'x': 0.15, 'y': 0.55},
{'x': 0.35, 'y': 0.62},
{'x': 0.65, 'y': 0.62},
{'x': 0.85, 'y': 0.55},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'4-3-3': [
[
{'x': 0.20, 'y': 0.12},
{'x': 0.50, 'y': 0.08},
{'x': 0.80, 'y': 0.12},
],
[
{'x': 0.30, 'y': 0.35},
{'x': 0.50, 'y': 0.45},
{'x': 0.70, 'y': 0.35},
],
[
{'x': 0.15, 'y': 0.55},
{'x': 0.35, 'y': 0.62},
{'x': 0.65, 'y': 0.62},
{'x': 0.85, 'y': 0.55},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'4-4-2': [
[
{'x': 0.35, 'y': 0.1},
{'x': 0.65, 'y': 0.1},
],
[
{'x': 0.20, 'y': 0.35},
{'x': 0.40, 'y': 0.45},
{'x': 0.60, 'y': 0.45},
{'x': 0.80, 'y': 0.35},
],
[
{'x': 0.15, 'y': 0.55},
{'x': 0.35, 'y': 0.62},
{'x': 0.65, 'y': 0.62},
{'x': 0.85, 'y': 0.55},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'4-3-2-1': [
[
{'x': 0.50, 'y': 0.1},
],
[
{'x': 0.35, 'y': 0.25},
{'x': 0.65, 'y': 0.25},
],
[
{'x': 0.25, 'y': 0.40},
{'x': 0.50, 'y': 0.45},
{'x': 0.75, 'y': 0.40},
],
[
{'x': 0.15, 'y': 0.55},
{'x': 0.35, 'y': 0.62},
{'x': 0.65, 'y': 0.62},
{'x': 0.85, 'y': 0.55},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'4-3-1-2': [
[
{'x': 0.35, 'y': 0.1},
{'x': 0.65, 'y': 0.1},
],
[
{'x': 0.50, 'y': 0.30},
],
[
{'x': 0.25, 'y': 0.40},
{'x': 0.50, 'y': 0.45},
{'x': 0.75, 'y': 0.40},
],
[
{'x': 0.15, 'y': 0.55},
{'x': 0.35, 'y': 0.62},
{'x': 0.65, 'y': 0.62},
{'x': 0.85, 'y': 0.55},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'4-2-3-1': [
[
{'x': 0.50, 'y': 0.1},
],
[
{'x': 0.20, 'y': 0.30},
{'x': 0.50, 'y': 0.30},
{'x': 0.80, 'y': 0.30},
],
[
{'x': 0.30, 'y': 0.45},
{'x': 0.70, 'y': 0.45},
],
[
{'x': 0.15, 'y': 0.55},
{'x': 0.35, 'y': 0.62},
{'x': 0.65, 'y': 0.62},
{'x': 0.85, 'y': 0.55},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'4-2-1-3': [
[
{'x': 0.20, 'y': 0.12},
{'x': 0.50, 'y': 0.08},
{'x': 0.80, 'y': 0.12},
],
[
{'x': 0.50, 'y': 0.28},
],
[
{'x': 0.40, 'y': 0.45},
{'x': 0.60, 'y': 0.45},
],
[
{'x': 0.15, 'y': 0.55},
{'x': 0.35, 'y': 0.62},
{'x': 0.65, 'y': 0.62},
{'x': 0.85, 'y': 0.55},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'4-1-4-1':[
[
{'x': 0.50, 'y': 0.1},
],
[
{'x': 0.15, 'y': 0.25},
{'x': 0.40, 'y': 0.25},
{'x': 0.60, 'y': 0.25},
{'x': 0.85, 'y': 0.25},
],
[
{'x': 0.50, 'y': 0.45},
],
[
{'x': 0.15, 'y': 0.55},
{'x': 0.35, 'y': 0.62},
{'x': 0.65, 'y': 0.62},
{'x': 0.85, 'y': 0.55},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'4-2-2-2': [
[
{'x': 0.35, 'y': 0.08},
{'x': 0.65, 'y': 0.08},
],
[
{'x': 0.20, 'y': 0.25},
{'x': 0.80, 'y': 0.25},
],
[
{'x': 0.40, 'y': 0.45},
{'x': 0.60, 'y': 0.45},
],
[
{'x': 0.15, 'y': 0.55},
{'x': 0.35, 'y': 0.62},
{'x': 0.65, 'y': 0.62},
{'x': 0.85, 'y': 0.55},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'3-4-3': [
[
{'x': 0.20, 'y': 0.12},
{'x': 0.50, 'y': 0.08},
{'x': 0.80, 'y': 0.12},
],
[
{'x': 0.20, 'y': 0.30},
{'x': 0.40, 'y': 0.45},
{'x': 0.60, 'y': 0.45},
{'x': 0.80, 'y': 0.30},
],
[
{'x': 0.20, 'y': 0.65},
{'x': 0.50, 'y': 0.65},
{'x': 0.80, 'y': 0.65},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'3-2-4-1': [
[
{'x': 0.50, 'y': 0.1},
],
[
{'x': 0.15, 'y': 0.25},
{'x': 0.40, 'y': 0.25},
{'x': 0.60, 'y': 0.25},
{'x': 0.85, 'y': 0.25},
],
[
{'x': 0.40, 'y': 0.45},
{'x': 0.60, 'y': 0.45},
],
[
{'x': 0.20, 'y': 0.65},
{'x': 0.50, 'y': 0.65},
{'x': 0.80, 'y': 0.65},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'3-2-3-2': [
[
{'x': 0.35, 'y': 0.1},
{'x': 0.65, 'y': 0.1},
],
[
{'x': 0.20, 'y': 0.30},
{'x': 0.50, 'y': 0.30},
{'x': 0.80, 'y': 0.30},
],
[
{'x': 0.40, 'y': 0.45},
{'x': 0.60, 'y': 0.45},
],
[
{'x': 0.20, 'y': 0.65},
{'x': 0.50, 'y': 0.65},
{'x': 0.80, 'y': 0.65},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'3-1-4-2': [
[
{'x': 0.35, 'y': 0.1},
{'x': 0.65, 'y': 0.1},
],
[
{'x': 0.15, 'y': 0.30},
{'x': 0.40, 'y': 0.30},
{'x': 0.60, 'y': 0.30},
{'x': 0.85, 'y': 0.30},
],
[
{'x': 0.50, 'y': 0.45},
],
[
{'x': 0.20, 'y': 0.65},
{'x': 0.50, 'y': 0.65},
{'x': 0.80, 'y': 0.65},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'5-3-2': [
[
{'x': 0.40, 'y': 0.1},
{'x': 0.60, 'y': 0.1},
],
[
{'x': 0.30, 'y': 0.40},
{'x': 0.50, 'y': 0.45},
{'x': 0.70, 'y': 0.40},
],
[
{'x': 0.12, 'y': 0.52},
{'x': 0.32, 'y': 0.62},
{'x': 0.50, 'y': 0.64},
{'x': 0.68, 'y': 0.62},
{'x': 0.88, 'y': 0.52},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'5-2-2-1': [
[
{'x': 0.50, 'y': 0.1},
],
[
{'x': 0.35, 'y': 0.30},
{'x': 0.65, 'y': 0.30},
],
[
{'x': 0.40, 'y': 0.45},
{'x': 0.60, 'y': 0.45},
],
[
{'x': 0.12, 'y': 0.52},
{'x': 0.32, 'y': 0.62},
{'x': 0.50, 'y': 0.64},
{'x': 0.68, 'y': 0.62},
{'x': 0.88, 'y': 0.52},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'5-2-1-2': [
[
{'x': 0.35, 'y': 0.08},
{'x': 0.65, 'y': 0.08},
],
[
{'x': 0.50, 'y': 0.25},
],
[
{'x': 0.40, 'y': 0.45},
{'x': 0.60, 'y': 0.45},
],
[
{'x': 0.12, 'y': 0.52},
{'x': 0.32, 'y': 0.62},
{'x': 0.50, 'y': 0.64},
{'x': 0.68, 'y': 0.62},
{'x': 0.88, 'y': 0.52},
],
[
{'x': 0.50, 'y': 0.85},
],
],
'5-2-3': [
[
{'x': 0.20, 'y': 0.12},
{'x': 0.50, 'y': 0.08},
{'x': 0.80, 'y': 0.12},
],
[
{'x': 0.40, 'y': 0.45},
{'x': 0.60, 'y': 0.45},
],
[
{'x': 0.12, 'y': 0.52},
{'x': 0.32, 'y': 0.62},
{'x': 0.50, 'y': 0.64},
{'x': 0.68, 'y': 0.62},
{'x': 0.88, 'y': 0.52},
],
[
{'x': 0.50, 'y': 0.85},
],
],
};
List<List<Map<String, double>>> getFormationLayout(String formation) {
return formationLayouts[formation] ?? formationLayouts['4-3-3']!;
}