Damit kann man gegen Computer spielen: let ctx = ca.getContext('2d'); let p1 = 80; let p2 = 200; let key = {}; let ball = { x: 360, y: 240, speedX: 3, speedY: 0 }; let aiSpeed = 2; document.addEventListener('keydown', e => key[e.keyCode] = true); document.addEventListener('keyup', e => key[e.keyCode] = false); draw(); setInterval(loop, 1000 / 60); function draw() { ctx.fillStyle = 'grey'; ctx.fillRect(0, 0, 720, 480); ctx.fillStyle = 'blue'; ctx.fillRect(10, p1, 10, 80); ctx.fillRect(700, p2, 10, 80); ctx.fillRect(ball.x, ball.y, 10, 10); requestAnimationFrame(draw); } function loop() { if (key[38]) { p2 = Math.max(p2 - 5, 0); } if (key[40]) { p2 = Math.min(p2 + 5, 400); } // Simple AI for player 1 (computer) if (ball.speedX < 0) { if (ball.y < p1 + 40) { p1 = Math.max(p1 - aiSpeed, 0); } else if (ball.y > p1 + 40) { p1 = Math.min(p1 + aiSpeed, 400); } } ball.x = ball.x + ball.speedX; ball.y = ball.y + ball.speedY; if (ball.x < 20 || ball.x > 690) { if (ball.y > p1 && ball.y < p1 + 80 && ball.speedX < 0) { ball.speedX = -ball.speedX; ball.speedY = (ball.y - p1 - 40) * 0.1; } if (ball.y > p2 && ball.y < p2 + 80 && ball.speedX > 0) { ball.speedX = -ball.speedX; ball.speedY = (ball.y - p2 - 40) * 0.1; } } if (ball.y < 0 || ball.y > 470) { ball.speedY = -ball.speedY; } if (ball.x < 0 || ball.x > 720) { ball = { x: 360, y: 240, speedX: ball.speedX < 0 ? 3 : -3, speedY: 0 }; } }
@Programmierenlernen
4 ай бұрын
Hammer, danke dir!! Habe ich direkt mal angepinnt! :)
@Martine4Schmidt
4 ай бұрын
Vielen Dank für das Video: richtig motivieren für Anfänger. Mir haben noch gefehlt: Die Erklärung der Syntax, d. h.: - was bedeuten "Komma", "die Klammer oder die Klammer" usw.? - warum lässt man manchmal "Leerzeichen" und manchmal nicht? Für einen Programmierer ist Javascript super einfach, für einen Novizen ist es eine völlig neue Kultur, die hier zu oft als selbstverständlich angenommen wird. - Zur bildlichen Darstellung von der Position des Elements hätte ich gern grafische Beispiele: Niveau "Anfänger"! - Zur bildlichen Darstellung von der Syntax hätte ich gerne Beispiele zum Vergleich von einem "Text" zum andere im Programm selbst.
@taresaki
2 ай бұрын
hatte Interesse als Programmierer, jetzt habe ich keine mehr. Danke fürs Video konnte immerhin feststellen das programmieren nix für mich ist.
@sabrinasauer1953
2 ай бұрын
😂
@Lilly_love877
3 ай бұрын
Cool danke ❤❤❤❤❤❤
@LofiCoding11
3 ай бұрын
Junus, wenn du dein VS Code noch verschönern möchtest, verwende das Material Icon und das One Dark Pro Theme. Diese Extensions helfen sehr dabei, den Quellcode zu verschönern.
@CrazyDaveFr
Ай бұрын
Er war ja nur aus Demonstrations Zwecken im VSCode Online, und da wäre es für den Ein oder Anderen verwirrend gewesen, wenn sein VSCode plötzlich ganz anders aussehen würde
@ExploitsHUB69
4 ай бұрын
Ab welchem Alter darf man bei euch zum Kurs beitreten wäre sehr interessiert bin 16 Jahre alt. L.G.
@user-bs8ku6cg9f
4 ай бұрын
du musst das aus eigener tasche privat bezahlen nur als info, falls das arbeitsamt die koste nicht übernimmt
@ExploitsHUB69
4 ай бұрын
@@user-bs8ku6cg9fdas geld ist nt das problem wollte nur wissen ob ich mit 16 im kurs teilnehmen darf.
@user-bs8ku6cg9f
4 ай бұрын
vielen dank für das video, sollten wir den komplexen teil am ende auch noch hinzufügen? oder wie war das gewollt?
@abce2zwz23sd4
3 ай бұрын
Moin, ich hätte eine frage und zwar bin ich dem ganzen video gefolgt und habe auch alles richtig abgetippt jedoch fliegt der ball bei dem linken spieler einfach durch. habe auch zum test einfach den fertigen script kopiert und trotzdem fliegt er beim linken spieler durch, beim rechten prallt der ball aber ab.
@benherbst3620
4 ай бұрын
Cooles Spiel!
@ChristopherKuprat
Ай бұрын
Hallo, Ich ein newbee und habe keine Ahnung warum mir dieses nicht angezeigt wird. id="ca" width="720" height="480" style="background-color: black;" let ctx = ca.getContext('2d'); draw(); function draw(){ ctx.fillStyle = 'white'; ctx.fillRect(10, 200, 10, 80); ctx.fillRect(700, 200, 10, 80); ctx.fillRect(360, 240, 10, 80); }
@Ludoo02
2 ай бұрын
Darf man fragen, warum du jetzt plötzlich vscode in der Browser Variante benutzt?
@Programmierenlernen
2 ай бұрын
Um es euch Zuschauern so einfach wie möglich zu machen. Geht schneller als etwas zu installieren. Langfristig würde ich immer die installierte Version nutzen.
@Ludoo02
2 ай бұрын
@@Programmierenlernen ah, okay. Hatte mich nur gefragt, weil du es sonst immer installierst.
@countdestroyer6935
3 ай бұрын
ich brauche Hilfe mein code den ich geschrieben habe ist komplett richtig geschrieben ich habe ihn mehrmals mit dem code in der Videobeschreibung verglichen und das spiel bzw. p1 nimmt den ball nicht an also er prallt ihn nicht ab was soll ich machen ?
@MotoxLife
3 ай бұрын
hab genau das selbe Problem. Auch wenn man mal den Code aus GitHub runterläd und laufen lässt, dann funktioniert es auch nicht. Ich denke das sich da irgendwo ein Fehler bei P2 untergeschlichen hat. Um den zu finden bin ich aber noch nicht gut genug ^^
@Thailanderleben
4 ай бұрын
Hi, Junus woher weist du welche Taste, welche Nummer hat? Es gibt ja Tastaturen mit und Ohne Nummernblock.
@kernel0verflow919
4 ай бұрын
Moin, wenn du das zu deinem Code hinzufügst, siehst du die Nummern: document.addEventListener(„keyup“, e => console.log(e.keyCode) Wenn du die Zeile hinzugefügt hast, und in deinem Browser einen Rechtsklick machst und auf Inspect gehst, um dir Entwicklertools zu öffnen, dann hast du rechts oder am unteren Rand ein neues Fenster. In dem Fenster steht irgendwo Konsole. Klick da drauf. Wenn du nun irgendeine Taste auf deiner Tastatur drückst, siehst du den Key Code auf der Konsole. LG
@Thailanderleben
4 ай бұрын
@@kernel0verflow919 Vielen Dank für den Tipp!
@_TechGA
4 ай бұрын
Haha nur bots. Cooles Video junus 👍
@Programmierenlernen
4 ай бұрын
Danke, wurden jetzt alle gelöscht. Hoffentlich bekommt KZitem das mal in den Griff!! 😄
@_TechGA
4 ай бұрын
Oh ja @Programmierenlernen
@LegtBombe
4 ай бұрын
Hallo ich habe ein Problem wenn ich mein Programm starte wird mir nur ein weißes Bild angezeigt kann wer mir weiter helfen
@user-bs8ku6cg9f
4 ай бұрын
ich hatte das auch, du musst das speichern und erneut öffnen
@LegtBombe
3 ай бұрын
Danke
@Mr_Ghost087
4 ай бұрын
👍
@Nitrode392
4 ай бұрын
Das ist das erste mal, dass ich eins deiner Videos geschaut, bzw. Reingezapped habe, rein aus Neugier um zu sehen wie du die Sache des beibringen angehst. Ich muss sagen, dass ich positiv überrascht bin und mir vorstellen kann, dass das absoluten Neuligen durchaus helfen kann. Trotzdem möchte ich eine Kleinigkeit anmerken oder auch nachfragen, vielleicht ist das aber auch out of scope. Mich würde interessieren wieso du keyCode verwendest (ist ja schon eine Weile deprecated)? Viele Grüße ein Kollege.
@hendel67338
2 ай бұрын
Bei mir taucht kein Viereck auf
@alexjoe1574
3 ай бұрын
Programm hat einen Fehler. Wenn p1 den Ball zurückspielen soll kann es vorkommen das p2 sich auf der selben Höhe wie p1 befindet und dann könne sich beide Bedingungen erfüllen. if (ball.y > (p1-10) && ball.y < (p1 + 80) && ball.speedX < 0){ .... } if(ball.y >(p2-10) && ball.y < (p2 + 80) && ball.speedX>0){ .... } Ich habe hier das 2. if durch ein else if ersetz if (ball.y > (p1-10) && ball.y < (p1 + 80) && ball.speedX < 0){ ball.speedX = -ball.speedX; ball.speedY = (ball.y - p1 -40)*0.1; } else if(ball.y >(p2-10) && ball.y < (p2 + 80) && ball.speedX>0){ ball.speedX = -ball.speedX; ball.speedY = (ball.y - p2 -40)*0.1; }
Пікірлер: 34