Domino 9 und frühere Versionen > ND9: Entwicklung
Sommerloch - Arcanoid mit Notes :-) - jetzt mit Spiel !
iukhdh:
Liebes Forum,
aus einer Bierlaune heraus bin ich immer wieder mal am grübeln, wie ich Notes als Spielekonsole vergewaltigen könnte :-)
Folgende Idee:
Einfache Datenbank mit sagen wir 25 Dokumenten, von oben nach unten durchnummeriert und danach sortiert.
Angezeigt wird nur ein Feld, sagen wir mit der Länge von 40 Zeichen, welches je nach Zeile von oben nach unten so gestaltet ist, dass sich ein Spielfeld ergibt, also z.B. in dieser Form (verkleinert dargestellt)
--- Code: ---# xxxx xxxx #
# #
# o #
# _____ # (= Zeile 25)
--- Ende Code ---
# ist der Spielfeldrand
xxx sind die abzuschiessenden Hindernisse
o ist der Ball
___ ist der Schläger
Mit zwei Aktionsbuttons (links oder rechts) ist es ein leichtes, den Schläger nach links oder rechts rutschen zu lassen, indem man je nach Button die Leerzeichen vor dem Schläger um eins erhöht oder verringert, und so den Wert des Feldes anpasst.
Funktioniert.
Nun bräuchte ich eine Idee, wie ich den Ball fliegen lasse.
Grundsätzlich denke ich an eine Matrix (25,40) bei der ich den Ball hin und her schiebe, das ist mit variablen Winkeln eine Sache mit SIN und COS, und umwandeln der einzelnen Matrixwerte.
Wenn der Ball also nach oben fliegt, ist er in dem einen Zeitabschnitt z.B. bei Punkt 20,20, beim nächsten dann bei 19,20 ...
Entsprechend werden dann die einzelnen Felder in den entsprechenden Zeilen berechnet, die Ansicht aktualisiert - fertig :-)
Aber:
Wo programmiere ich das? Ich dachte im ersten Moment an einen Agenten, der in einem gewissen Zeitabstand x die Berechnungen durchführt. Da man die Agenten aber nicht im Sekundenabstand laufen lassen kann, wäre das ganze etwas lahm.
Wo dann? Im Datenbankscript?
Gibt es irgendwo die Möglichkeit, Code dauerhaft im Hintergrund ablaufen zu lassen, und nicht nur zu bestimmten Anlässen, wie z.B. im Queryopen Event?
Ich brauche letztlich eine Schleife um a) den Schläger zu bewegen, b) den Ball zu bewegen und dabei c) auf Kollision mit Hindernis oder Spielfeldrand zu reagieren.
Ich bin gespannt auf Ideen und Anregungen. Und falls schon jemand sowas realisiert hat, her damit :-)
Thomas
jBubbleBoy:
Nette Idee :)
Mit einem NotesTimer kann im Sekundentakt Code ausgeführt werden, aber ich würde das ganze in einer Maske mit einer Tabelle umsetzen. In der Maske kann mit JavaScript ein Refresh in Millisekundenbereich durchgeführt werden (AutoReload setzen nicht vergessen), zudem dürfte das Script schneller laufen und aktualisieren als Code in einer View mit mehreren Dokumenten.
iukhdh:
An die Maske mit Tabelle hab ich auch schon gedacht und mal mit einer 10 x 10 Tabelle angefangen.
Aber irgendwie kam mir das dann doch nicht nerdig genug vor, irgendwie scheint mir die Vergewaltigung einer Ansicht weitaus witziger
:)
OK, Stichwort lautet also NotesTimer. Muss ich mir anschauen
iukhdh:
OK,
NotesTimer im Sekundentakt tut zwar schon ansatzweise das, was ich will, aber doch (gääähn) recht langsam :-)
Wird wahrscheinlich ein seeeeehr gemütliches Spiel ;D
Aber zum Erarbeiten der Grundlagen auf jedenfall mal ganz OK :-) Der Ball fliegt schonmal bis zum Rand und wieder zurück, nun kommen die Feinarbeiten.
Falls jemand eine Idee hat, wie man etwas schneller eine Ansicht aktualisieren kann, wäre ich dankbar :-)
Hmm, kann man zwei Notestimer nebeneinander starten? ggf um 0,5 sec versetzt?
jBubbleBoy:
2 oder mehr Notestimer werden sich schwer synchronisieren lassen ;)
Da wird man um einen JS Timer nicht drum herum kommen, damit wäre die Maske der Favorit und letztendlich wäre das mit einer eingebetteten Ansicht realisierbar oder mittels Frameset, aber das müsste man noch evaluieren.
Mein Favorit wäre nach wie vor die Tabelle. Große Tabellen lassen sich recht einfach und fehlerfrei via DXL Manipulation/Generierung erstellen. Vielleicht kann man eine Schnittstelle schaffen die beides unterstützt? Wenn ja würde ich die Tabelle übernehmen 8)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln