Skip to content

Commit 0fcbeb4

Browse files
authored
Updated the unique ID fix and overlapping images.
1 parent 853a55f commit 0fcbeb4

File tree

6 files changed

+26
-13
lines changed

6 files changed

+26
-13
lines changed

index.js

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ const drawBackground = () => {
3939
const addMetadata = (_dna, _edition) => {
4040
let dateTime = Date.now();
4141
let tempMetadata = {
42-
dna: _dna,
42+
dna: _dna.join(""),
4343
edition: _edition,
4444
date: dateTime,
4545
attributes: attributesList,
@@ -76,11 +76,9 @@ const drawElement = (_element) => {
7676
addAttributes(_element);
7777
};
7878

79-
const constructLayerToDna = (_dna, _layers) => {
80-
let DnaSegment = _dna.toString().match(/.{1,2}/g);
79+
const constructLayerToDna = (_dna = [], _layers = []) => {
8180
let mappedDnaToLayers = _layers.map((layer, index) => {
82-
let selectedElement =
83-
layer.elements[parseInt(DnaSegment[index]) % layer.elements.length];
81+
let selectedElement = layer.elements[_dna[index]];
8482
return {
8583
location: layer.location,
8684
position: layer.position,
@@ -92,15 +90,17 @@ const constructLayerToDna = (_dna, _layers) => {
9290
return mappedDnaToLayers;
9391
};
9492

95-
const isDnaUnique = (_DnaList = [], _dna) => {
96-
let foundDna = _DnaList.find((i) => i === _dna);
93+
const isDnaUnique = (_DnaList = [], _dna = []) => {
94+
let foundDna = _DnaList.find((i) => i.join("") === _dna.join(""));
9795
return foundDna == undefined ? true : false;
9896
};
9997

100-
const createDna = (_len) => {
101-
let randNum = Math.floor(
102-
Number(`1e${_len}`) + Math.random() * Number(`9e${_len}`)
103-
);
98+
const createDna = (_layers) => {
99+
let randNum = [];
100+
_layers.forEach((layer) => {
101+
let num = Math.floor(Math.random() * layer.elements.length);
102+
randNum.push(num);
103+
});
104104
return randNum;
105105
};
106106

@@ -114,7 +114,7 @@ const startCreating = async () => {
114114
while (editionCount <= editionSize) {
115115
console.log(editionCount);
116116

117-
let newDna = createDna(layers.length * 2 - 1);
117+
let newDna = createDna(layers);
118118
console.log(dnaList);
119119
if (isDnaUnique(dnaList, newDna)) {
120120
let results = constructLayerToDna(newDna, layers);
@@ -125,6 +125,7 @@ const startCreating = async () => {
125125
});
126126

127127
await Promise.all(loadedElements).then((elementArray) => {
128+
ctx.clearRect(0, 0, width, height);
128129
drawBackground();
129130
elementArray.forEach((element) => {
130131
drawElement(element);

input/config.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,18 @@ const layers = [
6565
position: { x: 0, y: 0 },
6666
size: { width: width, height: height },
6767
},
68+
{
69+
location: `${dir}/bottom lid/`,
70+
elements: getElements(`${dir}/bottom lid/`),
71+
position: { x: 0, y: 0 },
72+
size: { width: width, height: height },
73+
},
74+
{
75+
location: `${dir}/top lid/`,
76+
elements: getElements(`${dir}/top lid/`),
77+
position: { x: 0, y: 0 },
78+
size: { width: width, height: height },
79+
},
6880
];
6981

7082
module.exports = { layers, width, height };

output/1.png

73.8 KB
Loading

output/2.png

87.9 KB
Loading

output/3.png

233 KB
Loading

output/_metadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"dna":20996708,"edition":1,"date":1629845157380,"attributes":[{"name":"red eye ball","rarity":"super rare"},{"name":"red big","rarity":"super rare"},{"name":"small","rarity":"original"},{"name":"shapes","rarity":"original"}]},{"dna":56699851,"edition":2,"date":1629845157626,"attributes":[{"name":"red eye ball","rarity":"super rare"},{"name":"red big","rarity":"super rare"},{"name":"small","rarity":"original"},{"name":"shapes","rarity":"original"}]},{"dna":79067299,"edition":3,"date":1629845157805,"attributes":[{"name":"white eye ball","rarity":"original"},{"name":"purple small","rarity":"original"},{"name":"medium","rarity":"original"},{"name":"shapes","rarity":"original"}]}]
1+
[{"dna":"0111022","edition":1,"date":1630012363570,"attributes":[{"name":"red eye ball","rarity":"super rare"},{"name":"yellow small","rarity":"original"},{"name":"medium","rarity":"original"},{"name":"shapes","rarity":"original"},{"name":"tilted bottom","rarity":"rare"},{"name":"tilted top","rarity":"rare"}]},{"dna":"121000","edition":2,"date":1630012363937,"attributes":[{"name":"white eye ball","rarity":"original"},{"name":"green big","rarity":"original"},{"name":"medium","rarity":"original"},{"name":"shapes","rarity":"original"},{"name":"high bottom","rarity":"original"},{"name":"high top","rarity":"original"}]},{"dna":"181012","edition":3,"date":1630012364315,"attributes":[{"name":"white eye ball","rarity":"original"},{"name":"red big","rarity":"super rare"},{"name":"medium","rarity":"original"},{"name":"shapes","rarity":"original"},{"name":"low bottom","rarity":"original"},{"name":"tilted top","rarity":"rare"}]}]

0 commit comments

Comments
 (0)