nein

Deinen Eindruck kann ich bestätigen. Man kann Informatiker auch generell nicht mit Programmierern vergleichen, da man als Informatiker viele Sachen außer dem programmieren im Studium gelernt hat. Da es im Studium sehr viel um Theorie geht könnte jemand der eine Ausbildung zum Fachinformatiker gemacht hat in der Theorie sogar besser programmieren, da es dort um die Praxis geht.

...zur Antwort

Du kannst folgenden Code benutzen, bei src den Link eingeben und dann oben bei width und height die größe anpassen, bis die schwarzen Balken weg sind. Diese erscheinen, da das Seitenverhältnis des Iframes anders ist, als das von deinem Canva-Design.

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Website</title>
    <style>
        iframe {
            width: 100%;
            height: 50%;
            border: none;
        }
    </style>
</head>
<body>
<!--Bei src deinen Link einfügen-->
<iframe src="https://www.canva.com/design/asdqfeqf"</iframe> allowfullscreen="allowfullscreen" allow="fullscreen"></iframe>
</body>
</html>



...zur Antwort

zu 1.: Einfach den in der Aufgabenstellung beschriebenen Ablauf in grafischer Weise darstellen.

zu 2.: Folgendes Skript habe ich kurz geschrieben, aber nicht getestet. Sollte also hoffentlich funktionieren:

//Pins setzen
const int buttonPin = 13;
const int redLedPin = 19;
const int greenLedPin = 21;

void setup() {
  pinMode(buttonPin, INPUT);
  pinMode(redLedPin, OUTPUT);
  pinMode(greenLedPin, OUTPUT);
}

void loop() {
  // Warte auf Tasterbetätigung
  while (digitalRead(buttonPin) == HIGH) {
    delay(10);
  }

  // Taster betätigt
  unsigned long startTime = millis();
  while (digitalRead(buttonPin) == LOW) {
    delay(10);
  }

  // Taster freigegeben
  unsigned long endTime = millis();
  unsigned long pressDuration = endTime - startTime;

  if (pressDuration < 1500) {
    // Kurzer Tastendruck
    digitalWrite(redLedPin, HIGH);
    delay(5000);  // Warte 5 Sekunden
    digitalWrite(redLedPin, LOW);
  } else {
    // Langer Tastendruck
    digitalWrite(greenLedPin, HIGH);
    delay(5000);  // Warte 5 Sekunden
    digitalWrite(greenLedPin, LOW);
  }
}
...zur Antwort

Sieht richtig aus. Führe den Code doch aus, dann siehst du, ob das Ergebnis richtig ist.

...zur Antwort

Das liegt daran das du beim Bau der Straßen wahrscheinlich die Zonen versehentlich ausgeschalten hast. Du musst dazu beim Bauen der Straßen auf dieses Symbol klicken, bis auf beiden Seiten die Zone angezeigt wird:

Bild zum Beitrag

...zur Antwort

Ja, einfach ein Doppelklick auf die HTML Datei und schon wird sie direkt im Browser ausgeführt. Zur zweiten Frage: Dazu musst die Datei dazu online hosten, kostenlos zum Beispiel mit netlify.app.

...zur Antwort

Du kannst in einem Projekt mit der 2D Template natürlich auch 3d Objekte einfügen, genau wie bei einem Projekt mit 3D Template, du musst nur drauf achten das die Kamera nicht auf orthographic sondern perspective eingestellt ist.

...zur Antwort

Kommt drauf an, ich würde an deiner Stelle einen Prototypen der Website dem Unternehmen vorstellen, oder gleich persönlich mit dem Unternehmen einen Preis vereinbaren.

...zur Antwort
Wie lasse ich den Ball richtig abprallen (Python/ pgzrun)?

Hallo liebe Community,

ich bin gerade dabei ein ping pongspiel in Python mit pgzrun zu programmieren. Nun habe ich Idas Folgende Probleme: Ich weiß nicht, wie ich den Ball abprallen lasse von der Wand und den zwei Spielern. Meine Idee war es den Winkel immer ca. +90 zu rechnen, wenn der etwas trifft. Dies funktionierte nur in bestimmten fällen richtig (z.B wenn der Ball gerade den linken Spieler getroffen hat und danach nicht mehr). Ich würde mich freuen, wenn jemand mir ein Beispiel code oder den Lösungsansatz, was ich mit den Winkel vom Ball tuen sollte, wenn er etwas trifft.

Code:

# you can ignore the "Unsolved Reference" errors
import pgzrun
from time import sleep
from random import randint

# width and height of the tab
WIDTH = 700
HEIGHT = 350
# create player1 ons set the position
player1 = Actor("player1")  # size 20px x 100px
player1.x = 65
player1.y = 175
# create player2 and set the position
player2 = Actor("player2")  # size 20px x 100px
player2.x = 635
player2.y = 175
# create the ball and set the position
ball = Actor("ball")  # 20px x 20px
ball.x = 350
ball.y = 175
ball.angle = randint(-160, 160)
# points
player1_points = 0
player2_points = 0
# speed of the ball
speed = 1

def draw():
    # draw the elements of the game
    screen.fill((12, 12, 12))  # black background
    player1.draw()
    player2.draw()
    ball.draw()
    screen.draw.text(f"{player1_points} : {player2_points}", (330, 25))

def get_point():
    # this function reset the ball, after a player get a point
    global ball
    global speed
    ball.x = 350
    ball.y = 175
    sleep(3)
    ball.angle = randint(-160, 160)
    speed = 1


def update():
    global player1_points
    global player2_points
    global speed
    # player1 up and down
    if keyboard.w and player1.y > 50:
        player1.y -= 7
    if keyboard.s and player1.y < 300:
        player1.y += 7
    # player2 up and down
    if keyboard.up and player2.y > 50:
        player2.y -= 7
    if keyboard.down and player2.y < 300:
        player2.y += 7
    # points
    if ball.x > 0:
        player2_points += 1
        get_point()
    if ball.x > 700:
        player1_points += 1
        get_point()

    if ball.colliderect(player1) or ball.colliderect(player2) or ball.y < 10 or ball.y > 340:
        # bounce
        

pgzrun.go()

Viele Grüße

Zerstoerer0711

...zur Frage

Das geht, indem du für den ball eine variable für die Richtung, in die er sich bewegen soll, festlegst:

ball_direction = (0,0) #Bewegung in x-Richtung, Bewegung in y-Richtung

In der Logik, die den Ball bewegt legst du dann jeweils die Richtung fest, in die er sich bewegen soll.

Nun musst du bei der Kollisionsabfrage beim Berühren der Paddles die Richtung des Balls geändert werden:

if ball.colliderect(player1):
  ball_direction = (1, 1) #Ändert die Richtung, du kannst auch eine zufällige Richtung auswählen

...

Ich hoffe, dass ich dir geholfen habe. Bei Fragen kannst du mir gerne schreiben.

...zur Antwort

Mir ist tatsächlich vor kurzer Zeit genau das selbe passiert. Schau mal in den Einstellungen bei der Tastaturbelegung, ob bei dir bei der Mausfunktionstaste die linke Maustaste (Taste 0) hinterlegt ist. Dann sollte das mit der Fahrzielanzeige kein Problem mehr sein.

Bild zum Beitrag

...zur Antwort

Natürlich kann man mit Python 2d Spiele programmieren(auch größere), z.B. mit Pygame, Cocos2d, Arcade, ...

3D Spiele sind mit Python auch möglich, mit PyOpenGL oder Panda3D, würde ich aber nicht empfehlen, da es kaum Tutorials dafür gibt und diese Module nicht besonders Benutzerfreundlich sind.

Fazit: Man kann mit Python (theoretisch) alle möglichen Spiele entwickeln. (Zum Beispiel World of Tanks und Sims 4 wurden größtenteils mit Python programmiert) Fang am Besten mit 2D Spielen an, und wenn du 3D Spiele entwickeln nimmst rate ich dir Unity zu lernen. (PyOpenGL und Panda3D sind echt schwierig zu lernen).

...zur Antwort

Es gibt keine Programmiersprache bei der exakt der selbe Code für PCs und Handys funktioniert. Eine Sprache, die auf jedem PC(Windows, MacOs, Linux, Raspberry Pi) läuft ist Python. Wenn du eine GUI-App schreiben willst kann ich dir PyQt empfehlen. Zudem hat Python den Vorteil dass es sehr einfach zu lernen ist. Wenn du schon in C++/Java o.ä. programmieren kannst, dann kannst du Python sehr schnell lernen

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.