snake
This commit is contained in:
		| @ -88,9 +88,14 @@ | |||||||
|         </div> |         </div> | ||||||
|         <div class="category"> |         <div class="category"> | ||||||
|             <div class="category-title">Sweets for Animals</div> |             <div class="category-title">Sweets for Animals</div> | ||||||
|             <div class="category-description">Tap the cat for cakes, bunny for donuts</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> |             <a href="/programmieren/spiele/sweets-for-animals">Mehr erfahren</a> | ||||||
|         </div> |         </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> |     </div> | ||||||
| </body> | </body> | ||||||
| </html> | </html> | ||||||
|  | |||||||
							
								
								
									
										387
									
								
								programmieren/spiele/snake/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										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
									
								
							
							
						
						
									
										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
									
								
							
							
						
						
									
										
											BIN
										
									
								
								programmieren/spiele/snake/screenshot01.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 718 KiB | 
							
								
								
									
										
											BIN
										
									
								
								programmieren/spiele/snake/screenshot02.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								programmieren/spiele/snake/screenshot02.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 690 KiB | 
		Reference in New Issue
	
	Block a user
	 matt
					matt