Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1828to1832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel RPG

Excel RPG
06.05.2021 14:22:44
Hallo
Hallo Herber-Forum.
Ich habe 2018 und 2020 an einem kleinen VBA Spiel gearbeitet, das nur über den VBA Code alle Inhalte generieren sollte. Durch dieses Projekt habe ich viel in Sachen Programmierung gelernt und mein Weg hat mich oft auch auf das Herber-Forum geführt.
Heute möchte ich gerne die aktuelle Version veröffentlichen. Man merkt ihr an, dass sie mit dem Verlauf des Projekts und dem Level meiner Programmierkenntnisse gewachsen ist (und nicht an jeder Stelle besonders sauber). Dennoch hat es mir viel Spaß gemacht und ich freue mich, die Grundversion des Spiels heute mit euch zu teilen. Ich hoffe, ihr habt auch ein wenig Freude damit.
Teilt mir gerne mit, wenn ihr es gespielt habt oder selbst verändert oder erweitert.
https://www.herber.de/bbs/user/146035.txt
Viele Grüße,
Andy

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nur eine weiter Veröffentlichung :-( (owT)
06.05.2021 14:27:34
EtoPHG

AW: Excel RPG
06.05.2021 17:18:08
onur
Und spielt man das in WordPad oder Word? Oder was soll man sonst mit der Txt-Datei machen?
das ist nicht fair ...
06.05.2021 17:46:48
lupo1
... denn TE hält sich damit an das ".xlsm-Verbot" (welches Du oft missachte(te)st, onur).
AW: das ist nicht fair ...
06.05.2021 18:10:54
onur
".xlsm-Verbot" ? Höre ich jetzt zum ersten Mal.
Wie soll denn ein Spiel ohne die zugehörige Datei inkl. Buttons, Userform usw funktionieren?
Du weißt doch, dass man keine .xlsm-Dateien ...
06.05.2021 18:23:45
lupo1
... anhängt. Deshalb "Verbot" in Gänse.
Mittlerweile ist es zwar nicht mehr so tragisch, da man nach Öffnen der Datei selbst bestimmen kann, ob Makros ausgeführt werden. Trotzdem ist es immer noch eine Unhöflichkeit. Wenn man ein .xlsm vorher ankündigt und sagt, nach bestem Gewissen ohne Viren, ist es ok.
sulprobil tut das sogar für .xlsx, wenn ich mich nicht irre.
Anzeige
AW: Du weißt doch, dass man keine .xlsm-Dateien ...
06.05.2021 18:59:48
onur
Früher wusste man ja nicht unbedingt, ob da Makros drin sind oder nicht, aber heutzutage erkennt man doch sofort an der Endung, dass die Datei höchstwahrscheinlich Makros enthält und kann notfalls sich immer noch entscheiden, die Datei NICHT runterzuladen.
dann müsste man ja lesen oder gar verstehen
06.05.2021 19:04:01
Daniel
was in dem Beitrag drin steht.
mache können das nicht, einige wollen das nicht.
Das ist doch gut so.
06.05.2021 19:23:34
lupo1
Jedenfalls kann keiner bei VBA-Code geliefert als .txt etwas Unbedachtes tun.
AW: Das ist doch gut so.
06.05.2021 19:36:52
onur
Schade - ich war schon neugierig auf das Spiel. und hätte die .xlsm runtergeladen.
Es ist nicht verboten, xlsm-Dateien hochzuladen
06.05.2021 19:39:50
Daniel
...
AW: Es ist nicht verboten, xlsm-Dateien hochzuladen
06.05.2021 19:41:14
onur
Ich weiss, aber "Hallo Welt!" hat es nun mal nicht getan.
AW: das ist nicht fair ...
07.05.2021 06:57:22
Klaus
Lupo, reines Interesse:
Ich bin seit über 12 Jahren hier. Und war einige Jahre davon SEHR aktiv. Aber von einem ".xlsm Verbot", ob jetzt in Gänsefüsschen oder nicht, habe ich noch nie gelesen - auch noch nie eine Beschwerde darüber. Nie. Und ich habe schon zu .xls Zeiten fleißig Dateien mit Makros hochgeladen, und es hat sich nie jemand beschwert.
Daher:
Wie zur Hölle kommst du darauf?
LG,
Klaus M.
Anzeige
Jetzt sind die Juristen wieder unterwegs ...
07.05.2021 07:48:17
lupo1
... und für die habe ich die Gänsefüßchen eingesetzt. Etwas Gegenteiliges kann man mir nicht nachweisen.
Wenn Du ein Jungspund von 12 Jahren Herber-oder-Foren-Beteiligung bist, dann weißt Du vielleicht nicht mehr, dass Excel-Makrodateien vor xl2007 (?) oder vor Vista (?) (ich weiß es einfach nicht mehr) einfach loslegten, als man sie öffnete.
Und ich habe hier mit meinen altersschwachen Augen schon die eine oder andere .xlsm geöffnet, was ich unterlassen hätte, hätte ich das ...m erkannt. Obwohl es heute nicht mehr so gefährlich ist, da man Makroausführung gestatten muss. Aber Du kennst das: Erst mal alle Hindernisse wegklicken und nicht nachdenken ... und schon ist es passiert.
Die Auflösung für alle, die es wieder zu genau nehmen: Nein, es gab nie ein Verbot. Aber früher wurde schon öfters geschrieen, wenn .xls-Dateien Makros enthielten. Daher sprechen wir vielleicht besser von einem "Gebot der Zurückhaltung" als einem Verbot, damit alle Gender-Sprachler und sonstigen Neuzeitler glücklich sind.
Das "Verbot" rührt auch da her, dass in den meisten Firmen VBA untersagt ist. Das ist, wie ich finde, durchaus ein respektabler Grund. Und daher gebietet die allgemeine Zurückhaltung, VBA-Dateien zu unterlassen oder Alternativen dazu anzubieten oder den Code in solchen erst manuell einsetzen zu müssen, oder ...
Mann! Darf man denn überhaupt nicht mehr sein Maul aufreissen? Reinhard Mey: "Irgendein Depp mäht immer ..."
Anzeige
AW: Jetzt sind die Juristen wieder unterwegs ...
07.05.2021 08:16:50
Klaus
Hey Lupo,
IIRC musste man die Makroausführung auch schon in xl2007 und deutlich früher explizit genehmigen. Hab aber (leider?) keine Version mehr da, in der ich das prüfen könnte. Wie gesagt - eine Beschwerde wegen Makros kam mir noch nie unter, im Gegenteil. Wenn es so wäre, hätte Hajo dafür ja auch einen entsprechenden Textbaustein angelegt, oder? :-) *SCNR*
Maul aufreißen (sic!) ist natürlich erlaubt, machen dann halt auch die anderen (wie ich). So ähnlich wie ein Echo.
Von Reinhard Mey empfehle ich eher das "Narrenschiff".
LG,
Klaus M.
AW: Jetzt sind die Juristen wieder unterwegs ...
07.05.2021 08:53:45
Daniel
meistens sind's die Narren, die immer ihr Maul aufreißen müssen
Anzeige
Du bist ein Kind des guten Tons vom 12.3.2021, ...
07.05.2021 10:04:52
lupo1
... den Hans da angemahnt hat.
AW: Excel RPG
06.05.2021 18:02:16
Daniel
Hi
was genau muss man jetzt mit dem Code tun?
dir ist schon klar, dass das nach einer Woche ins Archiv verschwindet und dann quasi "weg" ist?
Gruß Daniel
AW: Excel RPG
07.05.2021 06:49:06
Klaus
Hallo Andy,
du wirst wohl die ganze Datei hochladen müssen - der Code läuft sonst nur bis hier:

' Initial mapUpdate
Sheets("RPG_map").Range("B2:U21").Copy
und geht dann mit "Index ausserhalb des Bereichs" in den Fehler.
Mein Tipp: Erstelle ganz am Anfang alle Blätter die du brauchst auch per VBA-Code.
[EDIT]: Achso, ich muss "Worksheet Activate" starten, nicht "Initialise"!
Kurz über den Code geschaut ohne tief einzusteigen:

' Schaltet Ereignismakros und Blattschutz aus, damit Zellen ausgewählt und verändert werden dürfen
Application.ActiveSheet.Unprotect
Das ist unnötig! Du kannst den Blattschutz auch so setzen, dass "Mensch nein, VBA ja" ändern kann. Dann muss der nicht jedesmal an/ausgeschaltet werden.

' Inventar
Range("W2").ColumnWidth = 2 [...]
Hier hast du vergessen, mit Punkt-Range zu referenzieren. Oder ist das absicht, weil du direkt vorher ein Blatt kopiert hast das jetzt aktiv ist? Dann würde ich trotzdem "with ActiveSheet" einrücken, und wenn es nur für die Optik und durchgehenden Stil ist ....

'# SELECTION CHANGE
' Wenn die Auswahl geändert wird
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Das funktioniert nicht, da ich deinen ganzen Code natürlich in ein Modul geladen habe.

' Inventar
Sheets("RPG").Range("Y3").Value = muenzen
Sheets("RPG").Range("Z3").Value = herzen
Sheets("RPG").Range("X3").Value = Sheets("RPG_detail").Cells(19, 1 + Spielstand).Value
Sheets("RPG").Range("X4").Value = Sheets("RPG_detail").Cells(20, 1 + Spielstand).Value
Sheets("RPG").Range("X5").Value = Sheets("RPG_detail").Cells(21, 1 + Spielstand).Value
Sheets("RPG").Range("X6").Value = Sheets("RPG_detail").Cells(22, 1 + Spielstand).Value
Sheets("RPG").Range("X7").Value = Sheets("RPG_detail").Cells(23, 1 + Spielstand).Value
WITH Sheets("RPG") .....

If status = "c" Then
MsgBox "Nein, erst Rot fangen!", Title:=KIname
ElseIf status = "b" Then
MsgBox "Ah, du hast mich.", Title:=KIname
Call changeQuestCode("change", 7, "e")
ElseIf status = "e" Then
MsgBox "Du hast mich schon gefangen.", Title:=KIname
Hier bin ich nicht hingekommen. Ich kann mir aber vorstellen, dass die "Dialog"-MsgBox eher nervig wird. Mach doch lieber eine große verbundene Zelle auf dem "RPG" Sheet, mit rotem Rahmen und knalligem Hintergrund, in der die Dialoge gezeigt werden. Das hat dann so einen JRPG Flair, wie die alten "Secret of Mana".

' Karte zeichnen
' Rand
.Range("B2:B84").Value = "X"
.Range("B2:CF2").Value = "X"
.Range("B84:CF84").Value = "X"
.Range("CF2:CF84").Value = "X"
Da ich das Spiel nicht testen konnte - ist es wichtig wo exakt die X und H sind, oder könntest du hier auch einen Map-Editor machen?
Wie gesagt, ich konnte es nicht ausprobieren - Lad doch einfach die Datei :-)
Kann mir aber vorstellen dass das ganz witzig ist - vor allem, da kleine Excel-Games auch mal im Büro gespielt werden können *hust*
Und das klassische Rougelike auch heute noch funktionieren, hat zuletzt "A Dark Room" gezeigt.
Und bei EtoPHG's Zweig antwortest du einfach mit "Aye, Sheriff".
LG,
Klaus M.
Anzeige
AW: Excel RPG
10.05.2021 10:40:59
Hallo
Hallo Klaus,
danke für deine Anmerkungen und Anregungen. Genau das meinte ich mit "der Code ist gewachsen", ich habe die Altlasten noch nicht wirklich aufgeräumt :)
Und auch der Hinweis zum Dialogmenü bei "Secret of Mana" finde ich ganz gut - der erste Wurf lief aber erstmal über Dialog-Msgboxen, das ging für mich schneller.
Generell ist es so gedacht, dass das Spiel sich rein aus dem Code heraus generieren kann, d.h. ohne vorgefertigte Datei oder Spreadsheets funktioniert. Dafür soll der Code in den VBA Editor (alles direkt in die Mappe, nicht in ein Modul) eingegeben werden und dann wird (durch das Worksheet Activate) der Code abgerufen. Also eigentlich kein manuelles Starten notwendig.
Bei dir hat die Ausführung aber nicht geklappt? Wo hat es denn die Ausführung gestoppt?
VG
Anzeige
AW: Excel RPG
10.05.2021 10:46:41
Klaus
Na, das hier klappt nicht:

'# SELECTION CHANGE
' Wenn die Auswahl geändert wird
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Ich habe, wie gesagt, alles in ein Modul kopiert. Das ist mmn. auch das einzig sinnvolle, da du so ein Modul als *.bas Datei verteilen könntest.
Ich bin da nicht der Experte, aber du kannst auch per Makro ein "Worksheet_SelectionChange" Makro in ein Worksheet schreiben. Dann würde es auch funktionieren.
Sinnvoll wäre es auch, ganz GANZ oben im Code ein Makro mit dem Namen "STARTE MICH" zu machen, so dass der geneigte Spieler dann auch weiß welches Makro er starten muss. Ich musste mich etwas durchprobieren.
LG,
Klaus M.
Anzeige
AW: Excel RPG
10.05.2021 13:32:16
Klaus
Ich hab den Code jetzt direkt in "Tabelle1" kopiert und siehe da - es funktioniert.
Bin bestimmt 10 Minuten rumgelaufen und habe Münzen gesammelt. Mein Feedback bisher:
Das MsgBox-Popup, wenn ich eine Münze finde, nervt gewaltig.
Interaktion sollte ohne Mausclick-rechts stattfinden, wenn ich "rot, schwarz" ... berühre.
Die Idee mit dem niedergetrampeltem Grass ("W, w") finde ich extrem charmant.
Nicht-begehbare Felder sollten dunkelgrau hinterlegt werden. Das geht bestimmt einfach über die bedingte Formatierung, die du ebenfalls per Makro setzen kannst.
Ich habe es nur geschafft, aus einem Haus rausgeworfen zu werden. Die Interaktion mit schwarz und rot hat nur "..." erbracht. Habe ich einen Questgegenstand übersehen?
Eher zufällig habe ich einen Schlüssel und auch ein Schloss dazu gefunden. War das eine Quest?
LG,
Klaus M.
Anzeige
AW: Excel RPG
10.05.2021 17:27:44
Hallo
Hallo Klaus,
super, das freut mich, dass es doch noch geklappt hat. Und danke für die Anregungen, kommen auf meine Worklist - bzw. ist der Code ja jetzt frei verfügbar, es kann also von diesem Punkt aus jedeR gerne seine eigene Version weiterentwickeln ;)
Ja, das mit den "..."-Interaktionen ist die erste Quest. Spoiler: Du musst einmal mit allen Dorfbewohnern sprechen, bevor sie Vertrauen zu dir fassen.
Und anscheinend hast du auch den Schlüssel zum verschlossenen Haus gefunden (alle anderen Häuser sind von Anfang an begehbar).
VG

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige