Ah stimmt, Java hat's ja nicht so mit Funktionszeigern/Delegaten/ähnlichen Konstrukten.
Ah stimmt, Java hat's ja nicht so mit Funktionszeigern/Delegaten/ähnlichen Konstrukten.
--CortiWins GitHub DynRPG < Charguide < [2k3] Zahlen und Werte < [2k3] Kurven als Wertetemplates < [2k3] DynRPG Werkstatt
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Hello from the otter side
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Delegaten hat Java aber doch o.o Nur nicht nach Definition von C/C++. Man löst das dann halt über Interfaces oder so. Allerdings wünschte ich mir oft eine Methode direkt angeben zu können.
Man muss btw nicht von einem Thread erben. ein Thread Objekt stellt ein Runnable bereit allerdings kann man auch sein eigenes angeben (etwa im C'Tor). Man muss also nicht immer gleich vererben wenn man nur einen kurzen Task ausführen will.
@Topic
Ich arbeite gerade an WebAudio Kram für CrossCode. Ich glaube das ist die Beste Audio API die ich bisher hatte. Für Spiele ist es eben nicht nur wichtig einen Sound abzuspielen oder ein Musikstück (So wie das viele Engines eben tun, also für Spiele), sondern nutzt ein Graphen über den ein Sound/Musikstück bis zum "Destination"-Knoten wandert. dadurch ist es super einfach global volume oder effekte einzubauen. Stellt euch vor ihr habt einen Track der sich mit der Umgebung anpasst. Halt wie bei Zelda. Das ist mer API relativ einfach möglich. Man nimmt einfach die einzelnen Instrumente und spielt alles gleichzeitig ab, dann faded man zwischen den Instrumenten schön hin und her.
Bei Firefox scheint auch in "naher" Zukunft was zu kommen: https://wiki.mozilla.org/WebAudio_API_Rollout_Status
Edit: Oh, wobei, Nightly 23 ist ja schon verfügbar![]()
--"Banjo, you're a BEAR... and I will teach you... THESE MOVES!"
Geändert von Cepanks (11.05.2013 um 15:30 Uhr)
Das schönste was ich je mit C verzapft hatte war eine Rekursion ohne Rekursionsanker, Prozesse quasi-rekursiv zu forken und innerhalb einer Rekursion nach dem Allozieren von Speicher das Freigeben zu vergessen .
Alles schöne Sachen die man erst zur Programmzeit merkt, weil die Speicher- und Prozessorauslastung recht schnell in die Höhe geht.
Was ich auch immer wieder lustig finde, ist wenn man in C/C++ mit Pointern in Arrays rum stochert, statt über den Index zu zu greifen.
Das schrägste was ich mal in einem Quellcode gesehen habe war folgendes:
Programmiersprache war da Java, einfach schlechter Programmierstil. Was man nicht braucht, sollte man auskommentieren oder gleich entfernen, sonst wird das Kompilat bei schlechten Compilern größer.
Ich hab mir die Tage das Retro BASIC Sonderheft zugelegt. Ich bin zwar totaler ein programmier Analphabet, aber ich habe so eben mein erstes Listing in meinen MSX getippt^^
![]()
Leider endete der 2. Screen in einer Fehlermeldung, was mich veranlasst hat meinen Code mit dem aus dem Heft und dem vom Ursprungsposting zu vergleichen. Und siehe da! Ich hab meinen ersten Code debuggt*g der Fehler lag darin, dass wo bei mir und im Heft
steht,
hätte stehen müssen.
Jedenfalls bin ich neugierig wie das Ergebniss sein wird wenn ich korrigierte Fassung eingebe.
Ziel des ganzen ist übrigens ein Spiel bei dem man am oberen Bildschirmrand seine Spielfigur nach links und rechts steuern kann und den von unten etgegenscrollenden Sternen ausweichen muss. Je länger man durchhält desto höher ist die Punktzahl und es ist möglich die Spielfeldbreite einzustellen.
Für die Neugierigen, hier ist der Originalpost
http://www.msx.org/forum/development...msx-basic-game
Schon Schade, dass das alles vor meiner Zeit war. Ich hätt da bestimmt Spaß dran gehabt^^
Das erinnert mich an die ganze Abtipperei auf dem C64
Für Menschen jüngeren Alters: Früher veröffentlichen Programmier-Magazine ihre Programme per Quellcode in Papierform, die man dann abtippen musste.
Es gab dann die Möglichkeit die Programme auf einer Diskette/Datasette zu bestellen. Später gab es dann zwei Ausführungen des Magazins. Entweder mit Diskette oder ohne. Die mit Diskette war dann deutlich teurer.
Irgendwo müsste ich noch ein Buch für den C64 haben, mit Spielen zum Abtippen. ^^
Wollte jetzt keinen extra Thread dazu aufmachen, aber ich habe diese Aufgabe hier gekriegt:
Ich soll das hier nachbearbeiten, hab ich gemacht und war natürlich falsch. Ich habe sowas definiert:
Bei interessen habe ich einfach einen String eingegeben den man auch in der Gruppe finden soll, damit es einfacher ist die Gruppe mit den meisten Spielern zu finden. Prof. Assisten schrieb mir:
"Das Attribut "Interesse" in der Datenstruktur "Gruppe" abzufragen, ist der falsche Ansatz." Ja was wäre den der richtige Ansatz...?
Das Attribut "Interessen" an der Gruppe ist ja kein Indikator dafür, ob es nun die Gruppe ist, mit den meisten Personen, die die Interesse "Spiele" haben.
Das Attribut kann höchstens nur zur besseren Übersichtlichkeit dienen, welche Gruppen überhaupt welche Interessen besitzen, damit eine Person diese Gruppe auch findet.
Man kann ja aber dennoch eine Gruppe erstellen, die die Interesse "Spiele" besitzt, aber keine Person in dieser Gruppe hat in seinem eigenen Profil "Spiele" als Interesse angegeben.
Um nun herauszufinden, welche Gruppe die meisten Personen besitzt, die als Interesse "Spiele" besitzt, musst du nun durch die Liste der Mitglieder iterieren, und die Personen zählen, welche diese Interesse besitzt.
Darüber hinaus ist das Attribut "anzMitglieder" redundant und fehleranfällig. Die Anzahl der Mitglieder ergibt sich schon aus der Liste der Mitglieder. "anzMitglieder" ist in dem Sinne Fehleranfällig, weil dieses Attribut jedes Mal aktualisiert werden muss, wenn eine Person sich aus der Gruppe ein- oder austrägt. Diese Implementierung vergisst man schnell im Eifer des Gefechts, oder man muss ein Datenbank-Korrektur-Script ausführen, das dies nicht beinhaltet, und schon hat man inkonsistente Daten.
Das Attribut "Alter" würde ich auch gegen "Geburtsdatum" austauschen, da sich das Alter jedes Jahr ändert. Geburtsdatum hingegen nicht und daraus lässt sich ja bekanntermaßen das Alter berechnen
Das Geburtsdatum ließe sich ja auch über die Unix Time als Integer abbilden. (Vorausgesetzt man ist nicht früher als 1.1.1970 geboren ^^)
Geändert von Whiz-zarD (21.11.2014 um 08:52 Uhr)
Microsoft hat auf der derzeit stattfindenden Build 2015 den Code-Editor Visual Studio Code, u.a. auch für Linux und OS X, vorgestellt. Damit wollen sie die Cross-Plattform-Entwicklung weiter vorantreiben. Dies ist aber ein reiner Editor und keine Entwicklungsumgebung mitsamt Compiler. Kompilieren müsste man dann schon selber (z.B. mit Mono wer C# unter Linux verwenden möchte). Da der Code-Editor aber nicht nur C# versteht, sondern mehrere Sprachen (darunter auch PHP, Python, JavaScript, HTML, CSS) könnte der Editor auch für Webentwicklung eingesetzt werden. Für JavaSript gibt es sogar eine IntelliSense-Unterstützung, und für ASP.NET 5- und Node.js Applikationen gibt es auch Debugging-Möglichkeiten.
Ja in Safari.
Ich bin immer dafür die neuen Sachen zu pushen. Es stört mich schon das andere Browser bestimmte Sachen so langsam implementieren aber es ist nur eine Frage der Zeit.
Edit:
Bei Firefox ist immer alles geplant xD Aber vllt wollen sie auch erstmal die JavaScript Execution verbessern. Die ist in Chrome imho am Besten.
@Deamonic
Mh, eigentlich unterstützt Chrome die volle WebAudio API. Nicht nur "teilweise". Aber es kann auch daran liegen das die ChromeDevs immer noch sagen das es "beta" ist.
Bei Blink geht es primär um um das Rendering (von Grafiken). Mit Audio hat das wenig zu tun, Zumal die WebAudio API ein Standard ist. Das ist nichts webkit spezifisches. Für dich als Entwickler bleibt wohl alles gleich. Es wird immer noch den Präfix webkit geben. Vllt markieren sie es auch als deprecated und man soll in Zukunft blink als Präfix verwenden. werden wir ja in den kommen Wochen sehen.
Es wird keinen blink-Präfix geben. Blink wird neue Features über versteckte Konfigurationsparameter stellen. Du mußt also in deinem Browser einschalten, daß er Feature XYZ verwenden soll. Sobald die Spezifikation für das Feature von W3C als fertig definiert wird und Blink diese Spezifikation voll unterstützt, wird das Feature dann standardmäßig aktiviert. (Zum Zeitpunkt des Forks bereits existierende webkit-Angaben werden allerdings weiter unterstützt.)
Mit anderen Worten: Wir kommen endlich aus der aktuellen Situation raus, wo alle möglichen Leute in ihren Webseiten Kram verwenden, der noch gar nicht fertig spezifiziert ist, aber dank webkit- in Chrome schon mehr oder weniger läuft. Bonuspunkte, wenn die finale Syntax dann abweicht. Doppelte Bonuspunkte, wenn man so geil war und für keine andere Engine Präfixe angegeben hat, weil zu dem Zeizpunkt kein anderer Browser das Feature hatte. Vendor prefixes waren für ihre Zeit eine gute Idee, aber Webkititis hat dem Web als Plattform doch eher geschadet.
Jo wie gesagt 'vllt'. Hab jetzt nicht so genau da rein gelesen. Zumal mir das eigentlich auch egal ist so lange das Feature funktioniert. Ist auch kein Problem das als Entwickler zu ändern finde ich. Das ist ne Sachen von einige Minuten. Ich hab nichts dagegen wenn Browser einheitlich namen für ihre Features haben. Dann hat man nicht mehr diese dummen abfragen in denen Vendor-Präfixe abfragt![]()
Gut, du kannst einfach keine Präfixe verwenden; dann verzichtest du halt auf das Feature, bis es fertig ist. So funktioniert's in Zukunft mit Blink.
Oder du benutzt -prefix-free, dann ist das auch kein Problem.
https://jira.mongodb.org/browse/PYTHON-532
HilfeZitat
![]()