Webprojekte

Ich programmiere vor allem unter Linux, nutze aber auch ab und zu Windows für bestimmte Aufgaben. Meine Leidenschaft für das Programmieren geht über die Erstellung einfacher Webseiten hinaus. Ich erstelle Projekte, die mehr als nur statische Seiten bieten.

HTML, PHP und JavaScript sind die Sprachen, die mich am meisten interessieren. Ich habe auch begonnen, mich mit C++ zu beschäftigen, was eine spannende Herausforderung darstellt. Besonders spannend finde ich es, Datenbanken zu erstellen und mit ihnen zu arbeiten, um umfangreiche und dynamische Webanwendungen zu entwickeln.

Ein weiteres Thema, das mich interessiert, ist die Sicherheit im Internet. Ich achte darauf, dass meine Webprojekte sicher sind und dass Daten, die über das Netz übertragen werden, geschützt sind. Dazu gehört die Implementierung von Sicherheitsmassnahmen wie HTTPS, Datenverschlüsselung und Schutz vor gängigen Angriffen.

1. Der Chat

Der Chat besteht aus einem einfachen Nachrichtensystem, das es den Nutzern ermöglicht, Nachrichten zu senden und diese anzuzeigen. Alle gesendeten Nachrichten werden in einer Textdatei gespeichert. Zusätzlich werden Nachrichten mit einer Zeitstempel versehen, um den Verlauf nachvollziehbar zu machen.

Funktionsweise:

Hier ist ein Beispielcode, der für die Chat Funktionalität verantwortlich ist:

<?php
$message = $_POST['message'];
$ip = $_SERVER['REMOTE_ADDR'];
$timestamp = date("Y-m-d H:i:s");
$file = fopen("messages.txt", "a");
fwrite($file, "$timestamp - $ip: $message\n");
fclose($file);
?>

Und hier ist der HTML Code, um eine Nachricht zu senden:

<form method="POST">
<label for="message">Nachricht:</label>
<input type="text" id="message" name="message" required />
<button type="submit">Senden</button>
</form>

In diesem Code Snippet sehen wir:

2. Das Spiel

Das Space Shooter Spiel ermöglicht es dem Spieler, ein Raumschiff zu steuern, das auf Feinde schiesst. Der Spieler muss die Feinde abschiessen, bevor diese das Raumschiff erreichen. Das Spiel nutzt das HTML5 Canvas Element und JavaScript für die Spiellogik und das Zeichnen von Elementen auf dem Bildschirm.

Funktionsweise:

Hier ist der grundlegende JavaScript Code für das Spiel:

const canvas = document.getElementById('gameCanvas');
const ctx = canvas.getContext('2d');
const ship = { x: canvas.width / 2, y: canvas.height - 50, width: 50, height: 30, color: 'white' };
const projectiles = [];
const enemies = [];

canvas.width = window.innerWidth;
canvas.height = window.innerHeight;

// Bewege das Raumschiff mit der Maus
canvas.addEventListener('mousemove', function(event) {
ship.x = event.clientX - ship.width / 2;
});

// Schießen
canvas.addEventListener('click', function() {
projectiles.push({ x: ship.x + ship.width / 2, y: ship.y, width: 5, height: 10, color: 'red' });
});

function gameLoop() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
// Raumschiff zeichnen
ctx.fillStyle = ship.color;
ctx.fillRect(ship.x, ship.y, ship.width, ship.height);

// Schüsse bewegen
projectiles.forEach(function(projectile) {
projectile.y -= 5;
ctx.fillStyle = projectile.color;
ctx.fillRect(projectile.x, projectile.y, projectile.width, projectile.height);
});

// Feinde bewegen
enemies.forEach(function(enemy) {
enemy.y += 2;
ctx.fillStyle = 'green';
ctx.fillRect(enemy.x, enemy.y, 40, 40);
});

requestAnimationFrame(gameLoop);
}
gameLoop();