User prompt
arkaplan anımasyonu olmamış
User prompt
arkaplan da patlayan havayı fişek animasyonu olsun partiküller çıksın her yerden
User prompt
hayvanların komple bütün bedenini çiz
User prompt
hayvanların şeklini tekrardan kodla yazılan hayvanın şekliyle birebir olsun
User prompt
şekiller sadece ekranın ortasında çıksın
User prompt
beyaz asseti kullanma sil onu
User prompt
assetler daha belirgin olsun ve hangi hayvan olduğu ekrana bakılınca anlaşılsın
User prompt
Dog, Cat, Horse, Elephant, Lion, Tiger, Bear, Whale, Dolphin, Monkey, Bat, Deer, Wolf, Fox, Rabbit, Kangaroo, Human.Eagle, Owl, Sparrow, Penguin, Ostrich, Parrot, Pigeon, Hummingbird, Duck, Swan, Crow, Robin, Albatross, Flamingo.Snake, Lizard, Crocodile, Alligator, Turtle, Tortoise, Chameleon, Gecko, Komodo Dragon, Cobra, Python.Frog, Toad, Salamander, Newt, Caecilian, Axolotl.Shark, Salmon, Tuna, Clownfish, Goldfish, Eel, Seahorse, Trout, Cod, Barracuda, Stingray, Manta Ray.Ant, Bee, Butterfly, Moth, Beetle, Fly, Mosquito, Grasshopper, Dragonfly, Ladybug, Cockroach.Spider, Scorpion, Tick, Mite, Tarantula, Black Widow.Crab, Lobster, Shrimp, Prawn, Crayfish, Barnacle, Krill.Snail, Slug, Octopus, Squid, Clam, Oyster, Mussel, Scallop, Nautilus.Earthworm, Leech, Tapeworm, Roundworm. Starfish (Sea Star), Sea Urchin, Sea Cucumber, Sand Dollar.Jellyfish, Coral, Sea Anemone, Hydra.Bath Sponge, Sea Sponge. lütfen bu hayvanlarıda ekle
User prompt
çıkan hayvanın ne olduğu üstte yazmalı ingilizce
User prompt
daha büyük şekiller
User prompt
ekrana çıklayınca assetler rastgele hayvan şekilleri oluştursun
User prompt
toplu bir şekilde çıkacak hale getir
User prompt
şimdi bu eklediğin assetleri ben ekrana tıklayınca rastgele çıkacak hale getir
User prompt
assets bölümüne her rengin bir assetini ekle
User prompt
renkler kodda görünüyor ama ekranda görünmüyor
User prompt
renkleri asset olarak ekle
User prompt
aynı siyah çıkıyor desenler ve şekiller
User prompt
Beyaz, sarı, turuncu, kırmızı, mor, mavi, yeşil, kahverengi, gri, siyah, pembe, bej, turkuaz, lacivert, bordo, altın, gümüş, bronz, mercan, zeytin yeşili, füme, lila, eflatun, krem, ten rengi, haki, camgöbeği, magenta, çivit mavisi, vişne çürüğü, kobalt mavisi, nane yeşili, lavanta lütfen bu renkleri de ekler misin
User prompt
lütfen bütün renkleri ekle
User prompt
sadece siyah renkte çıkıyor
User prompt
sadece siyah renk çıkıyor bütün renkleri ekle
User prompt
rastgele çıkan isimler şekiller le çıksın yazı olarak değil
User prompt
an başta bana tıkla yazan renkli yazılar olsun
User prompt
rastgele desenler birleşerek bir isim yazssın ingilizce rastgele isimler ve canlı renk tonları kullan
User prompt
çok büyük ekranda büsbüyük şekil olsun
/****
* Plugins
****/
var tween = LK.import("@upit/tween.v1");
/****
* Classes
****/
// Pattern class: a container for a randomly generated pattern at a given position.
var Pattern = Container.expand(function () {
var self = Container.call(this);
// Generate a random pattern on creation
// Patterns: single shape, cluster, or overlay
function randomColor() {
// Expanded palette: all visually distinct, vibrant, and basic colors
var colors = [0xff5e5b,
// red
0xffc857,
// yellow
0x4ecdc4,
// turquoise
0x556270,
// blue gray
0x3a86ff,
// blue
0xffbe0b,
// gold
0xfb5607,
// orange
0x8338ec,
// purple
0xff006e,
// magenta
0x06d6a0,
// green
0xffffff,
// white
0x000000,
// black
0x00ff00,
// lime
0x00ffff,
// cyan
0x0000ff,
// pure blue
0xff00ff,
// fuchsia
0xffff00,
// pure yellow
0xff0000,
// pure red
0x800000,
// maroon
0x008000,
// dark green
0x808000,
// olive
0x800080,
// dark purple
0x008080,
// teal
0x808080,
// gray
0xc0c0c0,
// silver
0x7fffd4,
// aquamarine
0xffa500,
// orange
0x40e0d0,
// turquoise
0x4682b4,
// steel blue
0xdc143c,
// crimson
0x20b2aa,
// light sea green
0xf08080,
// light coral
0xadd8e6,
// light blue
0xe0ffff,
// light cyan
0x90ee90,
// light green
0xffb6c1,
// light pink
0xff69b4,
// hot pink
0xcd5c5c,
// indian red
0x8a2be2,
// blue violet
0xdeb887,
// burlywood
0x00fa9a,
// medium spring green
0x1e90ff,
// dodger blue
0x7cfc00,
// lawn green
0xff1493,
// deep pink
0x00bfff,
// deep sky blue
0x9932cc,
// dark orchid
0x8b0000,
// dark red
0x2e8b57,
// sea green
0xff6347,
// tomato
0x4682b4,
// steel blue
0x9acd32,
// yellow green
0x6495ed,
// cornflower blue
0xffdab9,
// peach puff
0xdda0dd,
// plum
0xb0e0e6,
// powder blue
0xf5deb3,
// wheat
0xf0e68c,
// khaki
0xe9967a,
// dark salmon
0x48d1cc,
// medium turquoise
0x00ced1,
// dark turquoise
0x9400d3,
// dark violet
0x00ff7f,
// spring green
0x7b68ee,
// medium slate blue
0x6a5acd,
// slate blue
0x5f9ea0,
// cadet blue
0x191970,
// midnight blue
0x8b008b,
// dark magenta
0x556b2f,
// dark olive green
0x228b22,
// forest green
0xd2691e,
// chocolate
0xb22222,
// firebrick
0x808080,
// gray
0x00008b,
// dark blue
0x008b8b,
// dark cyan
0xb8860b,
// dark goldenrod
0xa9a9a9,
// dark gray
0x006400,
// dark green
0xbdb76b,
// dark khaki
0x8b008b,
// dark magenta
0x556b2f,
// dark olive green
0xff8c00,
// dark orange
0x9932cc,
// dark orchid
0x8b0000,
// dark red
0xe9967a,
// dark salmon
0x8fbc8f,
// dark sea green
0x483d8b,
// dark slate blue
0x2f4f4f,
// dark slate gray
0x00ced1,
// dark turquoise
0x9400d3,
// dark violet
0xff1493,
// deep pink
0x00bfff,
// deep sky blue
0x696969,
// dim gray
0x1e90ff,
// dodger blue
0xb22222,
// firebrick
0xfffaf0,
// floral white
0x228b22,
// forest green
0xff00ff,
// fuchsia
0xdcdcdc,
// gainsboro
0xf8f8ff,
// ghost white
0xffd700,
// gold
0xdaa520,
// goldenrod
0x808080,
// gray
0x008000,
// green
0xadff2f,
// green yellow
0xf0fff0,
// honeydew
0xff69b4,
// hot pink
0xcd5c5c,
// indian red
0x4b0082,
// indigo
0xfffff0,
// ivory
0xf0e68c,
// khaki
0xe6e6fa,
// lavender
0xfff0f5,
// lavender blush
0x7cfc00,
// lawn green
0xfffacd,
// lemon chiffon
0xadd8e6,
// light blue
0xf08080,
// light coral
0xe0ffff,
// light cyan
0xfafad2,
// light goldenrod yellow
0xd3d3d3,
// light gray
0x90ee90,
// light green
0xffb6c1,
// light pink
0xffa07a,
// light salmon
0x20b2aa,
// light sea green
0x87cefa,
// light sky blue
0x778899,
// light slate gray
0xb0c4de,
// light steel blue
0xffffe0,
// light yellow
0x00ff00,
// lime
0x32cd32,
// lime green
0xfaf0e6,
// linen
0xff00ff,
// magenta
0x800000,
// maroon
0x66cdaa,
// medium aquamarine
0x0000cd,
// medium blue
0xba55d3,
// medium orchid
0x9370db,
// medium purple
0x3cb371,
// medium sea green
0x7b68ee,
// medium slate blue
0x00fa9a,
// medium spring green
0x48d1cc,
// medium turquoise
0xc71585,
// medium violet red
0x191970,
// midnight blue
0xf5fffa,
// mint cream
0xffe4e1,
// misty rose
0xffe4b5,
// moccasin
0xffdead,
// navajo white
0x000080,
// navy
0xfdf5e6,
// old lace
0x808000,
// olive
0x6b8e23,
// olive drab
0xffa500,
// orange
0xff4500,
// orange red
0xda70d6,
// orchid
0xeee8aa,
// pale goldenrod
0x98fb98,
// pale green
0xafeeee,
// pale turquoise
0xdb7093,
// pale violet red
0xffefd5,
// papaya whip
0xffdab9,
// peach puff
0xcd853f,
// peru
0xffc0cb,
// pink
0xdda0dd,
// plum
0xb0e0e6,
// powder blue
0x800080,
// purple
0xff0000,
// red
0xbc8f8f,
// rosy brown
0x4169e1,
// royal blue
0x8b4513,
// saddle brown
0xfa8072,
// salmon
0xf4a460,
// sandy brown
0x2e8b57,
// sea green
0xfff5ee,
// seashell
0xa0522d,
// sienna
0xc0c0c0,
// silver
0x87ceeb,
// sky blue
0x6a5acd,
// slate blue
0x708090,
// slate gray
0xfffafa,
// snow
0x00ff7f,
// spring green
0x4682b4,
// steel blue
0xd2b48c,
// tan
0x008080,
// teal
0xd8bfd8,
// thistle
0xff6347,
// tomato
0x40e0d0,
// turquoise
0xee82ee,
// violet
0xf5deb3,
// wheat
0xffffff,
// white
0xf5f5f5,
// white smoke
0xffff00,
// yellow
0x9acd32 // yellow green
];
if (Math.random() < 0.3) {
// Simulate a gradient by returning an array of two colors
var c1 = colors[Math.floor(Math.random() * colors.length)];
var c2 = colors[Math.floor(Math.random() * colors.length)];
return [c1, c2];
}
return colors[Math.floor(Math.random() * colors.length)];
}
function randomShape() {
// Return 'box' or 'ellipse'
return Math.random() < 0.5 ? 'box' : 'ellipse';
}
function randomSize() {
// Return a size between 120 and 400 px
return 120 + Math.floor(Math.random() * 280);
}
function randomRotation() {
// Return a random rotation in radians
return Math.random() * Math.PI * 2;
}
function randomAlpha() {
// Return a random alpha between 0.7 and 1
return 0.7 + Math.random() * 0.3;
}
function randomPatternType() {
// 0: single, 1: cluster, 2: overlay
var r = Math.random();
if (r < 0.5) return 0;
if (r < 0.8) return 1;
return 2;
}
// Generate the pattern
function generatePattern() {
var type = randomPatternType();
if (type === 0) {
// Single shape
var w = randomSize();
var h = randomSize();
var shape = randomShape();
var color = randomColor();
if (Array.isArray(color)) {
// Simulate a gradient by overlaying two shapes with different colors and alpha
var asset1 = self.attachAsset({
shape: shape,
width: w,
height: h,
color: color[0],
anchorX: 0.5,
anchorY: 0.5
}, {});
asset1.rotation = randomRotation();
asset1.alpha = randomAlpha();
var asset2 = self.attachAsset({
shape: shape,
width: w,
height: h,
color: color[1],
anchorX: 0.5,
anchorY: 0.5
}, {});
asset2.rotation = randomRotation();
asset2.alpha = 0.5 + Math.random() * 0.3;
} else {
var asset = self.attachAsset({
shape: shape,
width: w,
height: h,
color: color,
anchorX: 0.5,
anchorY: 0.5
}, {});
asset.rotation = randomRotation();
asset.alpha = randomAlpha();
}
} else if (type === 1) {
// Cluster: 3-6 shapes in a circle
var count = 3 + Math.floor(Math.random() * 4);
var radius = 80 + Math.random() * 120;
for (var i = 0; i < count; i++) {
var angle = Math.PI * 2 / count * i + Math.random() * 0.3;
var w = randomSize() * (0.5 + Math.random() * 0.7);
var h = randomSize() * (0.5 + Math.random() * 0.7);
var shape = randomShape();
var color = randomColor();
if (Array.isArray(color)) {
// Simulate a gradient by overlaying two shapes
var asset1 = self.attachAsset({
shape: shape,
width: w,
height: h,
color: color[0],
anchorX: 0.5,
anchorY: 0.5
}, {});
asset1.x = Math.cos(angle) * radius;
asset1.y = Math.sin(angle) * radius;
asset1.rotation = randomRotation();
asset1.alpha = randomAlpha();
var asset2 = self.attachAsset({
shape: shape,
width: w,
height: h,
color: color[1],
anchorX: 0.5,
anchorY: 0.5
}, {});
asset2.x = Math.cos(angle) * radius;
asset2.y = Math.sin(angle) * radius;
asset2.rotation = randomRotation();
asset2.alpha = 0.5 + Math.random() * 0.3;
} else {
var asset = self.attachAsset({
shape: shape,
width: w,
height: h,
color: color,
anchorX: 0.5,
anchorY: 0.5
}, {});
asset.x = Math.cos(angle) * radius;
asset.y = Math.sin(angle) * radius;
asset.rotation = randomRotation();
asset.alpha = randomAlpha();
}
}
} else {
// Overlay: 2-3 shapes stacked with different rotations
var overlays = 2 + Math.floor(Math.random() * 2);
for (var j = 0; j < overlays; j++) {
var w = randomSize() * (0.7 + Math.random() * 0.5);
var h = randomSize() * (0.7 + Math.random() * 0.5);
var shape = randomShape();
var color = randomColor();
if (Array.isArray(color)) {
var asset1 = self.attachAsset({
shape: shape,
width: w,
height: h,
color: color[0],
anchorX: 0.5,
anchorY: 0.5
}, {});
asset1.rotation = randomRotation();
asset1.alpha = 0.5 + Math.random() * 0.5;
var asset2 = self.attachAsset({
shape: shape,
width: w,
height: h,
color: color[1],
anchorX: 0.5,
anchorY: 0.5
}, {});
asset2.rotation = randomRotation();
asset2.alpha = 0.3 + Math.random() * 0.3;
} else {
var asset = self.attachAsset({
shape: shape,
width: w,
height: h,
color: color,
anchorX: 0.5,
anchorY: 0.5
}, {});
asset.rotation = randomRotation();
asset.alpha = 0.5 + Math.random() * 0.5;
}
}
}
}
generatePattern();
// Pop-in animation
self.scale.set(0.2, 0.2);
tween(self.scale, {
x: 1,
y: 1
}, {
duration: 350,
easing: tween.elasticOut
});
// Sparkle and glow effect: animate alpha and scale for shimmer
function sparkleEffect(target) {
// Animate alpha up and down for shimmer
var _sparkleTween = function sparkleTween() {
tween(target, {
alpha: 1
}, {
duration: 180 + Math.random() * 120,
easing: tween.sineIn,
onComplete: function onComplete() {
tween(target, {
alpha: 0.7 + Math.random() * 0.3
}, {
duration: 180 + Math.random() * 120,
easing: tween.sineOut,
onComplete: _sparkleTween
});
}
});
};
_sparkleTween();
// Animate scale for a pulsing glow
var _pulseTween = function pulseTween() {
tween(target.scale, {
x: 1.08,
y: 1.08
}, {
duration: 320 + Math.random() * 120,
easing: tween.sineIn,
onComplete: function onComplete() {
tween(target.scale, {
x: 1,
y: 1
}, {
duration: 320 + Math.random() * 120,
easing: tween.sineOut,
onComplete: _pulseTween
});
}
});
};
_pulseTween();
}
// Apply sparkle effect to all children (shapes) of the pattern
for (var i = 0; i < self.children.length; i++) {
sparkleEffect(self.children[i]);
}
return self;
});
/****
* Initialize Game
****/
var game = new LK.Game({
backgroundColor: 0xffffff // White background for a clean canvas
});
/****
* Game Code
****/
// We'll use the tween plugin for simple pop-in animations.
/*
We will use only shapes for patterns, with random colors and sizes.
No need to predefine assets, as LK will auto-create them as needed.
*/
// No score, no timer, no GUI overlays
// Store the current name and pattern containers
var currentNameGroup = null;
var currentPatterns = [];
// "Tap Me" colorful text at the start
var tapMeText = new Text2("Tap Me", {
size: 220,
fill: 0xFFFFFF,
font: "Arial Black"
});
tapMeText.anchor.set(0.5, 0.5);
tapMeText.x = 2048 / 2;
tapMeText.y = 2732 / 2 - 100;
tapMeText.alpha = 1;
game.addChild(tapMeText);
// Animate the "Tap Me" text with color cycling and pulsing
var tapMeColors = ["#ff5e5b", "#ffc857", "#4ecdc4", "#3a86ff", "#ffbe0b", "#fb5607", "#8338ec", "#ff006e", "#06d6a0", "#ff0099"];
var tapMeColorIdx = 0;
var tapMePulseUp = true;
var tapMePulseVal = 1;
var tapMePulseSpeed = 0.012;
game.update = function () {
// Color cycle
if (LK.ticks % 18 === 0 && tapMeText && tapMeText.setStyle) {
tapMeColorIdx = (tapMeColorIdx + 1) % tapMeColors.length;
tapMeText.setStyle({
fill: tapMeColors[tapMeColorIdx]
});
}
// Pulse
if (tapMeText) {
if (tapMePulseUp) {
tapMePulseVal += tapMePulseSpeed;
if (tapMePulseVal > 1.13) tapMePulseUp = false;
} else {
tapMePulseVal -= tapMePulseSpeed;
if (tapMePulseVal < 0.87) tapMePulseUp = true;
}
tapMeText.scale.set(tapMePulseVal, tapMePulseVal);
}
};
// Helper: don't allow patterns in the top-left 100x100 px (menu area)
function isInMenuArea(x, y) {
return x < 100 && y < 100;
}
// List of fun, random, vibrant names
var nameList = ["LUNA", "PIXEL", "NOVA", "SPARK", "BLAZE", "AURA", "VIVID", "ZEST", "GLOW", "TWIST", "DREAM", "FLASH", "PRISM", "BUBBLE", "SHINE", "VIBE", "JAZZ", "BLOSSOM", "BOLT", "WAVE"];
// Helper: pick a random name
function getRandomName() {
return nameList[Math.floor(Math.random() * nameList.length)];
}
// Helper: get a vibrant color for text
function getVibrantColor() {
var colors = ["#ff5e5b", "#ffc857", "#4ecdc4", "#3a86ff", "#ffbe0b", "#fb5607", "#8338ec", "#ff006e", "#06d6a0", "#ff0099"];
return colors[Math.floor(Math.random() * colors.length)];
}
// Create the "Clear" button (Text2 object)
var clearBtn = new Text2("Clear", {
size: 100,
fill: "#222",
font: "Arial Black"
});
clearBtn.anchor.set(0.5, 0.5);
// Place the button at the top right, with margin
clearBtn.x = 2048 - 200;
clearBtn.y = 120;
clearBtn.interactive = true;
clearBtn.buttonMode = true;
game.addChild(clearBtn);
// On tap/click anywhere, show a new large name made of patterns at that location (removing the previous one)
game.down = function (x, y, obj) {
// Don't allow patterns in menu area or on the clear button
if (isInMenuArea(x, y)) return;
// If tap is on the clear button, ignore (handled separately)
var btnBounds = clearBtn.getBounds();
if (x >= clearBtn.x + btnBounds.x && x <= clearBtn.x + btnBounds.x + btnBounds.width && y >= clearBtn.y + btnBounds.y && y <= clearBtn.y + btnBounds.y + btnBounds.height) {
return;
}
// Remove "Tap Me" text if present
if (tapMeText) {
tapMeText.destroy();
tapMeText = null;
}
// Remove previous patterns and name if exist
if (currentPatterns && currentPatterns.length) {
for (var i = 0; i < currentPatterns.length; i++) {
currentPatterns[i].destroy();
}
currentPatterns = [];
}
if (currentNameGroup) {
currentNameGroup.destroy();
currentNameGroup = null;
}
// Pick a random name
var name = getRandomName();
// Create a group container for the name
var group = new Container();
// Instead of overlaying text, create a single large pattern for the name, and arrange smaller patterns to form a loose "name shape"
// We'll use the number of letters to determine the number of patterns, but not show the text itself
var patternCount = name.length;
var patternSize = 340 + Math.random() * 120; // Make the main pattern very large
var groupWidth = patternCount * patternSize * 0.7;
var startX = -groupWidth / 2 + patternSize / 2;
// Main large pattern in the center
var mainPattern = new Pattern();
mainPattern.scale.set(2.2 + Math.random() * 0.7, 2.2 + Math.random() * 0.7);
mainPattern.x = 0;
mainPattern.y = 0;
group.addChild(mainPattern);
currentPatterns.push(mainPattern);
// Arrange smaller patterns around the main one, in a loose arc or cluster
for (var i = 0; i < patternCount; i++) {
var angle = Math.PI * 0.7 * (i / (patternCount - 1) - 0.5); // spread in an arc
var radius = patternSize * (1.1 + Math.random() * 0.5);
var pattern = new Pattern();
var scale = 0.7 + Math.random() * 0.5;
pattern.scale.set(scale, scale);
pattern.x = Math.cos(angle) * radius;
pattern.y = Math.sin(angle) * radius;
group.addChild(pattern);
currentPatterns.push(pattern);
}
// Center the group at the tap location
group.x = x;
group.y = y;
currentNameGroup = group;
game.addChild(group);
};
// Handle "Clear" button tap: remove the patterns and name
clearBtn.down = function (x, y, obj) {
if (currentPatterns && currentPatterns.length) {
for (var i = 0; i < currentPatterns.length; i++) {
currentPatterns[i].destroy();
}
currentPatterns = [];
}
if (currentNameGroup) {
currentNameGroup.destroy();
currentNameGroup = null;
}
};
// No dragging or move/up handlers needed, as only one name is shown at a time; ===================================================================
--- original.js
+++ change.js
@@ -11,10 +11,391 @@
var self = Container.call(this);
// Generate a random pattern on creation
// Patterns: single shape, cluster, or overlay
function randomColor() {
- // Return a random bright color, sometimes as a gradient (simulated by overlaying two colors)
- var colors = [0xff5e5b, 0xffc857, 0x4ecdc4, 0x556270, 0x3a86ff, 0xffbe0b, 0xfb5607, 0x8338ec, 0xff006e, 0x06d6a0];
+ // Expanded palette: all visually distinct, vibrant, and basic colors
+ var colors = [0xff5e5b,
+ // red
+ 0xffc857,
+ // yellow
+ 0x4ecdc4,
+ // turquoise
+ 0x556270,
+ // blue gray
+ 0x3a86ff,
+ // blue
+ 0xffbe0b,
+ // gold
+ 0xfb5607,
+ // orange
+ 0x8338ec,
+ // purple
+ 0xff006e,
+ // magenta
+ 0x06d6a0,
+ // green
+ 0xffffff,
+ // white
+ 0x000000,
+ // black
+ 0x00ff00,
+ // lime
+ 0x00ffff,
+ // cyan
+ 0x0000ff,
+ // pure blue
+ 0xff00ff,
+ // fuchsia
+ 0xffff00,
+ // pure yellow
+ 0xff0000,
+ // pure red
+ 0x800000,
+ // maroon
+ 0x008000,
+ // dark green
+ 0x808000,
+ // olive
+ 0x800080,
+ // dark purple
+ 0x008080,
+ // teal
+ 0x808080,
+ // gray
+ 0xc0c0c0,
+ // silver
+ 0x7fffd4,
+ // aquamarine
+ 0xffa500,
+ // orange
+ 0x40e0d0,
+ // turquoise
+ 0x4682b4,
+ // steel blue
+ 0xdc143c,
+ // crimson
+ 0x20b2aa,
+ // light sea green
+ 0xf08080,
+ // light coral
+ 0xadd8e6,
+ // light blue
+ 0xe0ffff,
+ // light cyan
+ 0x90ee90,
+ // light green
+ 0xffb6c1,
+ // light pink
+ 0xff69b4,
+ // hot pink
+ 0xcd5c5c,
+ // indian red
+ 0x8a2be2,
+ // blue violet
+ 0xdeb887,
+ // burlywood
+ 0x00fa9a,
+ // medium spring green
+ 0x1e90ff,
+ // dodger blue
+ 0x7cfc00,
+ // lawn green
+ 0xff1493,
+ // deep pink
+ 0x00bfff,
+ // deep sky blue
+ 0x9932cc,
+ // dark orchid
+ 0x8b0000,
+ // dark red
+ 0x2e8b57,
+ // sea green
+ 0xff6347,
+ // tomato
+ 0x4682b4,
+ // steel blue
+ 0x9acd32,
+ // yellow green
+ 0x6495ed,
+ // cornflower blue
+ 0xffdab9,
+ // peach puff
+ 0xdda0dd,
+ // plum
+ 0xb0e0e6,
+ // powder blue
+ 0xf5deb3,
+ // wheat
+ 0xf0e68c,
+ // khaki
+ 0xe9967a,
+ // dark salmon
+ 0x48d1cc,
+ // medium turquoise
+ 0x00ced1,
+ // dark turquoise
+ 0x9400d3,
+ // dark violet
+ 0x00ff7f,
+ // spring green
+ 0x7b68ee,
+ // medium slate blue
+ 0x6a5acd,
+ // slate blue
+ 0x5f9ea0,
+ // cadet blue
+ 0x191970,
+ // midnight blue
+ 0x8b008b,
+ // dark magenta
+ 0x556b2f,
+ // dark olive green
+ 0x228b22,
+ // forest green
+ 0xd2691e,
+ // chocolate
+ 0xb22222,
+ // firebrick
+ 0x808080,
+ // gray
+ 0x00008b,
+ // dark blue
+ 0x008b8b,
+ // dark cyan
+ 0xb8860b,
+ // dark goldenrod
+ 0xa9a9a9,
+ // dark gray
+ 0x006400,
+ // dark green
+ 0xbdb76b,
+ // dark khaki
+ 0x8b008b,
+ // dark magenta
+ 0x556b2f,
+ // dark olive green
+ 0xff8c00,
+ // dark orange
+ 0x9932cc,
+ // dark orchid
+ 0x8b0000,
+ // dark red
+ 0xe9967a,
+ // dark salmon
+ 0x8fbc8f,
+ // dark sea green
+ 0x483d8b,
+ // dark slate blue
+ 0x2f4f4f,
+ // dark slate gray
+ 0x00ced1,
+ // dark turquoise
+ 0x9400d3,
+ // dark violet
+ 0xff1493,
+ // deep pink
+ 0x00bfff,
+ // deep sky blue
+ 0x696969,
+ // dim gray
+ 0x1e90ff,
+ // dodger blue
+ 0xb22222,
+ // firebrick
+ 0xfffaf0,
+ // floral white
+ 0x228b22,
+ // forest green
+ 0xff00ff,
+ // fuchsia
+ 0xdcdcdc,
+ // gainsboro
+ 0xf8f8ff,
+ // ghost white
+ 0xffd700,
+ // gold
+ 0xdaa520,
+ // goldenrod
+ 0x808080,
+ // gray
+ 0x008000,
+ // green
+ 0xadff2f,
+ // green yellow
+ 0xf0fff0,
+ // honeydew
+ 0xff69b4,
+ // hot pink
+ 0xcd5c5c,
+ // indian red
+ 0x4b0082,
+ // indigo
+ 0xfffff0,
+ // ivory
+ 0xf0e68c,
+ // khaki
+ 0xe6e6fa,
+ // lavender
+ 0xfff0f5,
+ // lavender blush
+ 0x7cfc00,
+ // lawn green
+ 0xfffacd,
+ // lemon chiffon
+ 0xadd8e6,
+ // light blue
+ 0xf08080,
+ // light coral
+ 0xe0ffff,
+ // light cyan
+ 0xfafad2,
+ // light goldenrod yellow
+ 0xd3d3d3,
+ // light gray
+ 0x90ee90,
+ // light green
+ 0xffb6c1,
+ // light pink
+ 0xffa07a,
+ // light salmon
+ 0x20b2aa,
+ // light sea green
+ 0x87cefa,
+ // light sky blue
+ 0x778899,
+ // light slate gray
+ 0xb0c4de,
+ // light steel blue
+ 0xffffe0,
+ // light yellow
+ 0x00ff00,
+ // lime
+ 0x32cd32,
+ // lime green
+ 0xfaf0e6,
+ // linen
+ 0xff00ff,
+ // magenta
+ 0x800000,
+ // maroon
+ 0x66cdaa,
+ // medium aquamarine
+ 0x0000cd,
+ // medium blue
+ 0xba55d3,
+ // medium orchid
+ 0x9370db,
+ // medium purple
+ 0x3cb371,
+ // medium sea green
+ 0x7b68ee,
+ // medium slate blue
+ 0x00fa9a,
+ // medium spring green
+ 0x48d1cc,
+ // medium turquoise
+ 0xc71585,
+ // medium violet red
+ 0x191970,
+ // midnight blue
+ 0xf5fffa,
+ // mint cream
+ 0xffe4e1,
+ // misty rose
+ 0xffe4b5,
+ // moccasin
+ 0xffdead,
+ // navajo white
+ 0x000080,
+ // navy
+ 0xfdf5e6,
+ // old lace
+ 0x808000,
+ // olive
+ 0x6b8e23,
+ // olive drab
+ 0xffa500,
+ // orange
+ 0xff4500,
+ // orange red
+ 0xda70d6,
+ // orchid
+ 0xeee8aa,
+ // pale goldenrod
+ 0x98fb98,
+ // pale green
+ 0xafeeee,
+ // pale turquoise
+ 0xdb7093,
+ // pale violet red
+ 0xffefd5,
+ // papaya whip
+ 0xffdab9,
+ // peach puff
+ 0xcd853f,
+ // peru
+ 0xffc0cb,
+ // pink
+ 0xdda0dd,
+ // plum
+ 0xb0e0e6,
+ // powder blue
+ 0x800080,
+ // purple
+ 0xff0000,
+ // red
+ 0xbc8f8f,
+ // rosy brown
+ 0x4169e1,
+ // royal blue
+ 0x8b4513,
+ // saddle brown
+ 0xfa8072,
+ // salmon
+ 0xf4a460,
+ // sandy brown
+ 0x2e8b57,
+ // sea green
+ 0xfff5ee,
+ // seashell
+ 0xa0522d,
+ // sienna
+ 0xc0c0c0,
+ // silver
+ 0x87ceeb,
+ // sky blue
+ 0x6a5acd,
+ // slate blue
+ 0x708090,
+ // slate gray
+ 0xfffafa,
+ // snow
+ 0x00ff7f,
+ // spring green
+ 0x4682b4,
+ // steel blue
+ 0xd2b48c,
+ // tan
+ 0x008080,
+ // teal
+ 0xd8bfd8,
+ // thistle
+ 0xff6347,
+ // tomato
+ 0x40e0d0,
+ // turquoise
+ 0xee82ee,
+ // violet
+ 0xf5deb3,
+ // wheat
+ 0xffffff,
+ // white
+ 0xf5f5f5,
+ // white smoke
+ 0xffff00,
+ // yellow
+ 0x9acd32 // yellow green
+ ];
if (Math.random() < 0.3) {
// Simulate a gradient by returning an array of two colors
var c1 = colors[Math.floor(Math.random() * colors.length)];
var c2 = colors[Math.floor(Math.random() * colors.length)];