Compare commits
89 Commits
70b96afa91
...
main
Author | SHA1 | Date | |
---|---|---|---|
c19e005f16 | |||
9e70552103 | |||
b65fc2be24 | |||
8a18effa31 | |||
1b631a2f67 | |||
09341c3fef | |||
9c29cbec23 | |||
9d5ac0e462 | |||
675cae838c | |||
894a001f4e | |||
2cc59ff4b8 | |||
98cb492697 | |||
f46201ca50 | |||
08e7e94085 | |||
6262656875 | |||
eedec0ab8b | |||
8a797c5381 | |||
fe705ee6f8 | |||
98f43314d5 | |||
4a3f8950cc | |||
519b6865d8 | |||
1151445128 | |||
b19035e72a | |||
dc6bec1ff3 | |||
f077133e16 | |||
e6013eb332 | |||
3c2311dc7a | |||
974c96319f | |||
a0eac437a3 | |||
fb1cf97aa4 | |||
cb82803895 | |||
c1829e64b7 | |||
4476ff9f89 | |||
a37c35edca | |||
5268934bac | |||
752424718f | |||
a2914f7a81 | |||
35449c8697 | |||
6ca4ff1a5b | |||
fed3f2a16d | |||
1f3e570dd6 | |||
dc75e01293 | |||
51b50c9583 | |||
ade676ccf7 | |||
704bfa8f14 | |||
ad1687ef5c | |||
125796d0a4 | |||
38b82709e5 | |||
6cdb0aecbc | |||
1bf873b1ae | |||
6b3699f0fe | |||
46727bc880 | |||
dd9e05e02c | |||
ed291fc269 | |||
f66538f118 | |||
14f4be2456 | |||
c8123fb8b6 | |||
b58ba489f8 | |||
5b4c7ac097 | |||
f3abe3c318 | |||
78d7c0f2f8 | |||
434a85f39e | |||
6b5a78496d | |||
2bc0c1c3df | |||
aff16ae5a9 | |||
6ae1830c32 | |||
32c2377df3 | |||
3fa0cfa4ff | |||
e461417ff8 | |||
e021f3419b | |||
fe6f2ac02f | |||
c5afc21df8 | |||
e5d0f08688 | |||
8a3e03d443 | |||
01fc30383c | |||
3b0b4e2273 | |||
6c2579292e | |||
ac9cb16db5 | |||
fb48d88b61 | |||
66b0b635c5 | |||
aae59dd4c1 | |||
cf4961453f | |||
929e62d420 | |||
ed19ae5514 | |||
e14fa1457b | |||
160932dbb9 | |||
5083d04cb2 | |||
b0d5798a80 | |||
0478fdc3af |
BIN
icons/Controller.png
Normal file
After Width: | Height: | Size: 4.5 MiB |
1
icons/Link.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="283" height="337.81532" viewBox="0,0,283,337.81532"><g transform="translate(-98.5,-11.09234)"><g data-paper-data="{"isPaintingLayer":true}" fill-rule="nonzero" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" style="mix-blend-mode: normal"><g><g><g><path d="M98.5,180.63739c0,-11.26462 9.13178,-20.3964 20.3964,-20.3964c11.26462,0 20.3964,9.13178 20.3964,20.3964c0,11.26462 -9.13178,20.3964 -20.3964,20.3964c-11.26462,0 -20.3964,-9.13178 -20.3964,-20.3964z" fill="#000000" stroke="none" stroke-width="1" stroke-linecap="butt"/><g fill="none" stroke="#000000" stroke-width="5" stroke-linecap="round"><path d="M360.1391,32.83909l-240.27819,147.24468"/><path d="M119.8609,180.71295l240.27819,147.24468" data-paper-data="{"index":null}"/></g></g><path d="M340.70721,328.51126c0,-11.26462 9.13178,-20.3964 20.3964,-20.3964c11.26462,0 20.3964,9.13178 20.3964,20.3964c0,11.26462 -9.13178,20.3964 -20.3964,20.3964c-11.26462,0 -20.3964,-9.13178 -20.3964,-20.3964z" fill="#000000" stroke="none" stroke-width="1" stroke-linecap="butt"/></g><path d="M340.70721,31.48874c0,-11.26462 9.13178,-20.3964 20.3964,-20.3964c11.26462,0 20.3964,9.13178 20.3964,20.3964c0,11.26462 -9.13178,20.3964 -20.3964,20.3964c-11.26462,0 -20.3964,-9.13178 -20.3964,-20.3964z" fill="#000000" stroke="none" stroke-width="1" stroke-linecap="butt"/></g></g></g></svg><!--rotationCenter:141.50000000000006:168.90765765765772-->
|
After Width: | Height: | Size: 1.5 KiB |
BIN
icons/copy-clipboard.png
Normal file
After Width: | Height: | Size: 10 KiB |
1
icons/copy.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M384 336l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l140.1 0L400 115.9 400 320c0 8.8-7.2 16-16 16zM192 384l192 0c35.3 0 64-28.7 64-64l0-204.1c0-12.7-5.1-24.9-14.1-33.9L366.1 14.1c-9-9-21.2-14.1-33.9-14.1L192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-32-48 0 0 32c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l32 0 0-48-32 0z"/></svg>
|
After Width: | Height: | Size: 683 B |
BIN
icons/email-icon.png
Normal file
After Width: | Height: | Size: 1.7 MiB |
1
icons/email.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 112c-8.8 0-16 7.2-16 16l0 22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1l0-22.1c0-8.8-7.2-16-16-16L64 112zM48 212.2L48 384c0 8.8 7.2 16 16 16l384 0c8.8 0 16-7.2 16-16l0-171.8L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64l384 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 128z"/></svg>
|
After Width: | Height: | Size: 576 B |
1
icons/instagram.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"/></svg>
|
After Width: | Height: | Size: 1.1 KiB |
BIN
icons/link.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
icons/link1.png
Normal file
After Width: | Height: | Size: 16 KiB |
1
icons/link1.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M280 64h40c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128C0 92.7 28.7 64 64 64h40 9.6C121 27.5 153.3 0 192 0s71 27.5 78.4 64H280zM64 112c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V128c0-8.8-7.2-16-16-16H304v24c0 13.3-10.7 24-24 24H192 104c-13.3 0-24-10.7-24-24V112H64zm128-8a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"/></svg>
|
After Width: | Height: | Size: 591 B |
BIN
icons/meine-spiele.png
Normal file
After Width: | Height: | Size: 56 KiB |
1
icons/pinterest.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"/></svg>
|
After Width: | Height: | Size: 726 B |
BIN
icons/playbutton.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
icons/schuessel.png
Normal file
After Width: | Height: | Size: 3.8 MiB |
BIN
icons/spiele.png
Normal file
After Width: | Height: | Size: 962 KiB |
BIN
icons/spielen-button.png
Normal file
After Width: | Height: | Size: 15 KiB |
1
icons/telegram.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z"/></svg>
|
After Width: | Height: | Size: 748 B |
1
icons/whatsapp.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7 .9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"/></svg>
|
After Width: | Height: | Size: 1.1 KiB |
171
index.html
@ -1,61 +1,128 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Creative Crafter</title>
|
||||
<link href="" rel="stylesheet">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: "Titillium";
|
||||
src: url("/Titillium-Web-Regular.ttf");
|
||||
}
|
||||
body {
|
||||
font-family: 'Titillium';
|
||||
}
|
||||
h1 {
|
||||
text-align: center;
|
||||
}
|
||||
h2 {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Einleitung</h1>
|
||||
<h3>Hi, meine Gamertag ist Creative Crafter. Auf dieser Website zeige ich euch meine Spiele.</h3>
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
|
||||
<style>
|
||||
body, html {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff; /* Leichtes Blau */
|
||||
}
|
||||
|
||||
<h2>Meine Spiele:</h2>
|
||||
|
||||
<a href="/spiele/klick-the-witch/witc1h.html"><h3>Klick the Witch:</h3><img src="/spiele/klick-the-witch/logo.png" height="150vh"></a>
|
||||
|
||||
<br/><br/>
|
||||
<img src="/spiele/klick-the-witch/screenshot01.png" height="250vh">
|
||||
<br/><br/>
|
||||
<img src="/spiele/klick-the-witch/screenshot02.png" height="250vh">
|
||||
.loader-container {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(173, 216, 230, 0.8); /* Halbtransparenter bläulicher Hintergrund */
|
||||
z-index: 9999; /* Sicherstellen, dass die Ladeanimation immer im Vordergrund ist */
|
||||
}
|
||||
|
||||
/* Ladeanimation anzeigen */
|
||||
.loading .loader-container {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
<br/><br/><br/>
|
||||
<a href="/spiele/Flappy-Witch/FlappyWitch.html"><h3>Flappy Witch:</h3><img src="/spiele/Flappy-Witch/logo.png" height="150vh"></a>
|
||||
|
||||
<br/><br/>
|
||||
<img src="/spiele/Flappy-Witch/FlappyWitch1.png" width="250vh">
|
||||
<br/><br/>
|
||||
<img src="/spiele/Flappy-Witch/FlappyWitch2.png" width="250vh">
|
||||
@font-face {
|
||||
font-family: "Titillium";
|
||||
src: url("/Titillium-Web-Regular.ttf");
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: 'Titillium';
|
||||
}
|
||||
|
||||
<br/><br/><br/>
|
||||
<a href="/spiele/sweets-for-animals/sweets-for-animals.html"><h3>Sweets for Animals:</h3><img src="/spiele/sweets-for-animals/logo.png" height="150vh"></a>
|
||||
h1, h2, h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
<br/><br/>
|
||||
<img src="/spiele/sweets-for-animals/sweetsforanimalscake.png" height="250vh">
|
||||
<br/><br/>
|
||||
<img src="/spiele/sweets-for-animals/sweetsforanimalsdonut.png" height="250vh">
|
||||
.button {
|
||||
padding: 16px 32px; /* Doppelte Größe */
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(to bottom, #007bff, #0056b3); /* Blau */
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.7);
|
||||
transition: all 0.2s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px; /* Abstand zum oberen Inhalt */
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
<br/><br/><br/>
|
||||
<a href="/spiele/mathe-fussball/mathe-fussball.html"><h3>Mathe-Fußball:</h3><img src="/spiele/mathe-fussball/logo.png" height="150vh"></a>
|
||||
.button:active {
|
||||
box-shadow: 0 0px 1px rgba(0,0,0,0.8);
|
||||
transform: scale(0.995);
|
||||
}
|
||||
|
||||
<br/><br/>
|
||||
<img src="/spiele/mathe-fussball/mathe-fussball-hintergrund1.png" height="250vh">
|
||||
<br/><br/>
|
||||
<img src="/spiele/mathe-fussball/mathe-fussball-hintergrund2.png" height="250vh">
|
||||
</body>
|
||||
</html>
|
||||
.button-text {
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
font-size: 1.5em; /* Textgröße anpassen */
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Ladeanimation -->
|
||||
<div class="loader-container">
|
||||
<l-quantum
|
||||
size="90"
|
||||
speed="1.75"
|
||||
color="black"
|
||||
></l-quantum>
|
||||
</div>
|
||||
|
||||
<!-- Deine anderen Inhalte hier -->
|
||||
<h1><img src="/icons/Controller.png" height="150svh">
|
||||
<br/>
|
||||
Creative Crafter</h1>
|
||||
<h3>Hey there! I'm Creative Crafter, your go-to gamer. On this website, I showcase my latest and greatest games.<br/>
|
||||
Note: All games are available in German <span>🇩🇪</span> only. Enjoy the adventure!</h3>
|
||||
<h2><img src="/icons/spiele.png" height="25vh">Categories</h2>
|
||||
|
||||
<!-- Button hinzufügen -->
|
||||
<button class="button" onclick="window.location.href='/programmieren/spiele/'">
|
||||
<div class="button-inner">
|
||||
<span class="button-text">Games</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
<button class="button" onclick="window.location.href='/link-collection'">
|
||||
<div class="button-inner">
|
||||
<span class="button-text">Link Collection</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
<footer><a href="mailto:info@creative-crafter.de">info@creative-crafter.de</a> | <i id="footer-text"></i></footer>
|
||||
<script>
|
||||
// Ladeanimation beim Laden der Seite anzeigen
|
||||
document.body.classList.add('loading');
|
||||
|
||||
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
|
||||
window.addEventListener('load', () => {
|
||||
document.body.classList.remove('loading');
|
||||
});
|
||||
function currentYear() {
|
||||
var currentYear = new Date().getFullYear();
|
||||
document.getElementById('footer-text').innerHTML = "2023-" + currentYear;
|
||||
}
|
||||
|
||||
// Ruf die Funktion auf, um den Footer zu aktualisieren
|
||||
window.addEventListener('load', currentYear);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
59
laden.html
Normal file
@ -0,0 +1,59 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Ladeanimation Beispiel</title>
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
|
||||
<style>
|
||||
body, html {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.loader-container {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(255, 255, 255, 0.8); /* Halbtransparenter milchiger Hintergrund */
|
||||
z-index: 9999; /* Sicherstellen, dass die Ladeanimation immer im Vordergrund ist */
|
||||
}
|
||||
|
||||
/* Ladeanimation anzeigen */
|
||||
.loading .loader-container {
|
||||
display: flex;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Ladeanimation -->
|
||||
<div class="loader-container">
|
||||
<l-quantum
|
||||
size="45"
|
||||
speed="1.75"
|
||||
color="black"
|
||||
></l-quantum>
|
||||
</div>
|
||||
|
||||
<!-- Deine anderen Inhalte hier -->
|
||||
<p>Deine Inhalte hier...</p>
|
||||
|
||||
<script>
|
||||
// Ladeanimation beim Laden der Seite anzeigen
|
||||
document.body.classList.add('loading');
|
||||
|
||||
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
|
||||
window.addEventListener('load', () => {
|
||||
document.body.classList.remove('loading');
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
378
link-collection/br0tkasten/index.html
Normal file
@ -0,0 +1,378 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<!-- Ladeanimation -->
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
|
||||
<!-- Stylesheet -->
|
||||
<style>
|
||||
@font-face { font-family: "Titillium"; src: url("/Titillium-Web-Regular.ttf"); }
|
||||
|
||||
body, html {
|
||||
font-family: 'Titillium';
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
|
||||
h1, h2 { text-align: center; }
|
||||
|
||||
/* Ladeanimation */
|
||||
.loader-container {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(173, 216, 230, 0.8);
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.loading .loader-container { display: flex; }
|
||||
|
||||
/* Button-Style */
|
||||
.button-share {
|
||||
--white: #fff;
|
||||
cursor: pointer;
|
||||
background: linear-gradient(to bottom, #6e3bff, #7e51ff);
|
||||
color: #fff;
|
||||
border: 1px solid #af93ff;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25);
|
||||
box-shadow: 0 8px 10px -4px #503b89, 0 0 0 2px #562cce;
|
||||
font-size: 25px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 16px 32px; /* Doppelte Größe */
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(to bottom, #007bff, #0056b3); /* Blau */
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.7);
|
||||
transition: all 0.2s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px; /* Abstand zum oberen Inhalt */
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
.button:active {
|
||||
box-shadow: 0 0px 1px rgba(0,0,0,0.8);
|
||||
transform: scale(0.995);
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
font-size: 1.5em; /* Textgröße anpassen */
|
||||
}
|
||||
|
||||
.icon path.bm {
|
||||
stroke-dasharray: 3;
|
||||
stroke-dashoffset: 3;
|
||||
stroke-width: 1px;
|
||||
transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg);
|
||||
}
|
||||
|
||||
.icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 50%;
|
||||
box-shadow: inset 0 -2px 4px 0 #c6c6c6, 0 3px 6px rgba(0, 0, 0, 0.25);
|
||||
text-align: center;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.icon-container .icon {
|
||||
width: 25px;
|
||||
height: 30px;
|
||||
stroke: #592cd6;
|
||||
margin-top: -2px;
|
||||
z-index: 4;
|
||||
/* Für das Teilen-Icon die Rotation entfernen */
|
||||
}
|
||||
|
||||
.content {
|
||||
pointer-events: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
padding: 4px;
|
||||
gap: 16px;
|
||||
border-radius: 7px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.letters {
|
||||
transition: all 0.3s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.letters span {
|
||||
display: block;
|
||||
color: transparent;
|
||||
position: relative;
|
||||
left: 6px;
|
||||
animation: letterShow 1.2s ease backwards calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.letters span::before, .letters span::after {
|
||||
content: attr(data-label);
|
||||
position: absolute;
|
||||
color: var(--white);
|
||||
text-shadow: -1px 1px 2px var(--purple-500);
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.letters span::before {
|
||||
opacity: 0;
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
.button:hover .letters span::before {
|
||||
animation: letterShow 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.button:hover .letters span::after {
|
||||
opacity: 1;
|
||||
animation: letterHide 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
@keyframes letterShow {
|
||||
0% { transform: translateY(50%); opacity: 0; filter: blur(20px); }
|
||||
20% { transform: translateY(70%); opacity: 1; }
|
||||
50% { transform: translateY(-15%); opacity: 1; filter: blur(0); }
|
||||
100% { transform: translateY(0); opacity: 1; }
|
||||
}
|
||||
|
||||
@keyframes letterHide {
|
||||
0% { transform: translateY(0); opacity: 1; }
|
||||
100% { transform: translateY(-70%); opacity: 0; filter: blur(3px); }
|
||||
}
|
||||
|
||||
/* Modal-Stile */
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: #fefefe;
|
||||
margin: 15% auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 80%;
|
||||
max-width: 400px;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.close {
|
||||
color: #aaa;
|
||||
float: right;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.close:hover,
|
||||
.close:focus {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.social-icons a img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.social-icons a img:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Ladeanimation -->
|
||||
<div class="loader-container">
|
||||
<l-quantum size="90" speed="1.75" color="black"></l-quantum>
|
||||
</div>
|
||||
|
||||
<h1><img src="/icons/Controller.png" height="150"><br/>Creative Crafter</h1>
|
||||
<h1>Br0tkasten</h1>
|
||||
<div align='center'>
|
||||
<img src="/link-collection/br0tkasten/logo.png" width="250">
|
||||
</div>
|
||||
<br/>
|
||||
<div align='center'>
|
||||
<!-- Spielen-Button -->
|
||||
|
||||
<h2><a href="https://www.br0tkasten.de">Br0tkasten</a></h2>
|
||||
|
||||
</a>
|
||||
<br/><br/>
|
||||
<!-- Neuer Teilen-Button -->
|
||||
<button class="button-share" onclick="openSharePopup()">
|
||||
<div class="icon-container">
|
||||
<svg viewBox="0 0 24 24" fill="none" class="icon">
|
||||
<!-- Teilen-Icon -->
|
||||
<path d="M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"></path>
|
||||
<polyline points="16 6 12 2 8 6"></polyline>
|
||||
<line x1="12" y1="2" x2="12" y2="15"></line>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="letters">
|
||||
<span data-label="S" style="--i:0;">S</span>
|
||||
<span data-label="h" style="--i:1;">h</span>
|
||||
<span data-label="a" style="--i:2;">a</span>
|
||||
<span data-label="r" style="--i:3;">r</span>
|
||||
<span data-label="e" style="--i:4;">e</span>
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Popup-Fenster zum Teilen -->
|
||||
<div id="shareModal" class="modal">
|
||||
<div class="modal-content">
|
||||
<span class="close" onclick="closeSharePopup()">×</span>
|
||||
<h2>Share with:</h2>
|
||||
<div class="social-icons">
|
||||
<a href="#" onclick="shareViaWhatsApp()">
|
||||
<img src="/icons/whatsapp.svg" alt="WhatsApp" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaPinterest()">
|
||||
<img src="/icons/pinterest.svg" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaTelegram()">
|
||||
<img src="/icons/telegram.svg" alt="Telegram" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaEmail()">
|
||||
<img src="/icons/email.svg" alt="E-Mail" />
|
||||
</a>
|
||||
<!-- Kopieren -->
|
||||
<a href="#" onclick="copyToClipboard()">
|
||||
<img src="/icons/copy.svg" />
|
||||
</a>
|
||||
<!-- Weitere Sharing-Optionen kannst du hier hinzufügen -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
<!-- JavaScript für Ladeanimation und Teilen-Funktion -->
|
||||
<script>
|
||||
// Ladeanimation beim Laden der Seite anzeigen
|
||||
document.body.classList.add('loading');
|
||||
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
|
||||
window.addEventListener('load', () => {
|
||||
document.body.classList.remove('loading');
|
||||
});
|
||||
|
||||
// Funktion zum Öffnen des Popup-Fensters
|
||||
function openSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "block";
|
||||
}
|
||||
|
||||
// Funktion zum Schließen des Popup-Fensters
|
||||
function closeSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "none";
|
||||
}
|
||||
|
||||
// Teilen via WhatsApp
|
||||
function shareViaWhatsApp() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/link-collection/klick-the-witch/');
|
||||
const url = 'https://api.whatsapp.com/send?text=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via Telegram
|
||||
function shareViaTelegram() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/link-collection/klick-the-witch/');
|
||||
const url = 'https://t.me/share/url?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/link-collection/klick-the-witch/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const media = encodeURIComponent('URL_ZU_DEINEM_BILD'); // Ersetze dies durch den tatsächlichen Bild-Link
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/link-collection/klick-the-witch/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text + '&media=' + media;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via E-Mail
|
||||
function shareViaEmail() {
|
||||
const subject = encodeURIComponent('Klick the Witch');
|
||||
const body = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/link-collection/klick-the-witch/');
|
||||
window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
const text = 'Check out this fantastic game!https://test.creative-crafter.de/link-collection/klick-the-witch/';
|
||||
navigator.clipboard.writeText(text).then(function() {
|
||||
alert('Text wurde in die Zwischenablage kopiert!');
|
||||
}, function(err) {
|
||||
alert('Fehler beim Kopieren in die Zwischenablage: ', err);
|
||||
});
|
||||
}
|
||||
|
||||
// Schließt das Popup bei Klick außerhalb des Inhalts
|
||||
window.onclick = function(event) {
|
||||
const modal = document.getElementById('shareModal');
|
||||
if (event.target == modal) {
|
||||
closeSharePopup();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
BIN
link-collection/br0tkasten/logo.png
Normal file
After Width: | Height: | Size: 97 KiB |
80
link-collection/index.html
Normal file
@ -0,0 +1,80 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<link href="" rel="stylesheet">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: "Titillium";
|
||||
src: url("/Titillium-Web-Regular.ttf");
|
||||
}
|
||||
body {
|
||||
font-family: 'Titillium';
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff; /* Leichtes Blau */
|
||||
}
|
||||
h1 {
|
||||
text-align: center;
|
||||
}
|
||||
h2 {
|
||||
text-align: center;
|
||||
}
|
||||
h1, h2, h3 {
|
||||
text-align: center;
|
||||
}
|
||||
.category-container {
|
||||
width: 80%;
|
||||
max-width: 800px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.category {
|
||||
padding: 15px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 8px;
|
||||
margin: 10px 0;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
text-align: left;
|
||||
}
|
||||
.category-title {
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.category-description {
|
||||
font-size: 1em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.category a {
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
}
|
||||
.category a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1><img src="/icons/Controller.png" height="150svh"><br/>Creative Crafter</h1>
|
||||
|
||||
<h1>Link Collection</h1>
|
||||
<div class="category-container">
|
||||
<div class="category">
|
||||
<div class="category-title">Br0tkasten</div>
|
||||
<div class="category-description">just my two cents</div>
|
||||
<a href="/link-collection/br0tkasten">Mehr erfahren</a>
|
||||
</div>
|
||||
<div class="category">
|
||||
<div class="category-title">Lego Tiny Plants</div>
|
||||
<div class="category-description">Build 9 miniature plants in terracotta pots, featuring various species, perfect for display and creative relaxation. Botanical joy!</div>
|
||||
<a href="/link-collection/lego-tiny-plants">Mehr erfahren</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
388
link-collection/lego-tiny-plants/index.html
Normal file
@ -0,0 +1,388 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<!-- Ladeanimation -->
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
|
||||
<!-- Stylesheet -->
|
||||
<style>
|
||||
@font-face { font-family: "Titillium"; src: url("/Titillium-Web-Regular.ttf"); }
|
||||
|
||||
body, html {
|
||||
font-family: 'Titillium';
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
|
||||
h1, h2 { text-align: center; }
|
||||
|
||||
/* Ladeanimation */
|
||||
.loader-container {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(173, 216, 230, 0.8);
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.loading .loader-container { display: flex; }
|
||||
|
||||
/* Button-Style */
|
||||
.button-share {
|
||||
--white: #fff;
|
||||
cursor: pointer;
|
||||
background: linear-gradient(to bottom, #6e3bff, #7e51ff);
|
||||
color: #fff;
|
||||
border: 1px solid #af93ff;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25);
|
||||
box-shadow: 0 8px 10px -4px #503b89, 0 0 0 2px #562cce;
|
||||
font-size: 25px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 16px 32px; /* Doppelte Größe */
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(to bottom, #007bff, #0056b3); /* Blau */
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.7);
|
||||
transition: all 0.2s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px; /* Abstand zum oberen Inhalt */
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
.button:active {
|
||||
box-shadow: 0 0px 1px rgba(0,0,0,0.8);
|
||||
transform: scale(0.995);
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
font-size: 1.5em; /* Textgröße anpassen */
|
||||
}
|
||||
|
||||
.icon path.bm {
|
||||
stroke-dasharray: 3;
|
||||
stroke-dashoffset: 3;
|
||||
stroke-width: 1px;
|
||||
transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg);
|
||||
}
|
||||
|
||||
.icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 50%;
|
||||
box-shadow: inset 0 -2px 4px 0 #c6c6c6, 0 3px 6px rgba(0, 0, 0, 0.25);
|
||||
text-align: center;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.icon-container .icon {
|
||||
width: 25px;
|
||||
height: 30px;
|
||||
stroke: #592cd6;
|
||||
margin-top: -2px;
|
||||
z-index: 4;
|
||||
/* Für das Teilen-Icon die Rotation entfernen */
|
||||
}
|
||||
|
||||
.content {
|
||||
pointer-events: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
padding: 4px;
|
||||
gap: 16px;
|
||||
border-radius: 7px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.letters {
|
||||
transition: all 0.3s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.letters span {
|
||||
display: block;
|
||||
color: transparent;
|
||||
position: relative;
|
||||
left: 6px;
|
||||
animation: letterShow 1.2s ease backwards calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.letters span::before, .letters span::after {
|
||||
content: attr(data-label);
|
||||
position: absolute;
|
||||
color: var(--white);
|
||||
text-shadow: -1px 1px 2px var(--purple-500);
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.letters span::before {
|
||||
opacity: 0;
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
.button:hover .letters span::before {
|
||||
animation: letterShow 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.button:hover .letters span::after {
|
||||
opacity: 1;
|
||||
animation: letterHide 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
@keyframes letterShow {
|
||||
0% { transform: translateY(50%); opacity: 0; filter: blur(20px); }
|
||||
20% { transform: translateY(70%); opacity: 1; }
|
||||
50% { transform: translateY(-15%); opacity: 1; filter: blur(0); }
|
||||
100% { transform: translateY(0); opacity: 1; }
|
||||
}
|
||||
|
||||
@keyframes letterHide {
|
||||
0% { transform: translateY(0); opacity: 1; }
|
||||
100% { transform: translateY(-70%); opacity: 0; filter: blur(3px); }
|
||||
}
|
||||
|
||||
/* Modal-Stile */
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: #fefefe;
|
||||
margin: 15% auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 80%;
|
||||
max-width: 400px;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.close {
|
||||
color: #aaa;
|
||||
float: right;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.close:hover,
|
||||
.close:focus {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.social-icons a img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.social-icons a img:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Ladeanimation -->
|
||||
<div class="loader-container">
|
||||
<l-quantum size="90" speed="1.75" color="black"></l-quantum>
|
||||
</div>
|
||||
|
||||
<h1><img src="/icons/Controller.png" height="150"><br/>Creative Crafter</h1>
|
||||
<h1>Lego Tiny Plants</h1>
|
||||
<div align='center'>
|
||||
<img src="/link-collection/lego-tiny-plants/lego-pflanze.jpeg" width="250">
|
||||
</div>
|
||||
<br/>
|
||||
<div align='center'>
|
||||
<!-- Spielen-Button -->
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<a href="https://www.amazon.de/LEGO-10329-k%C3%BCnstliche-Collection-Terrakotta-Topf/dp/B01N6CH4YZ/ref=sr_1_2?crid=3PWMDFTZ8FXD1&dib=eyJ2IjoiMSJ9._75n0qO-YpajelaQ3F4sobWV0Wbr7ROWJ9sPnoTD6_Z9i_N5D64BBmcwPy_a1y-T88KqDuhlVDdyE1QpYo9n6h7aXF_kh5wsy7oMazuW90tQQfzssmCkcI9SyYV0CAQUMtgdRYTjljdAbfh-bzpCWUOqL2b2V3UOV2AKXGostIla1pe0gCXSFq2vaKRzOGTl5fMRr7pakjXiVQIqnf2_GlTjazRYVMa5VjUasdYcU2jCp5OILbzdRlbVIUxH2zHyi9mi-NHSP8a5IpSyC3AF5Zl_Q-K1BtYCdLBE3h0P4os.5o3cn-kk1WxUd6I0RQ4cxHys9Ub8KYDmk9X9XBJlB-w&dib_tag=se&keywords=lego%2Btiny%2Bplants&qid=1729366267&sprefix=tiny%2Blego%2Caps%2C115&sr=8-2&th=1">Amazon</a>
|
||||
</h2>
|
||||
</center>
|
||||
|
||||
<center>
|
||||
<h2>
|
||||
<a href="https://www.lego.com/de-de/product/tiny-plants-10329">LEGO® Online-shop</a>
|
||||
</h2>
|
||||
</center>
|
||||
|
||||
</a>
|
||||
<br/><br/>
|
||||
<!-- Neuer Teilen-Button -->
|
||||
<button class="button-share" onclick="openSharePopup()">
|
||||
<div class="icon-container">
|
||||
<svg viewBox="0 0 24 24" fill="none" class="icon">
|
||||
<!-- Teilen-Icon -->
|
||||
<path d="M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"></path>
|
||||
<polyline points="16 6 12 2 8 6"></polyline>
|
||||
<line x1="12" y1="2" x2="12" y2="15"></line>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="letters">
|
||||
<span data-label="S" style="--i:0;">S</span>
|
||||
<span data-label="h" style="--i:1;">h</span>
|
||||
<span data-label="a" style="--i:2;">a</span>
|
||||
<span data-label="r" style="--i:3;">r</span>
|
||||
<span data-label="e" style="--i:4;">e</span>
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Popup-Fenster zum Teilen -->
|
||||
<div id="shareModal" class="modal">
|
||||
<div class="modal-content">
|
||||
<span class="close" onclick="closeSharePopup()">×</span>
|
||||
<h2>Share with:</h2>
|
||||
<div class="social-icons">
|
||||
<a href="#" onclick="shareViaWhatsApp()">
|
||||
<img src="/icons/whatsapp.svg" alt="WhatsApp" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaPinterest()">
|
||||
<img src="/icons/pinterest.svg" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaTelegram()">
|
||||
<img src="/icons/telegram.svg" alt="Telegram" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaEmail()">
|
||||
<img src="/icons/email.svg" alt="E-Mail" />
|
||||
</a>
|
||||
<!-- Kopieren -->
|
||||
<a href="#" onclick="copyToClipboard()">
|
||||
<img src="/icons/copy.svg" />
|
||||
</a>
|
||||
<!-- Weitere Sharing-Optionen kannst du hier hinzufügen -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
<!-- JavaScript für Ladeanimation und Teilen-Funktion -->
|
||||
<script>
|
||||
// Ladeanimation beim Laden der Seite anzeigen
|
||||
document.body.classList.add('loading');
|
||||
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
|
||||
window.addEventListener('load', () => {
|
||||
document.body.classList.remove('loading');
|
||||
});
|
||||
|
||||
// Funktion zum Öffnen des Popup-Fensters
|
||||
function openSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "block";
|
||||
}
|
||||
|
||||
// Funktion zum Schließen des Popup-Fensters
|
||||
function closeSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "none";
|
||||
}
|
||||
|
||||
// Teilen via WhatsApp
|
||||
function shareViaWhatsApp() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/link-collection/lego-tiny-plants/');
|
||||
const url = 'https://api.whatsapp.com/send?text=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via Telegram
|
||||
function shareViaTelegram() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/link-collection/lego-tiny-plants/');
|
||||
const url = 'https://t.me/share/url?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/link-collection/klick-the-witch/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const media = encodeURIComponent('URL_ZU_DEINEM_BILD'); // Ersetze dies durch den tatsächlichen Bild-Link
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/link-collection/lego-tiny-plants/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text + '&media=' + media;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via E-Mail
|
||||
function shareViaEmail() {
|
||||
const subject = encodeURIComponent('Klick the Witch');
|
||||
const body = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/link-collection/lego-tiny-plants/');
|
||||
window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
const text = 'Check out this fantastic game!https://test.creative-crafter.de/link-collection/lego-tiny-plants/';
|
||||
navigator.clipboard.writeText(text).then(function() {
|
||||
alert('Text wurde in die Zwischenablage kopiert!');
|
||||
}, function(err) {
|
||||
alert('Fehler beim Kopieren in die Zwischenablage: ', err);
|
||||
});
|
||||
}
|
||||
|
||||
// Schließt das Popup bei Klick außerhalb des Inhalts
|
||||
window.onclick = function(event) {
|
||||
const modal = document.getElementById('shareModal');
|
||||
if (event.target == modal) {
|
||||
closeSharePopup();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
BIN
link-collection/lego-tiny-plants/lego-pflanze.jpeg
Normal file
After Width: | Height: | Size: 137 KiB |
BIN
link-collection/lego-tiny-plants/lego-pflanze.png
Normal file
After Width: | Height: | Size: 3.0 MiB |
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
385
programmieren/spiele/Flappy-Witch/index.html
Normal file
@ -0,0 +1,385 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<!-- Ladeanimation -->
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
|
||||
<!-- Stylesheet -->
|
||||
<style>
|
||||
@font-face { font-family: "Titillium"; src: url("/Titillium-Web-Regular.ttf"); }
|
||||
|
||||
body, html {
|
||||
font-family: 'Titillium';
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
|
||||
h1, h2 { text-align: center; }
|
||||
|
||||
/* Ladeanimation */
|
||||
.loader-container {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(173, 216, 230, 0.8);
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.loading .loader-container { display: flex; }
|
||||
|
||||
/* Button-Style */
|
||||
.button-share {
|
||||
--white: #fff;
|
||||
cursor: pointer;
|
||||
background: linear-gradient(to bottom, #6e3bff, #7e51ff);
|
||||
color: #fff;
|
||||
border: 1px solid #af93ff;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25);
|
||||
box-shadow: 0 8px 10px -4px #503b89, 0 0 0 2px #562cce;
|
||||
font-size: 25px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 16px 32px; /* Doppelte Größe */
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(to bottom, #007bff, #0056b3); /* Blau */
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.7);
|
||||
transition: all 0.2s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px; /* Abstand zum oberen Inhalt */
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
.button:active {
|
||||
box-shadow: 0 0px 1px rgba(0,0,0,0.8);
|
||||
transform: scale(0.995);
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
font-size: 1.5em; /* Textgröße anpassen */
|
||||
}
|
||||
|
||||
.icon path.bm {
|
||||
stroke-dasharray: 3;
|
||||
stroke-dashoffset: 3;
|
||||
stroke-width: 1px;
|
||||
transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg);
|
||||
}
|
||||
|
||||
.icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 50%;
|
||||
box-shadow: inset 0 -2px 4px 0 #c6c6c6, 0 3px 6px rgba(0, 0, 0, 0.25);
|
||||
text-align: center;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.icon-container .icon {
|
||||
width: 25px;
|
||||
height: 30px;
|
||||
stroke: #592cd6;
|
||||
margin-top: -2px;
|
||||
z-index: 4;
|
||||
/* Für das Teilen-Icon die Rotation entfernen */
|
||||
}
|
||||
|
||||
.content {
|
||||
pointer-events: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
padding: 4px;
|
||||
gap: 16px;
|
||||
border-radius: 7px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.letters {
|
||||
transition: all 0.3s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.letters span {
|
||||
display: block;
|
||||
color: transparent;
|
||||
position: relative;
|
||||
left: 6px;
|
||||
animation: letterShow 1.2s ease backwards calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.letters span::before, .letters span::after {
|
||||
content: attr(data-label);
|
||||
position: absolute;
|
||||
color: var(--white);
|
||||
text-shadow: -1px 1px 2px var(--purple-500);
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.letters span::before {
|
||||
opacity: 0;
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
.button:hover .letters span::before {
|
||||
animation: letterShow 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.button:hover .letters span::after {
|
||||
opacity: 1;
|
||||
animation: letterHide 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
@keyframes letterShow {
|
||||
0% { transform: translateY(50%); opacity: 0; filter: blur(20px); }
|
||||
20% { transform: translateY(70%); opacity: 1; }
|
||||
50% { transform: translateY(-15%); opacity: 1; filter: blur(0); }
|
||||
100% { transform: translateY(0); opacity: 1; }
|
||||
}
|
||||
|
||||
@keyframes letterHide {
|
||||
0% { transform: translateY(0); opacity: 1; }
|
||||
100% { transform: translateY(-70%); opacity: 0; filter: blur(3px); }
|
||||
}
|
||||
|
||||
/* Modal-Stile */
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: #fefefe;
|
||||
margin: 15% auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 80%;
|
||||
max-width: 400px;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.close {
|
||||
color: #aaa;
|
||||
float: right;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.close:hover,
|
||||
.close:focus {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.social-icons a img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.social-icons a img:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Ladeanimation -->
|
||||
<div class="loader-container">
|
||||
<l-quantum size="90" speed="1.75" color="black"></l-quantum>
|
||||
</div>
|
||||
|
||||
<h1><img src="/icons/Controller.png" height="150"><br/>Creative Crafter</h1>
|
||||
<h1>Flappy Witch</h1>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/Flappy-Witch/logo.png" width="250">
|
||||
</div>
|
||||
<br/>
|
||||
<div align='center'>
|
||||
<!-- Spielen-Button -->
|
||||
<button class="button" onclick="window.location.href=`/programmieren/spiele/Flappy-Witch/FlappyWitch.html`">
|
||||
<div class="button-inner">
|
||||
<span class="button-text"><img src="/icons/playbutton.png" alt="Icon" style="width:20px; height:20px; margin-right:5px;"> Play</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
</a>
|
||||
<br/><br/>
|
||||
<!-- Neuer Teilen-Button -->
|
||||
<button class="button-share" onclick="openSharePopup()">
|
||||
<div class="icon-container">
|
||||
<svg viewBox="0 0 24 24" fill="none" class="icon">
|
||||
<!-- Teilen-Icon -->
|
||||
<path d="M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"></path>
|
||||
<polyline points="16 6 12 2 8 6"></polyline>
|
||||
<line x1="12" y1="2" x2="12" y2="15"></line>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="letters">
|
||||
<span data-label="S" style="--i:0;">S</span>
|
||||
<span data-label="h" style="--i:1;">h</span>
|
||||
<span data-label="a" style="--i:2;">a</span>
|
||||
<span data-label="r" style="--i:3;">r</span>
|
||||
<span data-label="e" style="--i:4;">e</span>
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Popup-Fenster zum Teilen -->
|
||||
<div id="shareModal" class="modal">
|
||||
<div class="modal-content">
|
||||
<span class="close" onclick="closeSharePopup()">×</span>
|
||||
<h2>Share with:</h2>
|
||||
<div class="social-icons">
|
||||
<a href="#" onclick="shareViaWhatsApp()">
|
||||
<img src="/icons/whatsapp.svg" alt="WhatsApp" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaPinterest()">
|
||||
<img src="/icons/pinterest.svg" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaTelegram()">
|
||||
<img src="/icons/telegram.svg" alt="Telegram" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaEmail()">
|
||||
<img src="/icons/email.svg" alt="E-Mail" />
|
||||
</a>
|
||||
<!-- Kopieren -->
|
||||
<a href="#" onclick="copyToClipboard()">
|
||||
<img src="/icons/copy.svg" />
|
||||
</a>
|
||||
<!-- Weitere Sharing-Optionen kannst du hier hinzufügen -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/><br/><br/>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/Flappy-Witch/FlappyWitch1.png" width="250">
|
||||
<img src="/programmieren/spiele/Flappy-Witch/FlappyWitch2.png" width="250">
|
||||
</div>
|
||||
|
||||
<!-- JavaScript für Ladeanimation und Teilen-Funktion -->
|
||||
<script>
|
||||
// Ladeanimation beim Laden der Seite anzeigen
|
||||
document.body.classList.add('loading');
|
||||
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
|
||||
window.addEventListener('load', () => {
|
||||
document.body.classList.remove('loading');
|
||||
});
|
||||
|
||||
// Funktion zum Öffnen des Popup-Fensters
|
||||
function openSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "block";
|
||||
}
|
||||
|
||||
// Funktion zum Schließen des Popup-Fensters
|
||||
function closeSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "none";
|
||||
}
|
||||
|
||||
// Teilen via WhatsApp
|
||||
function shareViaWhatsApp() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
|
||||
const url = 'https://api.whatsapp.com/send?text=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via Telegram
|
||||
function shareViaTelegram() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
|
||||
const url = 'https://t.me/share/url?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const media = encodeURIComponent('URL_ZU_DEINEM_BILD'); // Ersetze dies durch den tatsächlichen Bild-Link
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text + '&media=' + media;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via E-Mail
|
||||
function shareViaEmail() {
|
||||
const subject = encodeURIComponent('Klick the Witch');
|
||||
const body = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
|
||||
window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
const text = 'Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/';
|
||||
navigator.clipboard.writeText(text).then(function() {
|
||||
alert('Text wurde in die Zwischenablage kopiert!');
|
||||
}, function(err) {
|
||||
alert('Fehler beim Kopieren in die Zwischenablage: ', err);
|
||||
});
|
||||
}
|
||||
|
||||
// Schließt das Popup bei Klick außerhalb des Inhalts
|
||||
window.onclick = function(event) {
|
||||
const modal = document.getElementById('shareModal');
|
||||
if (event.target == modal) {
|
||||
closeSharePopup();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
482
programmieren/spiele/capybara-jump-and-run/cajuanru.html
Normal file
387
programmieren/spiele/capybara-jump-and-run/index.html
Normal file
@ -0,0 +1,387 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<!-- Ladeanimation -->
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
|
||||
<!-- Stylesheet -->
|
||||
<style>
|
||||
@font-face { font-family: "Titillium"; src: url("/Titillium-Web-Regular.ttf"); }
|
||||
|
||||
body, html {
|
||||
font-family: 'Titillium';
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
|
||||
h1, h2 { text-align: center; }
|
||||
|
||||
/* Ladeanimation */
|
||||
.loader-container {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(173, 216, 230, 0.8);
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.loading .loader-container { display: flex; }
|
||||
|
||||
/* Button-Style */
|
||||
.button-share {
|
||||
--white: #fff;
|
||||
cursor: pointer;
|
||||
background: linear-gradient(to bottom, #6e3bff, #7e51ff);
|
||||
color: #fff;
|
||||
border: 1px solid #af93ff;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25);
|
||||
box-shadow: 0 8px 10px -4px #503b89, 0 0 0 2px #562cce;
|
||||
font-size: 25px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 16px 32px; /* Doppelte Größe */
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(to bottom, #007bff, #0056b3); /* Blau */
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.7);
|
||||
transition: all 0.2s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px; /* Abstand zum oberen Inhalt */
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
.button:active {
|
||||
box-shadow: 0 0px 1px rgba(0,0,0,0.8);
|
||||
transform: scale(0.995);
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
font-size: 1.5em; /* Textgröße anpassen */
|
||||
}
|
||||
|
||||
.icon path.bm {
|
||||
stroke-dasharray: 3;
|
||||
stroke-dashoffset: 3;
|
||||
stroke-width: 1px;
|
||||
transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg);
|
||||
}
|
||||
|
||||
.icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 50%;
|
||||
box-shadow: inset 0 -2px 4px 0 #c6c6c6, 0 3px 6px rgba(0, 0, 0, 0.25);
|
||||
text-align: center;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.icon-container .icon {
|
||||
width: 25px;
|
||||
height: 30px;
|
||||
stroke: #592cd6;
|
||||
margin-top: -2px;
|
||||
z-index: 4;
|
||||
/* Für das Teilen-Icon die Rotation entfernen */
|
||||
}
|
||||
|
||||
.content {
|
||||
pointer-events: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
padding: 4px;
|
||||
gap: 16px;
|
||||
border-radius: 7px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.letters {
|
||||
transition: all 0.3s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.letters span {
|
||||
display: block;
|
||||
color: transparent;
|
||||
position: relative;
|
||||
left: 6px;
|
||||
animation: letterShow 1.2s ease backwards calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.letters span::before, .letters span::after {
|
||||
content: attr(data-label);
|
||||
position: absolute;
|
||||
color: var(--white);
|
||||
text-shadow: -1px 1px 2px var(--purple-500);
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.letters span::before {
|
||||
opacity: 0;
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
.button:hover .letters span::before {
|
||||
animation: letterShow 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.button:hover .letters span::after {
|
||||
opacity: 1;
|
||||
animation: letterHide 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
@keyframes letterShow {
|
||||
0% { transform: translateY(50%); opacity: 0; filter: blur(20px); }
|
||||
20% { transform: translateY(70%); opacity: 1; }
|
||||
50% { transform: translateY(-15%); opacity: 1; filter: blur(0); }
|
||||
100% { transform: translateY(0); opacity: 1; }
|
||||
}
|
||||
|
||||
@keyframes letterHide {
|
||||
0% { transform: translateY(0); opacity: 1; }
|
||||
100% { transform: translateY(-70%); opacity: 0; filter: blur(3px); }
|
||||
}
|
||||
|
||||
/* Modal-Stile */
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: #fefefe;
|
||||
margin: 15% auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 80%;
|
||||
max-width: 400px;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.close {
|
||||
color: #aaa;
|
||||
float: right;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.close:hover,
|
||||
.close:focus {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.social-icons a img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.social-icons a img:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Ladeanimation -->
|
||||
<div class="loader-container">
|
||||
<l-quantum size="90" speed="1.75" color="black"></l-quantum>
|
||||
</div>
|
||||
|
||||
<h1><img src="/icons/Controller.png" height="150"><br/>Creative Crafter</h1>
|
||||
<h1>Capybara Jump and Run</h1>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/capybara-jump-and-run/logo.svg" width="250">
|
||||
</div>
|
||||
<br/>
|
||||
<div align='center'>
|
||||
<!-- Spielen-Button -->
|
||||
<button class="button" onclick="window.location.href=`/programmieren/spiele/capybara-jump-and-run/cajuanru.html`">
|
||||
<div class="button-inner">
|
||||
<span class="button-text"><img src="/icons/playbutton.png" alt="Icon" style="width:20px; height:20px; margin-right:5px;"> Play</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
</a>
|
||||
<br/><br/>
|
||||
<!-- Neuer Teilen-Button -->
|
||||
<button class="button-share" onclick="openSharePopup()">
|
||||
<div class="icon-container">
|
||||
<svg viewBox="0 0 24 24" fill="none" class="icon">
|
||||
<!-- Teilen-Icon -->
|
||||
<path d="M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"></path>
|
||||
<polyline points="16 6 12 2 8 6"></polyline>
|
||||
<line x1="12" y1="2" x2="12" y2="15"></line>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="letters">
|
||||
<span data-label="S" style="--i:0;">S</span>
|
||||
<span data-label="h" style="--i:1;">h</span>
|
||||
<span data-label="a" style="--i:2;">a</span>
|
||||
<span data-label="r" style="--i:3;">r</span>
|
||||
<span data-label="e" style="--i:4;">e</span>
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Popup-Fenster zum Teilen -->
|
||||
<div id="shareModal" class="modal">
|
||||
<div class="modal-content">
|
||||
<span class="close" onclick="closeSharePopup()">×</span>
|
||||
<h2>Share with:</h2>
|
||||
<div class="social-icons">
|
||||
<a href="#" onclick="shareViaWhatsApp()">
|
||||
<img src="/icons/whatsapp.svg" alt="WhatsApp" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaPinterest()">
|
||||
<img src="/icons/pinterest.svg" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaTelegram()">
|
||||
<img src="/icons/telegram.svg" alt="Telegram" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaEmail()">
|
||||
<img src="/icons/email.svg" alt="E-Mail" />
|
||||
</a>
|
||||
<!-- Kopieren -->
|
||||
<a href="#" onclick="copyToClipboard()">
|
||||
<img src="/icons/copy.svg" />
|
||||
</a>
|
||||
<!-- Weitere Sharing-Optionen kannst du hier hinzufügen -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/><br/><br/>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/capybara-jump-and-run/screenshot01.png" height="250">
|
||||
<img src="/programmieren/spiele/capybara-jump-and-run/screenshot02.png" height="250">
|
||||
</div>
|
||||
|
||||
<!-- JavaScript für Ladeanimation und Teilen-Funktion -->
|
||||
<script>
|
||||
// Ladeanimation beim Laden der Seite anzeigen
|
||||
document.body.classList.add('loading');
|
||||
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
|
||||
window.addEventListener('load', () => {
|
||||
document.body.classList.remove('loading');
|
||||
});
|
||||
|
||||
// Funktion zum Öffnen des Popup-Fensters
|
||||
function openSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "block";
|
||||
}
|
||||
|
||||
// Funktion zum Schließen des Popup-Fensters
|
||||
function closeSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "none";
|
||||
}
|
||||
|
||||
// Teilen via WhatsApp
|
||||
function shareViaWhatsApp() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/capybara-jump-and-run/');
|
||||
const url = 'https://api.whatsapp.com/send?text=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via Telegram
|
||||
function shareViaTelegram() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/capybara-jump-and-run/');
|
||||
const url = 'https://t.me/share/url?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/capybara-jump-and-run/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const media = encodeURIComponent('URL_ZU_DEINEM_BILD'); // Ersetze dies durch den tatsächlichen Bild-Link
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/capybara-jump-and-run/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text + '&media=' + media;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via E-Mail
|
||||
function shareViaEmail() {
|
||||
const subject = encodeURIComponent('Capybara Jump and Run');
|
||||
const body = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/capybara-jump-and-run/');
|
||||
window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
const text = 'Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/capybara-jump-and-run/';
|
||||
navigator.clipboard.writeText(text).then(function() {
|
||||
alert('Text wurde in die Zwischenablage kopiert!');
|
||||
}, function(err) {
|
||||
alert('Fehler beim Kopieren in die Zwischenablage: ', err);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Schließt das Popup bei Klick außerhalb des Inhalts
|
||||
window.onclick = function(event) {
|
||||
const modal = document.getElementById('shareModal');
|
||||
if (event.target == modal) {
|
||||
closeSharePopup();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
1
programmieren/spiele/capybara-jump-and-run/logo.svg
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
programmieren/spiele/capybara-jump-and-run/screenshot01.png
Normal file
After Width: | Height: | Size: 5.2 MiB |
BIN
programmieren/spiele/capybara-jump-and-run/screenshot02.png
Normal file
After Width: | Height: | Size: 5.2 MiB |
416
programmieren/spiele/fruit-or-no/fruit-or-no.html
Normal file
BIN
programmieren/spiele/fruit-or-no/fruit-or-no1.png
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
programmieren/spiele/fruit-or-no/fruit-or-no2.png
Normal file
After Width: | Height: | Size: 1.6 MiB |
387
programmieren/spiele/fruit-or-no/index.html
Normal file
@ -0,0 +1,387 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<!-- Ladeanimation -->
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
|
||||
<!-- Stylesheet -->
|
||||
<style>
|
||||
@font-face { font-family: "Titillium"; src: url("/Titillium-Web-Regular.ttf"); }
|
||||
|
||||
body, html {
|
||||
font-family: 'Titillium';
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
|
||||
h1, h2 { text-align: center; }
|
||||
|
||||
/* Ladeanimation */
|
||||
.loader-container {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(173, 216, 230, 0.8);
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.loading .loader-container { display: flex; }
|
||||
|
||||
/* Button-Style */
|
||||
.button-share {
|
||||
--white: #fff;
|
||||
cursor: pointer;
|
||||
background: linear-gradient(to bottom, #6e3bff, #7e51ff);
|
||||
color: #fff;
|
||||
border: 1px solid #af93ff;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25);
|
||||
box-shadow: 0 8px 10px -4px #503b89, 0 0 0 2px #562cce;
|
||||
font-size: 25px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 16px 32px; /* Doppelte Größe */
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(to bottom, #007bff, #0056b3); /* Blau */
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.7);
|
||||
transition: all 0.2s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px; /* Abstand zum oberen Inhalt */
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
.button:active {
|
||||
box-shadow: 0 0px 1px rgba(0,0,0,0.8);
|
||||
transform: scale(0.995);
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
font-size: 1.5em; /* Textgröße anpassen */
|
||||
}
|
||||
|
||||
.icon path.bm {
|
||||
stroke-dasharray: 3;
|
||||
stroke-dashoffset: 3;
|
||||
stroke-width: 1px;
|
||||
transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg);
|
||||
}
|
||||
|
||||
.icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 50%;
|
||||
box-shadow: inset 0 -2px 4px 0 #c6c6c6, 0 3px 6px rgba(0, 0, 0, 0.25);
|
||||
text-align: center;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.icon-container .icon {
|
||||
width: 25px;
|
||||
height: 30px;
|
||||
stroke: #592cd6;
|
||||
margin-top: -2px;
|
||||
z-index: 4;
|
||||
/* Für das Teilen-Icon die Rotation entfernen */
|
||||
}
|
||||
|
||||
.content {
|
||||
pointer-events: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
padding: 4px;
|
||||
gap: 16px;
|
||||
border-radius: 7px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.letters {
|
||||
transition: all 0.3s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.letters span {
|
||||
display: block;
|
||||
color: transparent;
|
||||
position: relative;
|
||||
left: 6px;
|
||||
animation: letterShow 1.2s ease backwards calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.letters span::before, .letters span::after {
|
||||
content: attr(data-label);
|
||||
position: absolute;
|
||||
color: var(--white);
|
||||
text-shadow: -1px 1px 2px var(--purple-500);
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.letters span::before {
|
||||
opacity: 0;
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
.button:hover .letters span::before {
|
||||
animation: letterShow 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.button:hover .letters span::after {
|
||||
opacity: 1;
|
||||
animation: letterHide 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
@keyframes letterShow {
|
||||
0% { transform: translateY(50%); opacity: 0; filter: blur(20px); }
|
||||
20% { transform: translateY(70%); opacity: 1; }
|
||||
50% { transform: translateY(-15%); opacity: 1; filter: blur(0); }
|
||||
100% { transform: translateY(0); opacity: 1; }
|
||||
}
|
||||
|
||||
@keyframes letterHide {
|
||||
0% { transform: translateY(0); opacity: 1; }
|
||||
100% { transform: translateY(-70%); opacity: 0; filter: blur(3px); }
|
||||
}
|
||||
|
||||
/* Modal-Stile */
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: #fefefe;
|
||||
margin: 15% auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 80%;
|
||||
max-width: 400px;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.close {
|
||||
color: #aaa;
|
||||
float: right;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.close:hover,
|
||||
.close:focus {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.social-icons a img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.social-icons a img:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Ladeanimation -->
|
||||
<div class="loader-container">
|
||||
<l-quantum size="90" speed="1.75" color="black"></l-quantum>
|
||||
</div>
|
||||
|
||||
<h1><img src="/icons/Controller.png" height="150"><br/>Creative Crafter</h1>
|
||||
<h1>Fruit or No</h1>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/fruit-or-no/logo.png" width="250">
|
||||
</div>
|
||||
<br/>
|
||||
<div align='center'>
|
||||
<!-- Spielen-Button -->
|
||||
<button class="button" onclick="window.location.href=`/programmieren/spiele/fruit-or-no/fruit-or-no.html`">
|
||||
<div class="button-inner">
|
||||
<span class="button-text"><img src="/icons/playbutton.png" alt="Icon" style="width:20px; height:20px; margin-right:5px;"> Play</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
</a>
|
||||
<br/><br/>
|
||||
<!-- Neuer Teilen-Button -->
|
||||
<button class="button-share" onclick="openSharePopup()">
|
||||
<div class="icon-container">
|
||||
<svg viewBox="0 0 24 24" fill="none" class="icon">
|
||||
<!-- Teilen-Icon -->
|
||||
<path d="M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"></path>
|
||||
<polyline points="16 6 12 2 8 6"></polyline>
|
||||
<line x1="12" y1="2" x2="12" y2="15"></line>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="letters">
|
||||
<span data-label="S" style="--i:0;">S</span>
|
||||
<span data-label="h" style="--i:1;">h</span>
|
||||
<span data-label="a" style="--i:2;">a</span>
|
||||
<span data-label="r" style="--i:3;">r</span>
|
||||
<span data-label="e" style="--i:4;">e</span>
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Popup-Fenster zum Teilen -->
|
||||
<div id="shareModal" class="modal">
|
||||
<div class="modal-content">
|
||||
<span class="close" onclick="closeSharePopup()">×</span>
|
||||
<h2>Share with:</h2>
|
||||
<div class="social-icons">
|
||||
<a href="#" onclick="shareViaWhatsApp()">
|
||||
<img src="/icons/whatsapp.svg" alt="WhatsApp" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaPinterest()">
|
||||
<img src="/icons/pinterest.svg" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaTelegram()">
|
||||
<img src="/icons/telegram.svg" alt="Telegram" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaEmail()">
|
||||
<img src="/icons/email.svg" alt="E-Mail" />
|
||||
</a>
|
||||
<!-- Kopieren -->
|
||||
<a href="#" onclick="copyToClipboard()">
|
||||
<img src="/icons/copy.svg" />
|
||||
</a>
|
||||
<!-- Weitere Sharing-Optionen kannst du hier hinzufügen -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/><br/><br/>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/fruit-or-no/fruit-or-no1.png" height="250">
|
||||
<img src="/programmieren/spiele/fruit-or-no/fruit-or-no2.png" height="250">
|
||||
</div>
|
||||
|
||||
<!-- JavaScript für Ladeanimation und Teilen-Funktion -->
|
||||
<script>
|
||||
// Ladeanimation beim Laden der Seite anzeigen
|
||||
document.body.classList.add('loading');
|
||||
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
|
||||
window.addEventListener('load', () => {
|
||||
document.body.classList.remove('loading');
|
||||
});
|
||||
|
||||
// Funktion zum Öffnen des Popup-Fensters
|
||||
function openSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "block";
|
||||
}
|
||||
|
||||
// Funktion zum Schließen des Popup-Fensters
|
||||
function closeSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "none";
|
||||
}
|
||||
|
||||
// Teilen via WhatsApp
|
||||
function shareViaWhatsApp() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/fruit-or-no/');
|
||||
const url = 'https://api.whatsapp.com/send?text=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via Telegram
|
||||
function shareViaTelegram() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/fruit-or-no/');
|
||||
const url = 'https://t.me/share/url?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/fruit-or-no/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const media = encodeURIComponent('URL_ZU_DEINEM_BILD'); // Ersetze dies durch den tatsächlichen Bild-Link
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/fruit-or-no/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text + '&media=' + media;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via E-Mail
|
||||
function shareViaEmail() {
|
||||
const subject = encodeURIComponent('Fruit or No');
|
||||
const body = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/fruit-or-no/');
|
||||
window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
const text = 'Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/fruit-or-no/';
|
||||
navigator.clipboard.writeText(text).then(function() {
|
||||
alert('Text wurde in die Zwischenablage kopiert!');
|
||||
}, function(err) {
|
||||
alert('Fehler beim Kopieren in die Zwischenablage: ', err);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Schließt das Popup bei Klick außerhalb des Inhalts
|
||||
window.onclick = function(event) {
|
||||
const modal = document.getElementById('shareModal');
|
||||
if (event.target == modal) {
|
||||
closeSharePopup();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
BIN
programmieren/spiele/fruit-or-no/logo.png
Normal file
After Width: | Height: | Size: 776 KiB |
101
programmieren/spiele/index.html
Normal file
@ -0,0 +1,101 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<link href="" rel="stylesheet">
|
||||
<style>
|
||||
@font-face {
|
||||
font-family: "Titillium";
|
||||
src: url("/Titillium-Web-Regular.ttf");
|
||||
}
|
||||
body {
|
||||
font-family: 'Titillium';
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff; /* Leichtes Blau */
|
||||
}
|
||||
h1 {
|
||||
text-align: center;
|
||||
}
|
||||
h2 {
|
||||
text-align: center;
|
||||
}
|
||||
h1, h2, h3 {
|
||||
text-align: center;
|
||||
}
|
||||
.category-container {
|
||||
width: 80%;
|
||||
max-width: 800px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.category {
|
||||
padding: 15px;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 8px;
|
||||
margin: 10px 0;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
text-align: left;
|
||||
}
|
||||
.category-title {
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.category-description {
|
||||
font-size: 1em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.category a {
|
||||
color: #007bff;
|
||||
text-decoration: none;
|
||||
}
|
||||
.category a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1><img src="/icons/Controller.png" height="150svh"><br/>Creative Crafter</h1>
|
||||
|
||||
<h1>My Games</h1>
|
||||
<div class="category-container">
|
||||
<div class="category">
|
||||
<div class="category-title">Klick the Witch</div>
|
||||
<div class="category-description">Klick the Witch is a mini-game. Tap evil witches for points, avoid good ones, and manage 3 lives.</div>
|
||||
<a href="/programmieren/spiele/klick-the-witch">Mehr erfahren</a>
|
||||
</div>
|
||||
<div class="category">
|
||||
<div class="category-title">Flappy Witch</div>
|
||||
<div class="category-description">Help the witch navigate through the pipes, collecting points and avoiding obstacles. Test your skills in this magical adventure!</div>
|
||||
<a href="/programmieren/spiele/Flappy-Witch">Mehr erfahren</a>
|
||||
</div>
|
||||
<div class="category">
|
||||
<div class="category-title">Capybara Jump and Run</div>
|
||||
<div class="category-description">Collect apples for points, avoid deadly spikes. Guide your capybara to a fun and thrilling adventure. Play now!</div>
|
||||
<a href="/programmieren/spiele/capybara-jump-and-run">Mehr erfahren</a>
|
||||
</div>
|
||||
<div class="category">
|
||||
<div class="category-title">Fruit or No</div>
|
||||
<div class="category-description">Tap fruits for points. Let non-food items fall. Test reflexes in this fast-paced, fun game.</div>
|
||||
<a href="/programmieren/spiele/fruit-or-no">Mehr erfahren</a>
|
||||
</div>
|
||||
<div class="category">
|
||||
<div class="category-title">Sweets for Animals</div>
|
||||
<div class="category-description">Tap the cat for cakes, bunny for donuts. Give Sweets away.</div>
|
||||
<a href="/programmieren/spiele/sweets-for-animals">Mehr erfahren</a>
|
||||
</div>
|
||||
<div class="category">
|
||||
<div class="category-title">Snake Game</div>
|
||||
<div class="category-description">Experience the timeless classic by guiding the snake, collecting food, avoiding collisions! Play now.</div>
|
||||
<a href="/programmieren/spiele/snake">Mehr erfahren</a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
387
programmieren/spiele/klick-the-witch/index.html
Normal file
@ -0,0 +1,387 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<!-- Ladeanimation -->
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
|
||||
<!-- Stylesheet -->
|
||||
<style>
|
||||
@font-face { font-family: "Titillium"; src: url("/Titillium-Web-Regular.ttf"); }
|
||||
|
||||
body, html {
|
||||
font-family: 'Titillium';
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
|
||||
h1, h2 { text-align: center; }
|
||||
|
||||
/* Ladeanimation */
|
||||
.loader-container {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(173, 216, 230, 0.8);
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.loading .loader-container { display: flex; }
|
||||
|
||||
/* Button-Style */
|
||||
.button-share {
|
||||
--white: #fff;
|
||||
cursor: pointer;
|
||||
background: linear-gradient(to bottom, #6e3bff, #7e51ff);
|
||||
color: #fff;
|
||||
border: 1px solid #af93ff;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25);
|
||||
box-shadow: 0 8px 10px -4px #503b89, 0 0 0 2px #562cce;
|
||||
font-size: 25px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 16px 32px; /* Doppelte Größe */
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(to bottom, #007bff, #0056b3); /* Blau */
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.7);
|
||||
transition: all 0.2s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px; /* Abstand zum oberen Inhalt */
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
.button:active {
|
||||
box-shadow: 0 0px 1px rgba(0,0,0,0.8);
|
||||
transform: scale(0.995);
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
font-size: 1.5em; /* Textgröße anpassen */
|
||||
}
|
||||
|
||||
.icon path.bm {
|
||||
stroke-dasharray: 3;
|
||||
stroke-dashoffset: 3;
|
||||
stroke-width: 1px;
|
||||
transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg);
|
||||
}
|
||||
|
||||
.icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 50%;
|
||||
box-shadow: inset 0 -2px 4px 0 #c6c6c6, 0 3px 6px rgba(0, 0, 0, 0.25);
|
||||
text-align: center;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.icon-container .icon {
|
||||
width: 25px;
|
||||
height: 30px;
|
||||
stroke: #592cd6;
|
||||
margin-top: -2px;
|
||||
z-index: 4;
|
||||
/* Für das Teilen-Icon die Rotation entfernen */
|
||||
}
|
||||
|
||||
.content {
|
||||
pointer-events: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
padding: 4px;
|
||||
gap: 16px;
|
||||
border-radius: 7px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.letters {
|
||||
transition: all 0.3s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.letters span {
|
||||
display: block;
|
||||
color: transparent;
|
||||
position: relative;
|
||||
left: 6px;
|
||||
animation: letterShow 1.2s ease backwards calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.letters span::before, .letters span::after {
|
||||
content: attr(data-label);
|
||||
position: absolute;
|
||||
color: var(--white);
|
||||
text-shadow: -1px 1px 2px var(--purple-500);
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.letters span::before {
|
||||
opacity: 0;
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
.button:hover .letters span::before {
|
||||
animation: letterShow 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.button:hover .letters span::after {
|
||||
opacity: 1;
|
||||
animation: letterHide 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
@keyframes letterShow {
|
||||
0% { transform: translateY(50%); opacity: 0; filter: blur(20px); }
|
||||
20% { transform: translateY(70%); opacity: 1; }
|
||||
50% { transform: translateY(-15%); opacity: 1; filter: blur(0); }
|
||||
100% { transform: translateY(0); opacity: 1; }
|
||||
}
|
||||
|
||||
@keyframes letterHide {
|
||||
0% { transform: translateY(0); opacity: 1; }
|
||||
100% { transform: translateY(-70%); opacity: 0; filter: blur(3px); }
|
||||
}
|
||||
|
||||
/* Modal-Stile */
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: #fefefe;
|
||||
margin: 15% auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 80%;
|
||||
max-width: 400px;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.close {
|
||||
color: #aaa;
|
||||
float: right;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.close:hover,
|
||||
.close:focus {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.social-icons a img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.social-icons a img:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Ladeanimation -->
|
||||
<div class="loader-container">
|
||||
<l-quantum size="90" speed="1.75" color="black"></l-quantum>
|
||||
</div>
|
||||
|
||||
<h1><img src="/icons/Controller.png" height="150"><br/>Creative Crafter</h1>
|
||||
<h1>Klick the Witch</h1>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/klick-the-witch/logo.png" width="250">
|
||||
</div>
|
||||
<br/>
|
||||
<div align='center'>
|
||||
<!-- Spielen-Button -->
|
||||
<button class="button" onclick="window.location.href=`/programmieren/spiele/klick-the-witch/witc1h.html`">
|
||||
<div class="button-inner">
|
||||
<span class="button-text"><img src="/icons/playbutton.png" alt="Icon" style="width:20px; height:20px; margin-right:5px;"> Play</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
</a>
|
||||
<br/><br/>
|
||||
<!-- Neuer Teilen-Button -->
|
||||
<button class="button-share" onclick="openSharePopup()">
|
||||
<div class="icon-container">
|
||||
<svg viewBox="0 0 24 24" fill="none" class="icon">
|
||||
<!-- Teilen-Icon -->
|
||||
<path d="M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"></path>
|
||||
<polyline points="16 6 12 2 8 6"></polyline>
|
||||
<line x1="12" y1="2" x2="12" y2="15"></line>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="letters">
|
||||
<span data-label="S" style="--i:0;">S</span>
|
||||
<span data-label="h" style="--i:1;">h</span>
|
||||
<span data-label="a" style="--i:2;">a</span>
|
||||
<span data-label="r" style="--i:3;">r</span>
|
||||
<span data-label="e" style="--i:4;">e</span>
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Popup-Fenster zum Teilen -->
|
||||
<div id="shareModal" class="modal">
|
||||
<div class="modal-content">
|
||||
<span class="close" onclick="closeSharePopup()">×</span>
|
||||
<h2>Share with:</h2>
|
||||
<div class="social-icons">
|
||||
<a href="#" onclick="shareViaWhatsApp()">
|
||||
<img src="/icons/whatsapp.svg" alt="WhatsApp" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaPinterest()">
|
||||
<img src="/icons/pinterest.svg" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaTelegram()">
|
||||
<img src="/icons/telegram.svg" alt="Telegram" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaEmail()">
|
||||
<img src="/icons/email.svg" alt="E-Mail" />
|
||||
</a>
|
||||
<!-- Kopieren -->
|
||||
<a href="#" onclick="copyToClipboard()">
|
||||
<img src="/icons/copy.svg" />
|
||||
</a>
|
||||
<!-- Weitere Sharing-Optionen kannst du hier hinzufügen -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/><br/><br/>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/klick-the-witch/screenshot01.png" height="250">
|
||||
<img src="/programmieren/spiele/klick-the-witch/screenshot02.png" height="250">
|
||||
</div>
|
||||
|
||||
<!-- JavaScript für Ladeanimation und Teilen-Funktion -->
|
||||
<script>
|
||||
// Ladeanimation beim Laden der Seite anzeigen
|
||||
document.body.classList.add('loading');
|
||||
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
|
||||
window.addEventListener('load', () => {
|
||||
document.body.classList.remove('loading');
|
||||
});
|
||||
|
||||
// Funktion zum Öffnen des Popup-Fensters
|
||||
function openSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "block";
|
||||
}
|
||||
|
||||
// Funktion zum Schließen des Popup-Fensters
|
||||
function closeSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "none";
|
||||
}
|
||||
|
||||
// Teilen via WhatsApp
|
||||
function shareViaWhatsApp() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
|
||||
const url = 'https://api.whatsapp.com/send?text=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via Telegram
|
||||
function shareViaTelegram() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
|
||||
const url = 'https://t.me/share/url?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const media = encodeURIComponent('URL_ZU_DEINEM_BILD'); // Ersetze dies durch den tatsächlichen Bild-Link
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text + '&media=' + media;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via E-Mail
|
||||
function shareViaEmail() {
|
||||
const subject = encodeURIComponent('Klick the Witch');
|
||||
const body = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/');
|
||||
window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
const text = 'Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/klick-the-witch/';
|
||||
navigator.clipboard.writeText(text).then(function() {
|
||||
alert('Text wurde in die Zwischenablage kopiert!');
|
||||
}, function(err) {
|
||||
alert('Fehler beim Kopieren in die Zwischenablage: ', err);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Schließt das Popup bei Klick außerhalb des Inhalts
|
||||
window.onclick = function(event) {
|
||||
const modal = document.getElementById('shareModal');
|
||||
if (event.target == modal) {
|
||||
closeSharePopup();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 230 KiB After Width: | Height: | Size: 230 KiB |
Before Width: | Height: | Size: 978 KiB After Width: | Height: | Size: 978 KiB |
Before Width: | Height: | Size: 498 KiB After Width: | Height: | Size: 498 KiB |
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 3.5 MiB |
Before Width: | Height: | Size: 3.5 MiB After Width: | Height: | Size: 3.5 MiB |
51
programmieren/spiele/snake/code.html
Normal file
@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Snake Game</title>
|
||||
<style>
|
||||
body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #000; }
|
||||
canvas { border: 1px solid #fff; }
|
||||
#startScreen { display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: white; text-align: center; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<canvas id="gameCanvas" width="400" height="400"></canvas>
|
||||
<div id="startScreen"><h1>Snake Game</h1><p>Press Space to Start</p></div>
|
||||
<script>
|
||||
const canvas = document.getElementById('gameCanvas'), ctx = canvas.getContext('2d'), startScreen = document.getElementById('startScreen');
|
||||
const gridSize = 20; let snake = [{ x: 200, y: 200 }], direction = { x: 0, y: 0 }, food = { x: 0, y: 0 }, gameOver = false, gameStarted = false;
|
||||
|
||||
const getRandomFoodPosition = () => ({ x: Math.floor(Math.random() * (canvas.width / gridSize)) * gridSize, y: Math.floor(Math.random() * (canvas.height / gridSize)) * gridSize });
|
||||
const drawRect = (x, y, color) => { ctx.fillStyle = color; ctx.fillRect(x, y, gridSize, gridSize); };
|
||||
const update = () => {
|
||||
if (gameOver) return;
|
||||
const head = { x: snake[0].x + direction.x, y: snake[0].y + direction.y };
|
||||
if (head.x < 0 || head.x >= canvas.width || head.y < 0 || head.y >= canvas.height || snake.some(segment => segment.x === head.x && segment.y === head.y)) {
|
||||
gameOver = true;
|
||||
location.reload(); // Reload the page when the game is over
|
||||
return;
|
||||
}
|
||||
snake.unshift(head);
|
||||
if (head.x === food.x && head.y === food.y) food = getRandomFoodPosition(); else snake.pop();
|
||||
};
|
||||
const draw = () => { ctx.clearRect(0, 0, canvas.width, canvas.height); snake.forEach(segment => drawRect(segment.x, segment.y, 'lime')); drawRect(food.x, food.y, 'red'); };
|
||||
const gameLoop = () => { update(); draw(); if (!gameOver) setTimeout(gameLoop, 100); };
|
||||
const resetGame = () => { snake = [{ x: 200, y: 200 }]; direction = { x: 0, y: 0 }; food = getRandomFoodPosition(); gameOver = false; gameLoop(); };
|
||||
|
||||
window.addEventListener('keydown', e => {
|
||||
switch (e.key) {
|
||||
case 'ArrowUp': case 'w': if (direction.y === 0) direction = { x: 0, y: -gridSize }; break;
|
||||
case 'ArrowDown': case 's': if (direction.y === 0) direction = { x: 0, y: gridSize }; break;
|
||||
case 'ArrowLeft': case 'a': if (direction.x === 0) direction = { x: -gridSize, y: 0 }; break;
|
||||
case 'ArrowRight': case 'd': if (direction.x === 0) direction = { x: gridSize, y: 0 }; break;
|
||||
case ' ': if (gameOver) resetGame(); else if (!gameStarted) { startScreen.style.display = 'none'; gameStarted = true; gameLoop(); } break;
|
||||
}
|
||||
});
|
||||
|
||||
food = getRandomFoodPosition();
|
||||
startScreen.style.display = 'block';
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
387
programmieren/spiele/snake/index.html
Normal file
@ -0,0 +1,387 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<!-- Ladeanimation -->
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
|
||||
<!-- Stylesheet -->
|
||||
<style>
|
||||
@font-face { font-family: "Titillium"; src: url("/Titillium-Web-Regular.ttf"); }
|
||||
|
||||
body, html {
|
||||
font-family: 'Titillium';
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
|
||||
h1, h2 { text-align: center; }
|
||||
|
||||
/* Ladeanimation */
|
||||
.loader-container {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(173, 216, 230, 0.8);
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.loading .loader-container { display: flex; }
|
||||
|
||||
/* Button-Style */
|
||||
.button-share {
|
||||
--white: #fff;
|
||||
cursor: pointer;
|
||||
background: linear-gradient(to bottom, #6e3bff, #7e51ff);
|
||||
color: #fff;
|
||||
border: 1px solid #af93ff;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25);
|
||||
box-shadow: 0 8px 10px -4px #503b89, 0 0 0 2px #562cce;
|
||||
font-size: 25px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 16px 32px; /* Doppelte Größe */
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(to bottom, #007bff, #0056b3); /* Blau */
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.7);
|
||||
transition: all 0.2s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px; /* Abstand zum oberen Inhalt */
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
.button:active {
|
||||
box-shadow: 0 0px 1px rgba(0,0,0,0.8);
|
||||
transform: scale(0.995);
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
font-size: 1.5em; /* Textgröße anpassen */
|
||||
}
|
||||
|
||||
.icon path.bm {
|
||||
stroke-dasharray: 3;
|
||||
stroke-dashoffset: 3;
|
||||
stroke-width: 1px;
|
||||
transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg);
|
||||
}
|
||||
|
||||
.icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 50%;
|
||||
box-shadow: inset 0 -2px 4px 0 #c6c6c6, 0 3px 6px rgba(0, 0, 0, 0.25);
|
||||
text-align: center;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.icon-container .icon {
|
||||
width: 25px;
|
||||
height: 30px;
|
||||
stroke: #592cd6;
|
||||
margin-top: -2px;
|
||||
z-index: 4;
|
||||
/* Für das Teilen-Icon die Rotation entfernen */
|
||||
}
|
||||
|
||||
.content {
|
||||
pointer-events: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
padding: 4px;
|
||||
gap: 16px;
|
||||
border-radius: 7px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.letters {
|
||||
transition: all 0.3s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.letters span {
|
||||
display: block;
|
||||
color: transparent;
|
||||
position: relative;
|
||||
left: 6px;
|
||||
animation: letterShow 1.2s ease backwards calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.letters span::before, .letters span::after {
|
||||
content: attr(data-label);
|
||||
position: absolute;
|
||||
color: var(--white);
|
||||
text-shadow: -1px 1px 2px var(--purple-500);
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.letters span::before {
|
||||
opacity: 0;
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
.button:hover .letters span::before {
|
||||
animation: letterShow 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.button:hover .letters span::after {
|
||||
opacity: 1;
|
||||
animation: letterHide 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
@keyframes letterShow {
|
||||
0% { transform: translateY(50%); opacity: 0; filter: blur(20px); }
|
||||
20% { transform: translateY(70%); opacity: 1; }
|
||||
50% { transform: translateY(-15%); opacity: 1; filter: blur(0); }
|
||||
100% { transform: translateY(0); opacity: 1; }
|
||||
}
|
||||
|
||||
@keyframes letterHide {
|
||||
0% { transform: translateY(0); opacity: 1; }
|
||||
100% { transform: translateY(-70%); opacity: 0; filter: blur(3px); }
|
||||
}
|
||||
|
||||
/* Modal-Stile */
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: #fefefe;
|
||||
margin: 15% auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 80%;
|
||||
max-width: 400px;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.close {
|
||||
color: #aaa;
|
||||
float: right;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.close:hover,
|
||||
.close:focus {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.social-icons a img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.social-icons a img:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Ladeanimation -->
|
||||
<div class="loader-container">
|
||||
<l-quantum size="90" speed="1.75" color="black"></l-quantum>
|
||||
</div>
|
||||
|
||||
<h1><img src="/icons/Controller.png" height="150"><br/>Creative Crafter</h1>
|
||||
<h1>Snake</h1>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/snake/logo.svg" width="250">
|
||||
</div>
|
||||
<br/>
|
||||
<div align='center'>
|
||||
<!-- Spielen-Button -->
|
||||
<button class="button" onclick="window.location.href=`/programmieren/spiele/snake/snake.html`">
|
||||
<div class="button-inner">
|
||||
<span class="button-text"><img src="/icons/playbutton.png" alt="Icon" style="width:20px; height:20px; margin-right:5px;"> Play</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
</a>
|
||||
<br/><br/>
|
||||
<!-- Neuer Teilen-Button -->
|
||||
<button class="button-share" onclick="openSharePopup()">
|
||||
<div class="icon-container">
|
||||
<svg viewBox="0 0 24 24" fill="none" class="icon">
|
||||
<!-- Teilen-Icon -->
|
||||
<path d="M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"></path>
|
||||
<polyline points="16 6 12 2 8 6"></polyline>
|
||||
<line x1="12" y1="2" x2="12" y2="15"></line>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="letters">
|
||||
<span data-label="S" style="--i:0;">S</span>
|
||||
<span data-label="h" style="--i:1;">h</span>
|
||||
<span data-label="a" style="--i:2;">a</span>
|
||||
<span data-label="r" style="--i:3;">r</span>
|
||||
<span data-label="e" style="--i:4;">e</span>
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Popup-Fenster zum Teilen -->
|
||||
<div id="shareModal" class="modal">
|
||||
<div class="modal-content">
|
||||
<span class="close" onclick="closeSharePopup()">×</span>
|
||||
<h2>Share with:</h2>
|
||||
<div class="social-icons">
|
||||
<a href="#" onclick="shareViaWhatsApp()">
|
||||
<img src="/icons/whatsapp.svg" alt="WhatsApp" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaPinterest()">
|
||||
<img src="/icons/pinterest.svg" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaTelegram()">
|
||||
<img src="/icons/telegram.svg" alt="Telegram" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaEmail()">
|
||||
<img src="/icons/email.svg" alt="E-Mail" />
|
||||
</a>
|
||||
<!-- Kopieren -->
|
||||
<a href="#" onclick="copyToClipboard()">
|
||||
<img src="/icons/copy.svg" />
|
||||
</a>
|
||||
<!-- Weitere Sharing-Optionen kannst du hier hinzufügen -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/><br/><br/>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/snake/screenshot01.png" height="250">
|
||||
<img src="/programmieren/spiele/snake/screenshot02.png" height="250">
|
||||
</div>
|
||||
|
||||
<!-- JavaScript für Ladeanimation und Teilen-Funktion -->
|
||||
<script>
|
||||
// Ladeanimation beim Laden der Seite anzeigen
|
||||
document.body.classList.add('loading');
|
||||
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
|
||||
window.addEventListener('load', () => {
|
||||
document.body.classList.remove('loading');
|
||||
});
|
||||
|
||||
// Funktion zum Öffnen des Popup-Fensters
|
||||
function openSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "block";
|
||||
}
|
||||
|
||||
// Funktion zum Schließen des Popup-Fensters
|
||||
function closeSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "none";
|
||||
}
|
||||
|
||||
// Teilen via WhatsApp
|
||||
function shareViaWhatsApp() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/snake/');
|
||||
const url = 'https://api.whatsapp.com/send?text=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via Telegram
|
||||
function shareViaTelegram() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/snake/');
|
||||
const url = 'https://t.me/share/url?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/snake/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const media = encodeURIComponent('URL_ZU_DEINEM_BILD'); // Ersetze dies durch den tatsächlichen Bild-Link
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/snake/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text + '&media=' + media;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via E-Mail
|
||||
function shareViaEmail() {
|
||||
const subject = encodeURIComponent('Snake');
|
||||
const body = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/snake/');
|
||||
window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
const text = 'Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/snake/';
|
||||
navigator.clipboard.writeText(text).then(function() {
|
||||
alert('Text has been copied to the clipboard!');
|
||||
}, function(err) {
|
||||
alert('Error copying to clipboard!: ', err);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Schließt das Popup bei Klick außerhalb des Inhalts
|
||||
window.onclick = function(event) {
|
||||
const modal = document.getElementById('shareModal');
|
||||
if (event.target == modal) {
|
||||
closeSharePopup();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
1
programmieren/spiele/snake/logo.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="277" height="285" viewBox="0,0,277,285"><g transform="translate(-105.5,-38.5)"><g stroke="none" stroke-miterlimit="10"><path d="M105.5,323.5v-285h277v285z" fill="#000000" stroke-width="0"/><path d="M167.5,193.58489v-26.08489h25.35268v26.08489z" fill="#ff0000" stroke-width="0"/><g fill="#00ff00" stroke-width="0"><path d="M167.5,117.41822v-26.08488h25.35268v26.08489z"/><g><path d="M167.41602,66.77253l26.08467,-0.10603l0.10305,25.35247l-26.08467,0.10603z"/><path d="M192.74915,66.66956l26.08467,-0.10603l0.10305,25.35247l-26.08467,0.10603z"/><path d="M218.24894,66.56591l26.08467,-0.10603l0.10305,25.35247l-26.08467,0.10603z"/></g></g><text transform="translate(123.79263,283.89989) scale(1.16743,1.16743)" font-size="40" xml:space="preserve" fill="#ffffff" stroke-width="1" font-family="Serif" font-weight="normal" text-anchor="start"><tspan x="0" dy="0">Snake Game</tspan></text></g></g></svg><!--rotationCenter:134.5:141.5-->
|
After Width: | Height: | Size: 1.0 KiB |
BIN
programmieren/spiele/snake/screenshot01.png
Normal file
After Width: | Height: | Size: 718 KiB |
BIN
programmieren/spiele/snake/screenshot02.png
Normal file
After Width: | Height: | Size: 690 KiB |
51
programmieren/spiele/snake/snake.html
Normal file
@ -0,0 +1,51 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- saved from url=(0060)https://test.creative-crafter.de/programmieren/spiele/Snake/ -->
|
||||
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Snake Game</title>
|
||||
<style>
|
||||
body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #000; }
|
||||
canvas { border: 1px solid #fff; }
|
||||
#startScreen { display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: white; text-align: center; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<canvas id="gameCanvas" width="400" height="400"></canvas>
|
||||
<div id="startScreen" style="display: block;"><h1>Snake Game</h1><p>Press Space to Start</p></div>
|
||||
<script>
|
||||
const canvas = document.getElementById('gameCanvas'), ctx = canvas.getContext('2d'), startScreen = document.getElementById('startScreen');
|
||||
const gridSize = 20; let snake = [{ x: 200, y: 200 }], direction = { x: 0, y: 0 }, food = { x: 0, y: 0 }, gameOver = false, gameStarted = false;
|
||||
|
||||
const getRandomFoodPosition = () => ({ x: Math.floor(Math.random() * (canvas.width / gridSize)) * gridSize, y: Math.floor(Math.random() * (canvas.height / gridSize)) * gridSize });
|
||||
const drawRect = (x, y, color) => { ctx.fillStyle = color; ctx.fillRect(x, y, gridSize, gridSize); };
|
||||
const update = () => {
|
||||
if (gameOver) return;
|
||||
const head = { x: snake[0].x + direction.x, y: snake[0].y + direction.y };
|
||||
if (head.x < 0 || head.x >= canvas.width || head.y < 0 || head.y >= canvas.height || snake.some(segment => segment.x === head.x && segment.y === head.y)) {
|
||||
gameOver = true;
|
||||
location.reload(); // Reload the page when the game is over
|
||||
return;
|
||||
}
|
||||
snake.unshift(head);
|
||||
if (head.x === food.x && head.y === food.y) food = getRandomFoodPosition(); else snake.pop();
|
||||
};
|
||||
const draw = () => { ctx.clearRect(0, 0, canvas.width, canvas.height); snake.forEach(segment => drawRect(segment.x, segment.y, 'lime')); drawRect(food.x, food.y, 'red'); };
|
||||
const gameLoop = () => { update(); draw(); if (!gameOver) setTimeout(gameLoop, 100); };
|
||||
const resetGame = () => { snake = [{ x: 200, y: 200 }]; direction = { x: 0, y: 0 }; food = getRandomFoodPosition(); gameOver = false; gameLoop(); };
|
||||
|
||||
window.addEventListener('keydown', e => {
|
||||
switch (e.key) {
|
||||
case 'ArrowUp': case 'w': if (direction.y === 0) direction = { x: 0, y: -gridSize }; break;
|
||||
case 'ArrowDown': case 's': if (direction.y === 0) direction = { x: 0, y: gridSize }; break;
|
||||
case 'ArrowLeft': case 'a': if (direction.x === 0) direction = { x: -gridSize, y: 0 }; break;
|
||||
case 'ArrowRight': case 'd': if (direction.x === 0) direction = { x: gridSize, y: 0 }; break;
|
||||
case ' ': if (gameOver) resetGame(); else if (!gameStarted) { startScreen.style.display = 'none'; gameStarted = true; gameLoop(); } break;
|
||||
}
|
||||
});
|
||||
|
||||
food = getRandomFoodPosition();
|
||||
startScreen.style.display = 'block';
|
||||
</script>
|
||||
|
||||
</body></html>
|
387
programmieren/spiele/sweets-for-animals/index.html
Normal file
@ -0,0 +1,387 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Creative Crafter</title>
|
||||
<!-- Ladeanimation -->
|
||||
<script type="module" src="https://cdn.jsdelivr.net/npm/ldrs/dist/auto/quantum.js"></script>
|
||||
<!-- Stylesheet -->
|
||||
<style>
|
||||
@font-face { font-family: "Titillium"; src: url("/Titillium-Web-Regular.ttf"); }
|
||||
|
||||
body, html {
|
||||
font-family: 'Titillium';
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
|
||||
h1, h2 { text-align: center; }
|
||||
|
||||
/* Ladeanimation */
|
||||
.loader-container {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background-color: rgba(173, 216, 230, 0.8);
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.loading .loader-container { display: flex; }
|
||||
|
||||
/* Button-Style */
|
||||
.button-share {
|
||||
--white: #fff;
|
||||
cursor: pointer;
|
||||
background: linear-gradient(to bottom, #6e3bff, #7e51ff);
|
||||
color: #fff;
|
||||
border: 1px solid #af93ff;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
text-shadow: 0 2px 0 rgba(0, 0, 0, 0.25);
|
||||
box-shadow: 0 8px 10px -4px #503b89, 0 0 0 2px #562cce;
|
||||
font-size: 25px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 16px 32px; /* Doppelte Größe */
|
||||
border-radius: 8px;
|
||||
background: linear-gradient(to bottom, #007bff, #0056b3); /* Blau */
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.7);
|
||||
transition: all 0.2s;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 20px; /* Abstand zum oberen Inhalt */
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
box-shadow: 0 4px 8px rgba(0,0,0,0.6);
|
||||
}
|
||||
|
||||
.button:active {
|
||||
box-shadow: 0 0px 1px rgba(0,0,0,0.8);
|
||||
transform: scale(0.995);
|
||||
}
|
||||
|
||||
.button-text {
|
||||
font-weight: 600;
|
||||
color: white;
|
||||
font-size: 1.5em; /* Textgröße anpassen */
|
||||
}
|
||||
|
||||
.icon path.bm {
|
||||
stroke-dasharray: 3;
|
||||
stroke-dashoffset: 3;
|
||||
stroke-width: 1px;
|
||||
transform: translateX(-23px) translateY(16px) scale(2) rotate(-44deg);
|
||||
}
|
||||
|
||||
.icon-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 8px 10px;
|
||||
background-color: #fff;
|
||||
border-radius: 50%;
|
||||
box-shadow: inset 0 -2px 4px 0 #c6c6c6, 0 3px 6px rgba(0, 0, 0, 0.25);
|
||||
text-align: center;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.icon-container .icon {
|
||||
width: 25px;
|
||||
height: 30px;
|
||||
stroke: #592cd6;
|
||||
margin-top: -2px;
|
||||
z-index: 4;
|
||||
/* Für das Teilen-Icon die Rotation entfernen */
|
||||
}
|
||||
|
||||
.content {
|
||||
pointer-events: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 1;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
padding: 4px;
|
||||
gap: 16px;
|
||||
border-radius: 7px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.letters {
|
||||
transition: all 0.3s ease;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
.letters span {
|
||||
display: block;
|
||||
color: transparent;
|
||||
position: relative;
|
||||
left: 6px;
|
||||
animation: letterShow 1.2s ease backwards calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.letters span::before, .letters span::after {
|
||||
content: attr(data-label);
|
||||
position: absolute;
|
||||
color: var(--white);
|
||||
text-shadow: -1px 1px 2px var(--purple-500);
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.letters span::before {
|
||||
opacity: 0;
|
||||
transform: translateY(-100%);
|
||||
}
|
||||
|
||||
.button:hover .letters span::before {
|
||||
animation: letterShow 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
.button:hover .letters span::after {
|
||||
opacity: 1;
|
||||
animation: letterHide 0.7s ease calc(var(--i) * 0.03s);
|
||||
}
|
||||
|
||||
@keyframes letterShow {
|
||||
0% { transform: translateY(50%); opacity: 0; filter: blur(20px); }
|
||||
20% { transform: translateY(70%); opacity: 1; }
|
||||
50% { transform: translateY(-15%); opacity: 1; filter: blur(0); }
|
||||
100% { transform: translateY(0); opacity: 1; }
|
||||
}
|
||||
|
||||
@keyframes letterHide {
|
||||
0% { transform: translateY(0); opacity: 1; }
|
||||
100% { transform: translateY(-70%); opacity: 0; filter: blur(3px); }
|
||||
}
|
||||
|
||||
/* Modal-Stile */
|
||||
.modal {
|
||||
display: none;
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
.modal-content {
|
||||
background-color: #fefefe;
|
||||
margin: 15% auto;
|
||||
padding: 20px;
|
||||
border: 1px solid #888;
|
||||
width: 80%;
|
||||
max-width: 400px;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.close {
|
||||
color: #aaa;
|
||||
float: right;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.close:hover,
|
||||
.close:focus {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.social-icons a img {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.social-icons a img:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Ladeanimation -->
|
||||
<div class="loader-container">
|
||||
<l-quantum size="90" speed="1.75" color="black"></l-quantum>
|
||||
</div>
|
||||
|
||||
<h1><img src="/icons/Controller.png" height="150"><br/>Creative Crafter</h1>
|
||||
<h1>Sweets for Animals</h1>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/sweets-for-animals/logo.png" width="250">
|
||||
</div>
|
||||
<br/>
|
||||
<div align='center'>
|
||||
<!-- Spielen-Button -->
|
||||
<button class="button" onclick="window.location.href=`/programmieren/spiele/sweets-for-animals/sweets-for-animals.html`">
|
||||
<div class="button-inner">
|
||||
<span class="button-text"><img src="/icons/playbutton.png" alt="Icon" style="width:20px; height:20px; margin-right:5px;"> Play</span>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
</a>
|
||||
<br/><br/>
|
||||
<!-- Neuer Teilen-Button -->
|
||||
<button class="button-share" onclick="openSharePopup()">
|
||||
<div class="icon-container">
|
||||
<svg viewBox="0 0 24 24" fill="none" class="icon">
|
||||
<!-- Teilen-Icon -->
|
||||
<path d="M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"></path>
|
||||
<polyline points="16 6 12 2 8 6"></polyline>
|
||||
<line x1="12" y1="2" x2="12" y2="15"></line>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="letters">
|
||||
<span data-label="S" style="--i:0;">S</span>
|
||||
<span data-label="h" style="--i:1;">h</span>
|
||||
<span data-label="a" style="--i:2;">a</span>
|
||||
<span data-label="r" style="--i:3;">r</span>
|
||||
<span data-label="e" style="--i:4;">e</span>
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Popup-Fenster zum Teilen -->
|
||||
<div id="shareModal" class="modal">
|
||||
<div class="modal-content">
|
||||
<span class="close" onclick="closeSharePopup()">×</span>
|
||||
<h2>Share with:</h2>
|
||||
<div class="social-icons">
|
||||
<a href="#" onclick="shareViaWhatsApp()">
|
||||
<img src="/icons/whatsapp.svg" alt="WhatsApp" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaPinterest()">
|
||||
<img src="/icons/pinterest.svg" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaTelegram()">
|
||||
<img src="/icons/telegram.svg" alt="Telegram" />
|
||||
</a>
|
||||
<a href="#" onclick="shareViaEmail()">
|
||||
<img src="/icons/email.svg" alt="E-Mail" />
|
||||
</a>
|
||||
<!-- Kopieren -->
|
||||
<a href="#" onclick="copyToClipboard()">
|
||||
<img src="/icons/copy.svg" />
|
||||
</a>
|
||||
<!-- Weitere Sharing-Optionen kannst du hier hinzufügen -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br/><br/><br/>
|
||||
<div align='center'>
|
||||
<img src="/programmieren/spiele/sweets-for-animals/sweetsforanimalscake.png" height="250">
|
||||
<img src="/programmieren/spiele/sweets-for-animals/sweetsforanimalsdonut.png" height="250">
|
||||
</div>
|
||||
|
||||
<!-- JavaScript für Ladeanimation und Teilen-Funktion -->
|
||||
<script>
|
||||
// Ladeanimation beim Laden der Seite anzeigen
|
||||
document.body.classList.add('loading');
|
||||
// Ladeanimation entfernen, wenn die Seite vollständig geladen ist
|
||||
window.addEventListener('load', () => {
|
||||
document.body.classList.remove('loading');
|
||||
});
|
||||
|
||||
// Funktion zum Öffnen des Popup-Fensters
|
||||
function openSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "block";
|
||||
}
|
||||
|
||||
// Funktion zum Schließen des Popup-Fensters
|
||||
function closeSharePopup() {
|
||||
document.getElementById("shareModal").style.display = "none";
|
||||
}
|
||||
|
||||
// Teilen via WhatsApp
|
||||
function shareViaWhatsApp() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/sweets-for-animals/');
|
||||
const url = 'https://api.whatsapp.com/send?text=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via Telegram
|
||||
function shareViaTelegram() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/sweets-for-animals/');
|
||||
const url = 'https://t.me/share/url?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/sweets-for-animals/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
function shareViaPinterest() {
|
||||
const media = encodeURIComponent('URL_ZU_DEINEM_BILD'); // Ersetze dies durch den tatsächlichen Bild-Link
|
||||
const text = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/sweets-for-animals/');
|
||||
const url = 'https://pinterest.com/pin/create/button/?url=' + text + '&media=' + media;
|
||||
window.open(url, '_blank');
|
||||
}
|
||||
|
||||
// Teilen via E-Mail
|
||||
function shareViaEmail() {
|
||||
const subject = encodeURIComponent('Sweets for Animals');
|
||||
const body = encodeURIComponent('Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/sweets-for-animals/');
|
||||
window.location.href = 'mailto:?subject=' + subject + '&body=' + body;
|
||||
}
|
||||
|
||||
function copyToClipboard() {
|
||||
const text = 'Check out this fantastic game!https://test.creative-crafter.de/programmieren/spiele/sweets-for-animals/';
|
||||
navigator.clipboard.writeText(text).then(function() {
|
||||
alert('Text wurde in die Zwischenablage kopiert!');
|
||||
}, function(err) {
|
||||
alert('Fehler beim Kopieren in die Zwischenablage: ', err);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Schließt das Popup bei Klick außerhalb des Inhalts
|
||||
window.onclick = function(event) {
|
||||
const modal = document.getElementById('shareModal');
|
||||
if (event.target == modal) {
|
||||
closeSharePopup();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
Before Width: | Height: | Size: 963 KiB After Width: | Height: | Size: 963 KiB |
Before Width: | Height: | Size: 6.0 MiB After Width: | Height: | Size: 6.0 MiB |
Before Width: | Height: | Size: 6.0 MiB After Width: | Height: | Size: 6.0 MiB |