From e4d54619f6e06395c53be74ac35cc5460c70f702 Mon Sep 17 00:00:00 2001 From: L3o15 Date: Mon, 12 May 2025 19:28:22 +0200 Subject: [PATCH] Comments and new elements --- .../it/arnaldo/unibs/tamagolem/Element.class | Bin 1512 -> 1523 bytes .../unibs/tamagolem/WorldBuilder.class | Bin 5882 -> 5881 bytes src/Element.java | 22 +++++++++--------- src/WorldBuilder.java | 15 ++++++++++-- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/Element.class b/out/production/TamaGolem/it/arnaldo/unibs/tamagolem/Element.class index e92c92b099ad3e1c16557dc9262f8be20aab52d1..9f2bd764275091f0723fa86f9d9aead4b73e7a98 100644 GIT binary patch delta 199 zcmaFC{h51$oe*D?qn~?xNGOzGWKfxGz^pPco2Q;7#6QTDlYxmifsK)Y-Pbk9 z)7jG>B*w?Xzz-7R4smq%@$?T4aC8Q%735(M0*SLkIYvc+6pHXLh=K$-o&0_L-TgfM zz}m%m7$m?(1_b#>`1(hHR7&wMNQ1SydHMhqDKaw1@-WDOL|9#&y;6b0bZWI8eF4IzXOj5T paKyFSUt~&{CFz_ljXwOh=Y-{gwRSe0@_tEJae3#f{j(IW>aE%H<-g}T+}H1aUB9D8qaBNE0c)|C3TCJgE3*mj z{04lo-0IS7KaAZQn|y)zF&lp(m_{5kNMt5?%%V^tj(sdHqI+YxqO`guBKWHAqAi9W_&Oo_9^hKu>Y zW1awBrdPK6428|~&??26K-0=|USNnbwY2dP7ZS~N+J$6_8q&}q%2f@kKfIC(OJ}Q# zav!BKey%z%%+0v#e0A1|>?2e0z%ug$_ttxu7o&yuUJu|+qr zRX3Bb+bPg}Y}W(q&>z^TN7WWD$O8OW|(8<6V+S=l_li0#7Qa*_(@h}G}45(B$mq!`Q{@T zR&i65CCSve>U<@q9-3Wsf9AHyu3VIfew&zzaI@Ajw?erI2{45e;3UywsTbO}98KovqIC ziV7J&Pn{9wHhgrUI_*O8l|_7`m)B1GWFMn)L~U}0Z{+9yuGJl7zeMQ{OVm_C1Ncty z_RG1thZ>Zj+@rkxKgtkZ49kj2h@2!9%i^6yfU=0Th_#5fSPJse=m selectedElements = new ArrayList<>(Arrays.asList(allElements)); + + // elementi scelti Collections.shuffle(selectedElements); selectedElements = selectedElements.subList(0, numElements); ElementGraph world = new ElementGraph(); + // mappa che contiene una mappa in modo che dato un elemento ti da una mappa con chiave un secondo elemento il cui valore è 1 se l'elemento infligge o -1 se l'elemento subisce HashMap> linkDirections = new HashMap<>(); for (Element element : selectedElements) { HashMap links = new HashMap<>(); @@ -61,6 +66,7 @@ public class WorldBuilder { System.out.println(linkDirections); + // hashmap che dato una coppia di element (è un set cosi AB = BA) ti torna la posizione all0interno dell'array di valori passato al sistema lineare HashMap, Integer> pairIndex = new HashMap<>(); int index = 0; @@ -74,9 +80,13 @@ public class WorldBuilder { System.out.println(pairIndex); + // matrice incognite int[][] A = new int[numElements][numElements * (numElements - 1) / 2]; + + // matrice termini noti int[] b = new int[numElements]; + // popolo le 2 matrici int i = 0; for (Element element : selectedElements) { int[] line = new int[numElements * (numElements - 1) / 2]; @@ -96,6 +106,7 @@ public class WorldBuilder { } + // creo e risolvo il sistema lineare associato LinearSystem system = new LinearSystem(numElements, A, b); @@ -107,7 +118,7 @@ public class WorldBuilder { System.out.println(); - + // popola il grafo in base ai risultati del sistema lineare for (Element element : selectedElements) { GraphElement graphElement = new GraphElement(element); for (Element el : selectedElements) {