Added 60 part

This commit is contained in:
Willem Cazander 2022-01-31 01:12:29 +01:00
parent 390a6c657e
commit 3763ee3fdd
20 changed files with 184 additions and 97 deletions

View file

@ -18,6 +18,7 @@ import imgui.type.ImBoolean;
import love.distributedrebirth.demo4d.matrix4d.ScreenMatrix4D;
import love.distributedrebirth.demo4d.music.MusicManager;
import love.distributedrebirth.demo4d.music.MusicPlayerRenderer;
import love.distributedrebirth.demo4d.screen.BasePartRenderer;
import love.distributedrebirth.demo4d.screen.BasicConsoleRenderer;
import love.distributedrebirth.demo4d.screen.HebrewWalletRenderer;
import love.distributedrebirth.demo4d.screen.ScreenCredits;
@ -48,6 +49,7 @@ public class Demo4DMain extends Game {
private ImBoolean showImGuiDemo = new ImBoolean(false);
private ImBoolean showMusicPlayer = new ImBoolean(false);
private ImBoolean showHebrewWallet = new ImBoolean(false);
private ImBoolean showBasePart = new ImBoolean(false);
private ImBoolean showBasicConsole = new ImBoolean(false);
public Demo4DMain(List<String> args, NativeFileChooser fileChooser) {
@ -71,6 +73,7 @@ public class Demo4DMain extends Game {
widgets = new HashMap<>();
putWidget(new MusicPlayerRenderer(this));
putWidget(new HebrewWalletRenderer(this));
putWidget(new BasePartRenderer(this));
putWidget(new BasicConsoleRenderer(this));
screens = new HashMap<>();
@ -133,6 +136,9 @@ public class Demo4DMain extends Game {
if (showHebrewWallet.get()) {
widgets.get(HebrewWalletRenderer.class).render(showHebrewWallet);
}
if (showBasePart.get()) {
widgets.get(BasePartRenderer.class).render(showBasePart);
}
if (showBasicConsole.get()) {
widgets.get(BasicConsoleRenderer.class).render(showBasicConsole);
}
@ -170,6 +176,9 @@ public class Demo4DMain extends Game {
if (ImGui.menuItem("Hebrew Wallet")) {
showHebrewWallet.set(true);
}
if (ImGui.menuItem("Base Part")) {
showBasePart.set(true);
}
if (ImGui.menuItem("Basic Console")) {
showBasicConsole.set(true);
}

View file

@ -8,6 +8,7 @@ import imgui.ImGui;
import imgui.ImGuiIO;
import imgui.gl3.ImGuiImplGl3;
import imgui.glfw.ImGuiImplGlfw;
import love.distributedrebirth.numberxd.base2t.T60Sexagesimal;
/**
*
@ -56,6 +57,11 @@ public class ImGuiSetup {
rangesBuilder.addText("\u4ed9⁴ ˧꜏⋇꜊꜔ ⁴ﷲΩ@");
rangesBuilder.addText("©Δ∞ \u4ed9\u4e0a\u4e3b\u5929");
for (T60Sexagesimal value:T60Sexagesimal.values()) {
rangesBuilder.addText(value.getIdentifierLetter());
rangesBuilder.addText(value.getChinaKey());
}
final ImFontConfig fontConfig = new ImFontConfig();
fontConfig.setMergeMode(true); // Enable merge mode to merge cyrillic, japanese and icons with default font

View file

@ -0,0 +1,63 @@
package love.distributedrebirth.demo4d.screen;
import java.util.Arrays;
import java.util.List;
import imgui.ImGui;
import imgui.flag.ImGuiCond;
import imgui.flag.ImGuiTableFlags;
import imgui.type.ImBoolean;
import love.distributedrebirth.demo4d.Demo4DMain;
import love.distributedrebirth.demo4d.ImGuiRendererMain;
import love.distributedrebirth.numberxd.base2t.T60Sexagesimal;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
/**
*
* @author willemtsade ©Δ 仙上主天
*
*/
public class BasePartRenderer extends ImGuiRendererMain {
public BasePartRenderer(Demo4DMain main) {
super(main);
}
@Override
public void render(ImBoolean widgetOpen) {
ImGui.setNextWindowPos(200, 200, ImGuiCond.FirstUseEver);
ImGui.setNextWindowSize(640, 480, ImGuiCond.FirstUseEver);
ImGui.begin("Base part", widgetOpen);
ImGui.text("Current part type:");
ImGui.sameLine();
ImGui.text("T60Sexagesimal");
int flags = ImGuiTableFlags.ScrollX | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersOuter | ImGuiTableFlags.BordersV;
ImGui.beginTable("base-part", 5, flags);
ImGui.tableSetupColumn("ordinal");
ImGui.tableSetupColumn("idTone");
ImGui.tableSetupColumn("idLetter");
ImGui.tableSetupColumn("ChinaKey");
ImGui.tableSetupColumn("ChinaValue");
ImGui.tableHeadersRow();
List<BasePart> parts = Arrays.asList(T60Sexagesimal.values());
for (BasePart part:parts) {
ImGui.tableNextRow();
ImGui.tableNextColumn();
ImGui.text(Integer.toString(part.ordinal()));
ImGui.tableNextColumn();
ImGui.text(part.getIdentifierTone());
ImGui.tableNextColumn();
ImGui.text(part.getIdentifierLetter());
ImGui.tableNextColumn();
ImGui.text(part.getChinaKey());
ImGui.tableNextColumn();
ImGui.text(part.getChinaValue());
}
ImGui.endTable();
ImGui.end();
}
}

View file

@ -32,19 +32,10 @@ public class ScreenUnicode4D extends Demo4DMainAdapter {
ImVec2 size = new ImVec2(144f, 48f);
ImGui.invisibleButton("canvas", size.x, size.y);
ImVec2 p0 = ImGui.getItemRectMin();
ImVec2 p1 = ImGui.getItemRectMax();
ImVec2 p1 = ImGui.getItemRectMax(); // p1 = p0 + size
ImDrawList drawList = ImGui.getWindowDrawList();
drawList.pushClipRect(p0.x, p0.y, p1.x, p1.y);
// draw unicode4D
//System.out.println("p0.x="+p0.x+" p0.y="+p0.y);
//System.out.println("p1.x="+p1.x+" p1.y="+p1.y);
// for (int n = 0; n < (1.0f + Math.sin(ImGui.getTime() * 5.7f)) * 40.0f; n++) {
// drawList.addCircle(p0.x + size.x * 0.5f, p0.y + size.y * 0.5f, size.y * (0.01f + n * 0.03f),
// ImColor.intToColor(255, 140 - n * 4, n * 3, 255)
// );
// }
drawList.addQuad(p0.x, p0.y, p0.x+size.x, p0.y, p1.x, p1.y, p0.x, p0.y+size.y,
ImColor.intToColor(127, 127, 255, 255), 5f);
@ -54,5 +45,14 @@ public class ScreenUnicode4D extends Demo4DMainAdapter {
drawList.popClipRect();
ImGui.end();
//System.out.println("p0.x="+p0.x+" p0.y="+p0.y);
//System.out.println("p1.x="+p1.x+" p1.y="+p1.y);
// for (int n = 0; n < (1.0f + Math.sin(ImGui.getTime() * 5.7f)) * 40.0f; n++) {
// drawList.addCircle(p0.x + size.x * 0.5f, p0.y + size.y * 0.5f, size.y * (0.01f + n * 0.03f),
// ImColor.intToColor(255, 140 - n * 4, n * 3, 255)
// );
// }
}
}

View file

@ -7,7 +7,7 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacet;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
/**
@ -15,7 +15,7 @@ import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
* @author willemtsade ©Δ 仙上主天
*
*/
public enum T02PartBinary implements BaseFacet {
public enum T02PartBinary implements BasePart {
PART_1("˧","0", "", "low"),
PART_2("","1", "", "high"),

View file

@ -7,7 +7,7 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacet;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
/**
@ -15,7 +15,7 @@ import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
* @author willemtsade ©Δ 仙上主天
*
*/
public enum T03PartTrit implements BaseFacet {
public enum T03PartTrit implements BasePart {
PART_1("˦","0","","1"),
PART_2("˧","1","","2"),

View file

@ -7,7 +7,7 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacet;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
import love.distributedrebirth.numberxd.base2t.facet.BasePartAlt1;
import love.distributedrebirth.numberxd.base2t.facet.BasePartSplit4;
@ -17,7 +17,7 @@ import love.distributedrebirth.numberxd.base2t.facet.BasePartSplit4;
* @author willemtsade ©Δ 仙上主天
*
*/
public enum T04PartQuad implements BaseFacet,BasePartAlt1,BasePartSplit4 {
public enum T04PartQuad implements BasePart,BasePartAlt1,BasePartSplit4 {
PART_1("˥","0","","north","N"),
PART_2("","1","","east", "E"),

View file

@ -7,14 +7,14 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacet;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
/**
* The distribution by 5 called Wuxing.
* @author willemtsade ©Δ 仙上主天
*/
public enum T05PartPental implements BaseFacet {
public enum T05PartPental implements BasePart {
PART_1("˥","0","","fire"),
PART_2("˦","1","","water"),

View file

@ -7,7 +7,7 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacet;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
import love.distributedrebirth.numberxd.base2t.facet.BasePartAlt1;
import love.distributedrebirth.numberxd.base2t.facet.BasePartSplit6;
@ -19,7 +19,7 @@ import love.distributedrebirth.numberxd.base2t.facet.BasePartSplit6;
* @author willemtsade ©Δ 仙上主天
*
*/
public enum T06PartSeximal implements BaseFacet,BasePartAlt1,BasePartSplit6 {
public enum T06PartSeximal implements BasePart,BasePartAlt1,BasePartSplit6 {
PART_1("˦","0","","4","A"),
PART_2("˨","1","","5","D"),

View file

@ -7,7 +7,7 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacet;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
import love.distributedrebirth.numberxd.base2t.facet.BasePartAlt2;
import love.distributedrebirth.numberxd.base2t.facet.BasePartSplit8;
@ -17,7 +17,7 @@ import love.distributedrebirth.numberxd.base2t.facet.BasePartSplit8;
* @author willemtsade ©Δ 仙上主天
*
*/
public enum T08PartOctal implements BaseFacet,BasePartAlt2,BasePartSplit8 {
public enum T08PartOctal implements BasePart,BasePartAlt2,BasePartSplit8 {
PART_1("˥","0","","heart","˧˥˩","˥˩˧", 0),
PART_2("˩","1","","head", "˧˩˥","˩˥˧", 3),

View file

@ -7,7 +7,7 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacet;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
import love.distributedrebirth.numberxd.base2t.facet.BasePartAlt1;
@ -16,7 +16,7 @@ import love.distributedrebirth.numberxd.base2t.facet.BasePartAlt1;
* @author willemtsade ©Δ 仙上主天
*
*/
public enum T12PartUncial implements BaseFacet,BasePartAlt1 {
public enum T12PartUncial implements BasePart,BasePartAlt1 {
PART_1 ("˥","0","","sun","0"),
PART_2 ("˧","1","","moon","1"),

View file

@ -7,7 +7,7 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacet;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
import love.distributedrebirth.numberxd.base2t.facet.BasePartAlt1;
import love.distributedrebirth.numberxd.base2t.facet.BasePartSplit16;
@ -17,7 +17,7 @@ import love.distributedrebirth.numberxd.base2t.facet.BasePartSplit16;
* @author willemtsade ©Δ 仙上主天
*
*/
public enum T16PartHex implements BaseFacet,BasePartAlt1,BasePartSplit16 {
public enum T16PartHex implements BasePart,BasePartAlt1,BasePartSplit16 {
PART_1 ("˥","0","","hydrogen","1"),
PART_2 ("˦","1","","helium","2"),

View file

@ -7,7 +7,7 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacet;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
import love.distributedrebirth.numberxd.base2t.facet.BasePartAlt1;
@ -16,7 +16,7 @@ import love.distributedrebirth.numberxd.base2t.facet.BasePartAlt1;
* @author willemtsade ©Δ 仙上主天
*
*/
public enum T20PartScore implements BaseFacet,BasePartAlt1 {
public enum T20PartScore implements BasePart,BasePartAlt1 {
PART_1 ("˥","0","","yotta","2"),
PART_2 ("˦","1","","zetta","3"),

View file

@ -7,71 +7,80 @@ import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacet;
import love.distributedrebirth.numberxd.base2t.facet.BasePart;
import love.distributedrebirth.numberxd.base2t.facet.BaseFacetKey;
public enum T60Sexagesimal implements BaseFacet {
// TODO impl too
PART_1 ("˧","0","","100"),
PART_2 ("˧","1","","101"), // ?
PART_3 ("˧","2","",""),
PART_4 ("˧","3","",""),
PART_5 ("˧","4","",""),
PART_6 ("˧","5","",""),
PART_7 ("˧","6","",""),
PART_8 ("˧","7","",""),
PART_9 ("˧","8","",""),
PART_10("˧","9","",""),
PART_11("˧","10","",""),
PART_12("˧","11","",""),
PART_13("˧","","",""),
PART_14("˧","","",""),
PART_15("˧","","",""),
PART_16("˧","","",""),
PART_17("˧","","",""),
PART_18("˧","","",""),
PART_19("˧","","",""),
PART_20("˧","","",""),
PART_21("˧","","",""),
PART_22("˧","","",""),
PART_23("˧","","",""),
PART_24("˧","","",""),
PART_25("˧","","",""),
PART_26("˧","","",""),
PART_27("˧","","",""),
PART_28("˧","","",""),
PART_29("˧","","",""),
PART_30("˧","","",""),
PART_31("˧","","",""),
PART_32("˧","","",""),
PART_33("˧","","",""),
PART_34("˧","","",""),
PART_35("˧","","",""),
PART_36("˧","","",""),
PART_37("˧","","",""),
PART_38("˧","","",""),
PART_39("˧","","",""),
PART_40("˧","","",""),
PART_41("˧","","",""),
PART_42("˧","","",""),
PART_43("˧","","",""),
PART_44("˧","","",""),
PART_45("˧","","",""),
PART_46("˧","","",""),
PART_47("˧","","",""),
PART_48("˧","","",""),
PART_49("˧","","",""),
PART_50("˧","","",""),
PART_51("˧","","",""),
PART_52("˧","","",""),
PART_53("˧","","",""),
PART_54("˧","","",""),
PART_55("˧","","",""),
PART_56("˧","","",""),
PART_57("˧","","",""),
PART_58("˧","","",""),
PART_59("˧","","",""),
PART_60("˧","","",""),
/**
* The distribution by 60.
*
* @author willemtsade ©Δ 仙上主天
*
*/
public enum T60Sexagesimal implements BasePart {
PART_1 ("˧˩˥","ια","","cow"),
PART_2 ("˧˥˦","ιβ","","chicken"),
PART_3 ("˧˩˨","ιγ","","sheep"),
PART_4 ("˧˦˦","ιδ","","wolf"),
PART_5 ("˧˨˨","ιε","","rat"),
PART_6 ("˧˥˥","ιϚ","","cat"),
PART_7 ("˧˩˩","ιζ","","rabbit"),
PART_8 ("˥˩˧","ιη","","ape"),
PART_9 ("˩˥˧","ιθ","","snake"),
PART_10("˥˦˧","κα","","horse"),
PART_11("˩˨˧","κβ","","elepant"),
PART_12("˦˦˧","κγ","","leopard"),
PART_13("˨˨˧","κδ","","crow"),
PART_14("˥˥˧","κε","","pig"),
PART_15("˩˩˧","κϚ","","dog"),
PART_16("꜔꜒꜖","κζ","","fish"),
PART_17("꜔꜒꜓","κη","","shrimp"),
PART_18("꜔꜖꜕","κθ","","whale"),
PART_19("꜔꜓꜓","λα","","bear"),
PART_20("꜔꜕꜕","λβ","鹿","deer"),
PART_21("꜔꜒꜒","λγ","","donkey"),
PART_22("꜔꜖꜖","λδ","","tapir"),
PART_23("꜒꜖꜔","λε","","bird"),
PART_24("꜖꜒꜔","λϚ","","crane"),
PART_25("꜒꜓꜔","λζ","","eagle"),
PART_26("꜖꜕꜔","λη","","falcon"),
PART_27("꜓꜓꜔","λθ","","goose"),
PART_28("꜕꜕꜔","μα","","salamander"),
PART_29("꜒꜒꜔","μβ","","turtle"),
PART_30("꜖꜖꜔","μγ","","centipede"),
PART_31("꜊꜌꜈","μδ","","fly"),
PART_32("꜊꜈꜉","με","","scorpion"),
PART_33("꜊꜌꜋","μϚ","","worm"),
PART_34("꜊꜉꜉","μζ","","tiger"),
PART_35("꜊꜋꜋","μη","","camel"),
PART_36("꜊꜈꜈","μθ","","monkey"),
PART_37("꜊꜌꜌","να","","shark"),
PART_38("꜈꜌꜊","νβ","","duck"),
PART_39("꜌꜈꜊","νγ","","mustard"),
PART_40("꜈꜉꜊","νδ","","salt"),
PART_41("꜌꜋꜊","νε","","pepper"),
PART_42("꜉꜉꜊","νϚ","","ginger"),
PART_43("꜋꜋꜊","νζ","","corn"),
PART_44("꜈꜈꜊","νη","","beans"),
PART_45("꜌꜌꜊","νθ","","pomelos"),
PART_46("꜏꜍꜑","ξα","","jujube"),
PART_47("꜏꜍꜎","ξβ","","melon"),
PART_48("꜏꜑꜐","ξγ","","grape"),
PART_49("꜏꜎꜎","ξδ","","plum"),
PART_50("꜏꜐꜐","ξε","","lime"),
PART_51("꜏꜍꜍","ξϚ","","pear"),
PART_52("꜏꜑꜑","ξζ","","banana"),
PART_53("꜍꜑꜏","ξη","","lemon"),
PART_54("꜑꜍꜏","ξθ","","persimmon"),
PART_55("꜍꜎꜏","οα","","orange"),
PART_56("꜑꜐꜏","οβ","","peach"),
PART_57("꜎꜎꜏","ογ","","apricot"),
PART_58("꜐꜐꜏","οδ","","strawberry"),
PART_59("꜍꜍꜏","οε","","patato"),
PART_60("꜑꜑꜏","οϚ","","apple"),
;
public static int LENGTH = 60;

View file

@ -5,7 +5,7 @@ package love.distributedrebirth.numberxd.base2t.facet;
* @author willemtsade ©Δ 仙上主天
*
*/
public interface BaseFacet extends BaseFacetStore {
public interface BasePart extends BaseFacetStore {
int ordinal();

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.numberxd.base2t.facet;
public interface BasePartAlt1 extends BaseFacet {
public interface BasePartAlt1 extends BasePart {
default String getAlt1Value() {
return (String)getFacetStore().get(BaseFacetKey.ALT_1_VALUE);

View file

@ -1,6 +1,6 @@
package love.distributedrebirth.numberxd.base2t.facet;
public interface BasePartShiftBits extends BaseFacet {
public interface BasePartShiftBits extends BasePart {
default Integer getShiftBits() {
return (Integer)getFacetStore().get(BaseFacetKey.SHIFT_BITS);

View file

@ -3,7 +3,7 @@ package love.distributedrebirth.numberxd.base2t.facet;
import love.distributedrebirth.numberxd.base2t.T02PartBinary;
import love.distributedrebirth.numberxd.base2t.T04PartQuad;
public interface BasePartSplit16 extends BaseFacet {
public interface BasePartSplit16 extends BasePart {
default T02PartBinary splitPartBinary(T04PartQuad part) {
return T02PartBinary.values()[(ordinal() >> part.ordinal()) & 1];

View file

@ -2,7 +2,7 @@ package love.distributedrebirth.numberxd.base2t.facet;
import love.distributedrebirth.numberxd.base2t.T02PartBinary;
public interface BasePartSplit4 extends BaseFacet {
public interface BasePartSplit4 extends BasePart {
default T02PartBinary splitPartBinary(T02PartBinary part) {
return T02PartBinary.values()[(ordinal() >> part.ordinal()) & 1];

View file

@ -3,7 +3,7 @@ package love.distributedrebirth.numberxd.base2t.facet;
import love.distributedrebirth.numberxd.base2t.T02PartBinary;
import love.distributedrebirth.numberxd.base2t.T03PartTrit;
public interface BasePartSplit6 extends BaseFacet {
public interface BasePartSplit6 extends BasePart {
default T02PartBinary splitPartBinary() {
return T02PartBinary.values()[ordinal() & 1];