Space Invaders WE Projekt
Space Invaders WE Projekt
..weil ich Space Invaders schon immer cool fand, habe ich ein paar freie Stunden genutzt, etwas ähnliches zusammenzuhämmern.
Ist nichts Beonderes, das ganze Spiel wird über einen 40ms Timer verarbeitet.
Also bitte nichts perfektes, großartiges, große Programmierkunst oder ähnliches erwarten... Quick & Dirty
Ich habe 9 Level eingebaut, wobei in die Einstellungen der Level keine große Zeit eingeflossen ist.
Es handelt sich bei den Level Einstellungen um eine Liste Parameter (im Programm leicht erweiterbar!), welche Einfluß auf die Anzahl Defens (Bunker), Anzahl Aliens,
Anzahl Schüße, Geschwindigkeiten der Gun und des Alien Mutterschiff haben usw.
Bisschen kommentiert habe ich es... kleines bisschen
Cursor "<" und ">" für GUN Steuerung
Leertaste zum Feuern (oder Cursor UP, falls die Leertaste durch ist )
STRG-S schaltet den Sound ab
STRG-P hält den Spielverlauf an (Pause)
STRG-? Cheat Mode, wobei es NICHT das "?" ist!
ESC beendet Level und auch das Spiel
Zusätzlich kann man das Programm sich automatisch an anderen Programmen positionieren lassen, falls man es als Easteregg verwenden möchte.
Hierzu in der Variable "ExternesProgramm" die Caption des externen Programm angeben und evtl. die Positionen zu diesem Programm anpassen.
Man sollte dann aber den FormStyle auf fsSystemStayOnTop verwenden!
Einfach mal so alles abballern unter WIN
Edit: Mittlerweile habe ich Compilerschalter eingebaut und es erfolgreich für Linux i386, ARM Hardfp und Win i386 kompiliert. Läuft also auch auf einem Raspi
Ich habe die Komponente "UniqueInstance" und DCPCrypt verwendet! Lässt sich über OnlinePackageManager installieren.
ShapeCorner, ein TShape mit "runden Ecken", wobei die Rundung einstellbar ist. Ansonsten alles von der Stange; Lazarus default. Es muss allerdings FPC >= 3.2 sein, da ich DELETE für Arrays einsetze.
Falls ihr es mögt, hinterlasst eine Nachricht und vielleicht hat jemand Lust bekommen, sich an einem Horizontal Scroll Spiel zu versuchen?
(Copyright Datei BASS liegt bei, Pictures und Music frei verfügbar)
Update: 23.12.2021
Sourcen jetzt auf GIT
https://github.com/six1/SpaceInvaders.git
Ist nichts Beonderes, das ganze Spiel wird über einen 40ms Timer verarbeitet.
Also bitte nichts perfektes, großartiges, große Programmierkunst oder ähnliches erwarten... Quick & Dirty
Ich habe 9 Level eingebaut, wobei in die Einstellungen der Level keine große Zeit eingeflossen ist.
Es handelt sich bei den Level Einstellungen um eine Liste Parameter (im Programm leicht erweiterbar!), welche Einfluß auf die Anzahl Defens (Bunker), Anzahl Aliens,
Anzahl Schüße, Geschwindigkeiten der Gun und des Alien Mutterschiff haben usw.
Bisschen kommentiert habe ich es... kleines bisschen
Cursor "<" und ">" für GUN Steuerung
Leertaste zum Feuern (oder Cursor UP, falls die Leertaste durch ist )
STRG-S schaltet den Sound ab
STRG-P hält den Spielverlauf an (Pause)
STRG-? Cheat Mode, wobei es NICHT das "?" ist!
ESC beendet Level und auch das Spiel
Zusätzlich kann man das Programm sich automatisch an anderen Programmen positionieren lassen, falls man es als Easteregg verwenden möchte.
Hierzu in der Variable "ExternesProgramm" die Caption des externen Programm angeben und evtl. die Positionen zu diesem Programm anpassen.
Man sollte dann aber den FormStyle auf fsSystemStayOnTop verwenden!
Einfach mal so alles abballern unter WIN
Edit: Mittlerweile habe ich Compilerschalter eingebaut und es erfolgreich für Linux i386, ARM Hardfp und Win i386 kompiliert. Läuft also auch auf einem Raspi
Ich habe die Komponente "UniqueInstance" und DCPCrypt verwendet! Lässt sich über OnlinePackageManager installieren.
ShapeCorner, ein TShape mit "runden Ecken", wobei die Rundung einstellbar ist. Ansonsten alles von der Stange; Lazarus default. Es muss allerdings FPC >= 3.2 sein, da ich DELETE für Arrays einsetze.
Falls ihr es mögt, hinterlasst eine Nachricht und vielleicht hat jemand Lust bekommen, sich an einem Horizontal Scroll Spiel zu versuchen?
(Copyright Datei BASS liegt bei, Pictures und Music frei verfügbar)
Update: 23.12.2021
Sourcen jetzt auf GIT
https://github.com/six1/SpaceInvaders.git
Zuletzt geändert von six1 am Do 23. Dez 2021, 12:03, insgesamt 14-mal geändert.
Gruß, Michael
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Space Invaders WE Projekt
+1
Ev. Github oä. für die Sourcen?
Ev. Github oä. für die Sourcen?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Space Invaders WE Projekt
Geht das auf Linux?
Wo gibt es Package NewShape bzw. Unit ShapeCorner? Kann ich nicht finden.
Danke.
Wo gibt es Package NewShape bzw. Unit ShapeCorner? Kann ich nicht finden.
Danke.
Re: Space Invaders WE Projekt
Ahhgrrr.. NewShape habe ich mal selbst gezimmert... normales Shape mit abgerundeten Ecken (Rundung einstellbar)...
Habe es oben eingefügt.
Ich denke, es sollte auf Linux laufen, wenn du die BASS Librarys ins /usr/lib legst. Musst du dir auf der BASS Seite runterladen
https://www.un4seen.com/
Habe es oben eingefügt.
Ich denke, es sollte auf Linux laufen, wenn du die BASS Librarys ins /usr/lib legst. Musst du dir auf der BASS Seite runterladen
https://www.un4seen.com/
Zuletzt geändert von six1 am Sa 27. Feb 2021, 19:23, insgesamt 2-mal geändert.
Gruß, Michael
Re: Space Invaders WE Projekt
OK, Danke.
Kompiliert so direkt leider nicht auf Linux (uses Windows).
FindWindow etc..
Kompiliert so direkt leider nicht auf Linux (uses Windows).
FindWindow etc..
Re: Space Invaders WE Projekt
Ok, es liegt bestimmt daran:
kommentiere Windows in den Uses aus
Nimm die ganze Routine raus:
procedure TForm1.PositionWindow;
Kommentiere folgendes aus:
MessageBox(0,'An incorrect version of BASS.DLL was loaded',nil,MB_ICONERROR);
kommentiere Windows in den Uses aus
Nimm die ganze Routine raus:
procedure TForm1.PositionWindow;
Kommentiere folgendes aus:
MessageBox(0,'An incorrect version of BASS.DLL was loaded',nil,MB_ICONERROR);
Gruß, Michael
Re: Space Invaders WE Projekt
Ja,. hab's soweit hingekriegt.
Allerdings gab es in der lpr noch "jwawinGDI" und AddFontResourceEx. Habe ich ersatzlos gestrichen.
BASS_Init mit Nil statt "Handle".
In die uses noch LCLIntf, LCLType dann läuft's.
MessageBox kann man drin lassen.
Danke!
EDIT: Die "Assets" muss man sich bei der Source Zip noch holen vom Program Zip und die Pfade (Backslashes) noch anpassen, damit es tönt:
EDIT2: Yes, ist fast wie früher....
Allerdings gab es in der lpr noch "jwawinGDI" und AddFontResourceEx. Habe ich ersatzlos gestrichen.
BASS_Init mit Nil statt "Handle".
In die uses noch LCLIntf, LCLType dann läuft's.
MessageBox kann man drin lassen.
Danke!
EDIT: Die "Assets" muss man sich bei der Source Zip noch holen vom Program Zip und die Pfade (Backslashes) noch anpassen, damit es tönt:
Code: Alles auswählen
f := PChar(extractfilepath(application.exename)+'Assets/Audio/01-opening-theme.mp3');
-
- Beiträge: 732
- Registriert: Di 23. Aug 2016, 14:25
- OS, Lazarus, FPC: Windows 11
- CPU-Target: 64Bit
- Wohnort: Berlin
Re: Space Invaders WE Projekt
C O O L . . . mit Sounds
mir gefällt es sehr, erinnert mich an alte Zeiten.
Siro
mir gefällt es sehr, erinnert mich an alte Zeiten.
Siro
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...
-
- Beiträge: 168
- Registriert: Di 29. Okt 2019, 12:51
- Wohnort: Deutschland , Baden-Württemberg
Re: Space Invaders WE Projekt
Wenn Du bedingte Kompilierung verwendest
Code: Alles auswählen
{$ifdef LINUX}
{$else}
{$endif}
Host: Core i7-12700H, NVIDIA RTX3050 6GB, 32GB Ram, 1TB NVME SSD mit KUbuntu 22.04LTS 64bit , VM KUbuntu 22.04 LTS 64bit mit Lazarus 3.0.0 und Cross-Platform Compiler für Linux 32/64bit und Windows 32/64bit. Wine für erste Tests der Windows Binarys.
Re: Space Invaders WE Projekt
...schon klar... bin gerade dabei das für Linux i386 und Arm zu fixen.
War ja ursprünglich nur für Win10 gedacht
War ja ursprünglich nur für Win10 gedacht
Gruß, Michael
Re: Space Invaders WE Projekt
Ok, ich habe die Bedingungen alle drin und Binaries für Linux ARM (RASPI HardFloat), Linux i386 und Windows 32 Bit gleich dazu gepackt.
Bei der RASPI ARM Version einfach aus beiliegendem Verzeichnis BASSArm unter HardFP die Dateien in /usr/lib kopieren (sudo!)
Sind wie üblich ein paar graphische Anpassungen zu tätigen... aber läuft auf Raspi
Der obige Souren Link enthält alles, incl. Binaries...
Edit: und die Slashes habe ich nun auch korrigiert
Bei der RASPI ARM Version einfach aus beiliegendem Verzeichnis BASSArm unter HardFP die Dateien in /usr/lib kopieren (sudo!)
Sind wie üblich ein paar graphische Anpassungen zu tätigen... aber läuft auf Raspi
Der obige Souren Link enthält alles, incl. Binaries...
Edit: und die Slashes habe ich nun auch korrigiert
Gruß, Michael
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Space Invaders WE Projekt
Hi!
Wenn das man erlaubt ist. Das macht süchtig!
Und dann kam der Atari ST und mit ihm ein neues Universum:
Starglider
Mit guter Graphik und sehr gutem Sound.
Man wollte zeigen was der Atari so kann.
Überall in den Büros waren sie dabei, das Universum zu retten!
Winni
Wenn das man erlaubt ist. Das macht süchtig!
Und dann kam der Atari ST und mit ihm ein neues Universum:
Starglider
Mit guter Graphik und sehr gutem Sound.
Man wollte zeigen was der Atari so kann.
Überall in den Büros waren sie dabei, das Universum zu retten!
Winni
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Space Invaders WE Projekt
Hi!
Leerer String beim Eintrag in die Hall of Fame ergibt ne Exception.
Winni
Leerer String beim Eintrag in die Hall of Fame ergibt ne Exception.
Winni
Re: Space Invaders WE Projekt
ups... kann ich leider nicht nachvollziehen...
wäre gut, wenn du das heraus bekommst, woran es liegt.
Falls ja, teile mir bitte mit, woran es lag, damit ich es einpflege.
wäre gut, wenn du das heraus bekommst, woran es liegt.
Falls ja, teile mir bitte mit, woran es lag, damit ich es einpflege.
Gruß, Michael
-
- Beiträge: 576
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 2.2.6
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: Space Invaders WE Projekt
Danke für das Spiel.
Da mein Laptop auf 125% Anzeige steht habe ich erst nix gesehen von den Invaders.
Bei 100% funktioniert aber Tadellos.
Da mein Laptop auf 125% Anzeige steht habe ich erst nix gesehen von den Invaders.
Bei 100% funktioniert aber Tadellos.
LG Maik
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)