C64 Basic - ein digitales Feuerwerk auf dem C64

Поділитися
Вставка
  • Опубліковано 8 лип 2024
  • Silvester steht vor der Tür und um das zu feiern, habe ich ein digitales Feuerwerk in C64 Basic programmiert...
    0:00 Intro
    1:35 Start der Programmierung
    3:35 Testposition bestimmen
    8:25 Funkenpositionen berechnen
    26:23 Feuerwerk Explosion ausgeben
    35:23 Eine Rakete abschießen
    58:41 Böllersound
    59:54 Das Gewehrschussprogramm abtippen
    1:05:02 Den Gewehrschuss analysieren
    1:08:44 vom Gewehrschuss zum Böller
    1:16:15 Den Böllersound ins Programm einbinden
    1:27:28 Abschließender Test
    Meine Kaffeekasse: streamelements.com/n3rdroom/tip
    viel Spaß!
    Discord: / discord
    Links:
    Web: www.n3rdroom.de
    Twitch: / n3rdroom
    Instagram: / n3rdroom
    TikTok: / n3rdroom
    Facebook: / n3rdroom
    #C64 #Basic #Programmieren #Retro
  • Наука та технологія

КОМЕНТАРІ • 63

  • @C64
    @C64  6 місяців тому +2

    Im Video sage ich das DIM FP(3,10) nur Werte zwischen 0 und 2, bzw. 0 und 9 zulässt. Dies ist natürlich falsch! Es sind Werte zwischen 0 und 3, bzw. 0 und 10 möglich. Ich dimensioniere also eine Zahl zu hoch. Korrekt wäre: DIM FP(2,9) um 3 und 10 verschiedene Werte zu speichern. 🙈😉

  • @8BitFlo
    @8BitFlo 3 роки тому +5

    Ganz ehrlich, dein Kanal ist Gold wert.
    Ich habe ein Jahr darauf gewartet dass jemand auf deutsch mal Basic erklärt.
    Vorallem auch ruhig und angenehm wie du das macht.
    Da könnte ich wirklich noch mal überlegen Basic zu lernen.
    Letztes Jahr im Sommer schlief das alles bissi ein bei mir, da mir einfach Quellen zum Lernen fehlten.
    Ich kann fast kein Englisch und da nützen mir Videos von englischsprachige n UA-camrn nichts.
    Bitte mach weiter =)

    • @C64
      @C64  3 роки тому

      Schön das die Videos Dir helfen. :-)
      Basic lernen ist ja nicht so schwer... und es macht Spaß. Zu mindest mir... ;-)
      Schau auch gern mal auf Discord vorbei: discord.com/invite/4g74TJV

  • @m.thephilosopher
    @m.thephilosopher Рік тому +1

    Ich hatte in den 80er auch nen C64. Hab ein Computer Heft bekommen wo ein "Programm" für den 64er drin war zum aptippen. 5 gerammelt volle Seiten wirre Zeichen, stundenlang abgetippt nur um für 5 Sekunden nen " Hubschrauber" der von der oberen linken Ecke in die Ecke unten rechts gefolgen ist. Und man war noch stolz drauf 😄. Die Kids heute würden einem auslachen.

    • @C64
      @C64  Рік тому

      Ja, die Faszination des neuen war schon groß, und die Möglichkeit auch alleine ein vollwertiges Spiel zu entwickeln das am Puls der Zeit ist. Heute kann man auch kleine Programme und Spiele allein programmieren, aber so spektakulär wie der Hubschrauber damals ist das dann heute nicht mehr... 😅

  • @timgeorg484
    @timgeorg484 3 роки тому +3

    Einen guten Rutsch! Das Video hat mir einen sehr ungewöhnlichen Silvesterabend verkürzt. Vielen Dank dafür und alles Gute fürs neue Jahr!

    • @C64
      @C64  3 роки тому +1

      Hallo Tim, schön das es Dir heute eine Beschäftigung gegeben hat. Dann hat sich das Video schon bezahlt gemacht. :)
      Einen guten Rutsch wünsche ich!

  • @cyberghot6902
    @cyberghot6902 2 роки тому +2

    yes c64 commands i fin interresting

  • @RaptureMusicOfficial
    @RaptureMusicOfficial 3 роки тому +3

    48:27 was für ein Wahnsinns-Feuerwerk! Und der Blick dabei, genial! :D Echt schönes Basic-Coding mal wieder! :)

    • @C64
      @C64  3 роки тому +1

      Schön das es Dir gefallen hat. Du machst doch auch Musik, oder? Kennst Du Dich mit dem SID gut aus? :-)

    • @RaptureMusicOfficial
      @RaptureMusicOfficial 3 роки тому

      @@C64 Ja ich mache Musik, allerdings in Cubuase, auf dem C64 habe ich viel Musik und auch eigene Spiele in Activision's Game Maker gemacht. :) SID Chip programmierung, puh, da bin ich raus :D Aber ich habe in den 90ern eine ganz cooles Soundtool in Basic gebastelt, mit dem man allerhand anstellen konnte, sogar eigene Sounddaten auf Diskette speichern (mit dem OPEN Befehl, nicht mit LOAD/SAVE in Basic). Ich habe viele Diskette digitalisieren lassen, nur den SID Editor nicht, was sehr schade ist! Den hättest Du total als Vorlage für ein tolles SID Basic Tool für ein Video von Dir nehmen können. Die Diskette habe ich noch, allerdings weiss ich nicht auf welcher es drauf ist...

  • @Lofote
    @Lofote 11 місяців тому +1

    DIM FP(3,10) lässt von FP(0,0) bis FP(3,10) alles zu. Also ja: er beginnt bei 0, aber der Endwert selbst ist auch noch erlaubt, hört also in dem Beispiel nicht bei FP(2,9) auf ;)...
    PS Das Geräusch von deinem Becher beim öffnen und Schließen ist ja mal geil :-D
    Ansonsten saugeiles BASIC-Progrämmchen :)

  • @machtnix1863
    @machtnix1863 3 роки тому +3

    Boah alle Pixel daumen hoch 👍👍👍👍
    War das eine schöne Zeit 🕰
    Wo noch jede kleinste Grafik und Effekt gefeiert wurden 👑🥇

    • @C64
      @C64  3 роки тому +1

      Ja das stimmt... es macht aber immer noch Spaß sowas zu programmieren... ;)

    • @machtnix1863
      @machtnix1863 3 роки тому +1

      @@C64 👑👍

  • @leftengelmann
    @leftengelmann Рік тому

    Sehr genial erklärt!

  • @achimboers
    @achimboers 3 роки тому +1

    Súper Video zum Jahreswechsel!! Wünsche einen guten Rutsch, Gruss aus Sydney...

    • @C64
      @C64  3 роки тому

      Vielen Dank, Dir auch einen guten Rutsch! :)
      Lebst Du in Sydney?

    • @achimboers
      @achimboers 3 роки тому

      @@C64 nur zum Arbeiten... ein Par Jährchen..

    • @C64
      @C64  3 роки тому

      @@achimboers Ein paar Jährchen sind ja schonmal was. :-D
      Was arbeitest Du denn?

    • @achimboers
      @achimboers 3 роки тому

      @@C64 arbeite bei Prosegur, Geldtransport....

  • @mein-biedenkopf
    @mein-biedenkopf Рік тому +1

    Ichbin mir ziemlich sicher, dass bei mir das Handbuch vom C64 fast doppelt so dick war und mit Mettallringen gebunden war (da 100%ig sicher), was es sehr gut nutzbar machte. Das verklebte Zeugs bricht irgendwann weil man es ständig in der Hand hat.

    • @C64
      @C64  Рік тому

      Genau, die ersten c64 hatten ein mit Ringen gebundenes Handbuch. Das was ich hab ist vom c64c. Die geklebten fallen echt leicht auseinander. 🙈

  • @axemanracing6222
    @axemanracing6222 2 роки тому +1

    Hatte mir früher mal die Mühe gemacht, ein Sprite zu animieren. Also Kästchen ausmalen, Werte zusammenrechen und als DATA code eingeben. Habe im Unterricht ;-) die Kästchen gemalt und die Werte errechnet und zu Hause alles eingetippt. Hat ne Woche gedauert und am Ende war das Ergebnis zwar da, aber für mich unbefriedigend. Ab da war mir klar, welche Arbeit dahinter steckt, ein ordentliches Spiel zu programmieren.

    • @C64
      @C64  2 роки тому

      Was? In der Schule unterrichtsfremde Dinge erledigt? Wer macht denn sowas?!? 😲🤭

  • @Christian-Drackert
    @Christian-Drackert 3 роки тому

    Cool gemacht!

    • @C64
      @C64  3 роки тому +1

      🙂

  • @BeatMax2023
    @BeatMax2023 3 роки тому

    Hehe das zerfledderte Handbuch. Das kenn ich auch das Problem ;) Ist aber schon etwas her. Habs letztens noch entdeckt. Da kommen Erinnerungen hoch. Wieder ein schönes Tutorial!

    • @C64
      @C64  3 роки тому +1

      Ja, der Zustand des Buchs ist schon ziemlich schlecht... Aber man kann es noch lesen. 😅

    • @BeatMax2023
      @BeatMax2023 3 роки тому

      @@C64 Ich hab meinen alten C64 auch noch. Angefangen hab ich mit nem VC20. Beide Tastaturen sind übrigens miteinander tauschbar ;) Assembler hat sich mir nie wirklich erschlossen, vielleicht war ich aber auch noch zu jung dafür ;)

    • @C64
      @C64  3 роки тому +1

      @@BeatMax2023 Ich war damals definitiv zu jung für Assembler... Hab die Zusammenhänge mit der Hardware nicht verstanden und dann war die C64 Zeit auch schon vorbei... 😅

    • @BeatMax2023
      @BeatMax2023 3 роки тому

      @@C64 Ich finds echt faszinierend was die Kiste damals schon konnte verglichen mit den heutigen Computern.

  • @sven1421
    @sven1421 3 роки тому

    Sieht mir dem Sternsymbol * (42) auch gut aus ... ;) Danke für den würdigen Knaller-Ersatz, den ich morgen im kleinen Kreis auf dem TheVIC20 starten werde!!!

    • @C64
      @C64  3 роки тому +1

      Hallo Sven! Mit Stern hab ich's garnicht probiert. :-D
      Mache ich mal... Oder man könnte auch die Zeichen Stern, Greis und unausgefüllter Kreis zufällig mischen, bzw. im ersten Abstand Kreisen, im zweiten unausgefüllte Kreise und im dritten dann Sterne machen...
      Ich glaub das versuch ich später mal. :-)

    • @sven1421
      @sven1421 3 роки тому

      Gute Idee! ... Und einen Guten Rutsch schonmal!

    • @C64
      @C64  3 роки тому

      Wünsche ich Dir auch! :-)

  • @ingomeulendijks9045
    @ingomeulendijks9045 5 місяців тому

    Goed uitgelegd, 🎉 groeten uit Holland

  • @RaptureMusicOfficial
    @RaptureMusicOfficial 3 роки тому +1

    Guten Rutsch ins Neue Jahr! :-)

    • @C64
      @C64  3 роки тому +1

      Hehe, viel Spaß beim krachen lassen und einen guten Rutsch! 😅

    • @RaptureMusicOfficial
      @RaptureMusicOfficial 3 роки тому

      @@C64 Danke! Ich hoffe Du hattest ebenso einen guten Rutsch! :)

  • @RaptureMusicOfficial
    @RaptureMusicOfficial 3 роки тому

    P.S. Ich wollte Dich noch etwas fragen, was ich schon lange wissen wollte: In Basicprogrammen kann man ja bekanntermaßen nicht einfach mit LOAD ein Basicprogramm nachladen, da dann der Speicherbereich des aktuellen im Speicher befindlichen Basic Programms überschrieben wird und dann der C64 abstürzt. Warum aber funktioniert es mit diesem eigenartigen "IF A = 0 THEN A=1:LOAD"bla",8"? Was hat das bitte mit A von 0 and 1 setzen zu tun, dass es dann funktioniert? Kannst Du das erklären? Viele Grüße! :)

    • @C64
      @C64  3 роки тому

      Hmm, wo hast Du das Beispiel denn her? Normalerweise geht das auch so nicht. :-o
      Allerdings stürzt der Computer beim Nachladen normalerweise nicht ab, es ist einfach das alte Programm dann nicht mehr im Speicher... Da müsste ich mal selber mit rumexperimentieren...

    • @RaptureMusicOfficial
      @RaptureMusicOfficial 3 роки тому

      @@C64 Das Beispiel gibt es in zahllosen Programmen, die ich in den 80ern und 90ern eingeladen habe und mich immer gewundert habe, wie das funktionieren soll. Wäre genial, wenn Du dazu ein eigenes Video machst, und dieses Beispiel vielleicht auch aufzählst, und ausprobiert, ob der C64 abschmiert, wenn Du in einer Basiczeile ein weiteres Programm mit Load"Beispiel",8 nachlädst... meines Wissens nach schmiert der C64 dann in dem geladenen Programm ab, sobald Du es mit LIST auflistest und in einer Programmzeile Return drückst, probiers mal aus! Müsste eigentlic auch ein witziges Video werden, bin schon gespannt! :D

    • @RaptureMusicOfficial
      @RaptureMusicOfficial 3 роки тому

      @@retrogamer7ties Das klingt ja cool! und ja es ist ärgerlich dass die Directory das Basic Programm überschrieben hat... hätte man auch anders lösen können wie man sieht. Hast Du das Programm noch?

    • @Lofote
      @Lofote 11 місяців тому

      Das ganze geht nur mit LOAD"bla",8,1, womit Assemblerprogrammteile, Sprites und sonstige Daten in ANDERE Speicherbereiche als BASIC geladen werden. Das A ist notwendig, weil nach LOAD das Programm in der ersten Zeile wieder beginnt, aber da der Variablenspeicher nicht gelöscht wird dabei, verhindert er damit, dass er dauerhaft den selben LOAD Befehl immer macht.

    • @RaptureMusicOfficial
      @RaptureMusicOfficial 11 місяців тому +1

      @@Lofote Achso, stimmt, das macht Sinn! Danke für die Erklärung!

  • @Heiko_Jantz
    @Heiko_Jantz 3 роки тому

    Gibt's beim C64 auch Funktionen wie z. B. in C/C++? Dann bräuchte man kein gosub.

    • @C64
      @C64  3 роки тому +1

      Nein, Funktionen kann das Basic in der Version noch nicht. Es fehlen auch viele Komfort-Funktionen. Es gibt z.B. auch keine Befehle um Sprites, oder Sound direkt zu beeinflussen. Das muss man, wie auch im Soundteil dieses Videos zu sehen, alles per POKE direkt im Speicher erledigen...
      Der C64 kam 1982 raus... und die BASIC V2 Version ist auch aus dem Jahr und war noch etwas... sagen wir... spartanisch. ;-)

  • @Heiko_Jantz
    @Heiko_Jantz 3 роки тому

    Hi. Ich habe keinen richtigen C64. Ich habe Cloanto C64 Forever 8. Heute erst bekommen.
    Wie bekomme ich das mit Symbol q hin? Shift + q oder wie geht das?
    Wieso in Zeile 10 ?... ? Warum nicht einfach cls?
    Danke und LG
    Heiko

    • @C64
      @C64  3 роки тому

      Hallo Heiko, in C64 Basic gibt es den BEFEHL CLS nicht. Es kann sein, das er in späteren BASIC Versionen kam...
      Der Kreis geht mit SHIFT + Q. Ich weis aber nicht ob das bei dem Cloanto C64 auch so geht. Ich habe eine C64 Tastatur am PC angeschlossen. Da sind die Symbole drauf... :-D

    • @Heiko_Jantz
      @Heiko_Jantz 3 роки тому

      Wenn ich Shift q drücke, kommt doch nur ein Großbuchstabe Q raus.
      Habe nen Schneider CPC 6128-Emulator am Laufen. Da gibt es cls. Beim C64 kenne ich mich gar nicht aus.
      Spiele bischen mit Emulatoren rum.
      Woher hast Du die C64-Tastatur her und wie wird sie angeschlossen? USB?
      Welches Buch ist das? Im Internet diese schöne Page gefunden: www.homecomputerworld.com/literaturc64.html
      LG und gute Nacht,
      Heiko

    • @C64
      @C64  3 роки тому

      @@Heiko_Jantz Ich glaube beim Schneider CPC gibt es die Grafikzeichen nicht. Der C64 und verwandte Heimcomputer hatten einen speziellen Zeichensatz mit diesen Grafikzeichen. :-)
      Aber sicher hat der Schneider ein * Symbol, dann nimm das einfach. Allerdings werden die Pokes dort so auch nicht funktionieren...
      Ich benutze diese Tastatur: ua-cam.com/video/jb20UhbwyL8/v-deo.html
      Die funktioniert gut mit einem C64 Emulator, allerdings benötigst Du dazu ein C64 Gehäuse mit Tastatur...
      Da ist es wahrscheinlich sinnvoller einen TheC64 maxi anzuschaffen:
      ua-cam.com/video/UFMNKamSRVM/v-deo.html ;-)

  • @Bruchpilot77
    @Bruchpilot77 3 роки тому

    Der pfeifende Raketenaufstiegssound fehlt noch *zwinker*

    • @C64
      @C64  3 роки тому +1

      Oh ja! Du hast recht! Das hätte ich nun aber wirklich noch einbauen können... ;)
      Son Ärger... naja, da hab ich ja dann ende des Jahres noch was zu tun. :D

    • @Bruchpilot77
      @Bruchpilot77 3 роки тому

      @@C64 :D

  • @roishh
    @roishh Рік тому +1

    Zu Minute 14:50, Zufallszahlen kann man schon generieren. Das geht so ähnlich wie deine Variante hier mit:
    ZUFALLSZAHL=INT(HÖCHSTWERT*RND(1))+1
    Also zB.: NM=INT(9*RND(1))+1 erzeugt einen Wert zwischen 1 und 10
    Oh okay, sorry, ich sehe gerade, mein Kommentar ist hinfällig!
    ...weiter machen ^^

    • @C64
      @C64  Рік тому +1

      Kein Problem. 😉
      Ich bin immer für Tipps dankbar... Ich hab dann auch mal das Video zu dem Parameter der RND Funktion verlinkt an der Videostelle... Der Kommentar war also nicht umsonst. 😉😁
      ua-cam.com/video/3s_OGMTikxI/v-deo.html

    • @roishh
      @roishh Рік тому

      @@C64 ...nehm ich ^^
      *Wissen aufsaug* : )

  • @fliplefrog8843
    @fliplefrog8843 3 роки тому

    Von hinten durch die Brust ins Auge.
    0 P=1024....
    15 P=1444
    ??
    Wo die 'Pausen' wohl her kommen@Array

    • @C64
      @C64  3 роки тому +1

      Ich nenne es ... Kunst... 😂
      Naja, wenn man so aus dem Bauch heraus rumcodet hat man hinterher ne menge Optimierungspotenzial... 🤷‍♂️

    • @fliplefrog8843
      @fliplefrog8843 3 роки тому +4

      Hihi... Stimmt wohl..
      Darf ich ein bisschen klugsc*eissen?
      - Jede Schleife ist eine zuviel. Manchmal geht's nur nicht anders. Bei Dir schon. Die waren tripple-gemoppelt. ;D
      - Multiplikation, Division in Schleifen sind auch zu vermeiden. Kostet zuviel. Stattdessen mit realen X-,Y-Werten rechnen, und erst bei der Darstellung einmalig Y*40.
      - Konstanten nicht verändern (P)
      - Spruenge minimieren. Viel zu viele Gosubs.
      - Das Array war unnötig. Vielmehr hätte ich Data-Zeilen für Sinuskurve (Flugbahn Rakete u. Explosionen, Geschwindigkeit) und für den Sound in Arrays gepackt.
      - Beim Anzeigen/Darstellen die Koordinaten des letzten Schleifendurchlaufs zum Loeschen der alten Objekts benutzen.
      Aber das das sind nur Anregungen. Du machst, was Du machen willst! Und wenn es Spass macht, ist die Welt in Ordnung!
      LG, Andre

  • @salao9811
    @salao9811 3 роки тому +2

    du vertauscht x und y achse! x ist waagerecht

    • @C64
      @C64  3 роки тому +4

      Ja, das passiert mir ständig.. ich habe eine X-Y Schwäche... :D