Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Eine Wirtschaftssimulation und ihre Umsetzung.
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 25.03.2016, 16:47    Titel: Antworten mit Zitat

Ich habe mir den Quellcode noch kaum (also fast gar nicht) angesehen, aber ich könnte mir vorstellen, dass schon eine kleine Übermacht in einem Teilgebiet deutliche Kampfvorteile besitzt. Da prügeln ja mehrere Pixel gemeinsam auf einen einzelnen Gegner ein, wodurch der schnell zu Boden geht und in der vorherigen Zeit kaum Schaden anrichten kann. Für das Gesamtschlachtfeld heißt das dann, dass aus einer kleinen Übermacht durch effektivere Gegner-Eliminierung schnell eine größere wird und aus der dann eine noch größere.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 26.03.2016, 00:30    Titel: Antworten mit Zitat

Schnism hat Folgendes geschrieben:
Ich habe mir das nun 20 minuten angeschaut.
Hat irgendwie was meditatives, nicht wahr? grinsen
Zitat:
"Knappe" Ausgänge scheint es in der reinen Zufallsberechnung nicht zu geben?? Woran liegt das?
Das liegt daran, daß die Anfangsstärke der Armeen ebenfalls zufällig ist (für beide Seiten getrennt). Wenn beide Armeen am Anfang gleich groß sind, bleiben auch bei 2 x 10000 Kriegern selten mehr als 100 übrig.

@nemored: Stimmt. Den gleichen Effekt hat es auch, wenn ich die beiden Armeen mit Waffen von unterschiedlicher Reichweite ausstatte, beispielsweise die eine mit Schwertern (1m Reichweite) und die andere mit Hellebarden (2m Reichweite). Da gewinnen immer die Hellebarden. Dafür ist zum Ausgleich die Latenzzeit gedacht, so daß man mit dem Schwert jede Sekunde einmal zuschlagen kann, mit der schwerfälligeren Hellebarde nur alle 2 Sekunden. Bin mal gespannt, wie sich das in der Praxis auswirkt.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 02.04.2016, 10:20    Titel: Antworten mit Zitat

Hallo allerseits!

Ich denke, es ist wieder mal Zeit für einen kleinen Zwischenbericht.

Quellcode
.exe

Wie man sieht, habe ich das Konzept ein wenig geändert: Alles, was den Krieger als handelndes Objekt betrifft, habe ich in den (die? das?) UDT verlagert, einschließlich des Arrays krieger(). Die Logik, daß das Array der UTDs seinerseits Bestandteil des UDT ist, ist zwar etwas gewöhnungsbedürftig, aber es funktioniert und erleichtert die Handhabung ungemein.

Das Hauptprogramm ist quasi der Vorgesetzte, der die Befehle gibt, Kommunikationskanal in beide Richtungen ist die Function "befehl".

Ebenfalls neu ist ein Array von Tabellen mit Offsetwerten für konzentrische Kreise, die zu Beginn des Programms berechnet werden, mithilfe derer das Objekt seine Umgebung in einem bestimmten Umkreis durchsuchen kann.

Falls jemand eine einfachere Möglichkeit kennt, dynamische Arrays zu verschachteln: Bitte melden!

Die Demo ist diesmal nicht besonders spektakulär, jeder Krieger bekommt "nur" den Befehl, 100m vorzurücken.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Schnism



Anmeldungsdatum: 13.10.2004
Beiträge: 58
Wohnort: Schweiz

BeitragVerfasst am: 02.04.2016, 16:58    Titel: Antworten mit Zitat

Da steig ich aus .. kann nicht folgen lächeln

Trotzdem: weitermachen happy
_________________
"...nichts ist so schlimm wie mein programmcode!"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 02.04.2016, 17:22    Titel: Antworten mit Zitat

Keine Sorge. Die Benutzung und das Einbinden in andere Programme -auch QB- wird nachher ganz einfach. Versprochen. lächeln

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Schnism



Anmeldungsdatum: 13.10.2004
Beiträge: 58
Wohnort: Schweiz

BeitragVerfasst am: 11.04.2016, 14:23    Titel: Antworten mit Zitat

Mal Schubs lächeln
_________________
"...nichts ist so schlimm wie mein programmcode!"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 12.04.2016, 06:34    Titel: Antworten mit Zitat

Ja, ja, ja.....! grinsen

Das Problem des Festlaufens einzelner Kriegergruppen habe ich nun endlich gelöst (der Teufel steckt im Detail). Jetzt muß ich die richtige Balance von Angriffs- und Verteidigungswirkung der einzelnen Waffen finden. Ist 'ne echte Fleißarbeit.

Hier als kleine Demo eine Gruppe von 500 Musketieren (Reichweite 400m, Schussfolge 20s) gegen 1600 Hellebardenträger (Reichweite 2m, Schlag-/Stoßfolge 2s).

Quellcode
.exe

Wie man sieht, ist der Schlachtausgang stark von den Dimensionen des Schlachtfeldes abhängig.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Schnism



Anmeldungsdatum: 13.10.2004
Beiträge: 58
Wohnort: Schweiz

BeitragVerfasst am: 12.04.2016, 10:21    Titel: Antworten mit Zitat

Sau gut.. das mag ich grinsen das sieht gut aus.

Ist denn jeder Schuss ein Treffer? Das ist mit damaligen Waffen auf 400 Meter doch eher... unmöglich.
Im Wilden Westen schon mit den besseren Waffen kamen sie auf 250 Meter
Musketen maximal bis 300 Schritt. (ein Schritt waren damals glaube ich bis 80 cm)

setz mal 200 Meter an.
_________________
"...nichts ist so schlimm wie mein programmcode!"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elor



Anmeldungsdatum: 12.07.2013
Beiträge: 205
Wohnort: Konstanz

BeitragVerfasst am: 12.04.2016, 12:01    Titel: Antworten mit Zitat

Also wenn ich euch wäre dann würde ich doch mal einen Aufruf starten und zwar dahingehend wer Lust hat sich am der Entwicklung zu beteiligen. Ich selber kenne das Spiel nur vom Hören sagen, hab aber mal nachgelesen um was es da geht, der Krieg steht da ja nicht im Vordergrund. Ich hab ja schon erwähnt das ich keine Erfahrung mit Spielen und deren Programmierung hab, deshalb wäre ich kein guter Projektpartner. Es muss doch aber noch Leute mit Spiele Programmiererfahrung geben der z.B. mal das Menüsystem entwerfen kann, oder die Grafik mit einer definierten Schnittstelle auf die das Kampfsystem zugreifen kann.
grindstone hat Folgendes geschrieben:

Keine Sorge. Die Benutzung und das Einbinden in andere Programme -auch QB- wird nachher ganz einfach. Versprochen.

verwundert Hm... Operatoren, Properties, SUB und Function in UDT in Qbasic/QuickBASIC ? Ich hab jetzt Grad kein zugriff auf QB/QuickB Hilfesysteme aber ich glaube da hast du dir ein ganz großes Stück Arbeit vorgenommen grinsen .
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 12.04.2016, 13:25    Titel: Antworten mit Zitat

Was mir gerade so bei den Tests auffällt ist, dass sich der Kampf immer sehr links- bzw. rechtslastig zu entwickeln scheint - links sammeln sich die überlebenden grünen und rechts die überlebenden weißen (die dann natürlich anschließend nach links laufen, um die grünen anzugreifen). Ob das an der Startverteilung oder am Gegnersuch-Algorithmus liegt oder etwas anderem, habe ich noch nicht geschaut.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 13.04.2016, 09:46    Titel: Antworten mit Zitat

Schnism hat Folgendes geschrieben:
Sau gut.. das mag ich grinsen das sieht gut aus.
Ja, ich kann da auch stundenlang zusehen. lächeln Vielleicht sollte man das ausgliedern und als animiertes Mandala anbieten...grinsen
Zitat:
Ist denn jeder Schuss ein Treffer?
Bis jetzt ja, aber das ist natürlich (noch) nicht richtig. Die Waffenwirkung hat ja zwei Komponenten: Erstens, ob der Schuss/Schlag/Stoß überhaupt eine Wirkung hat oder danebengeht bzw. abgewehrt wird, und zweitens, wenn er trifft, wie stark die Verwundung dann ist. Das Erste ist eher von der Kampfkraft (=Ausbildung, Motivation) abhängig, das Zweite eher vom Zufall.

Und dann müsste eigentlich für jede denkbare Kombination von Angriffs- und Verteidigungswaffe ein eigenes Stärkeverhältnis festgelegt werden. Das wäre ein enormer Programmieraufwand, und ich weiß auch nicht, ob meine Kenntnisse über spätmittelalterliche Waffentechnik ausreichen, um da wirklich realistische Werte hinzukriegen.

Das Ganze ist doch etwas komplexer, als ich anfangs angenommen hatte. Aber der Mensch wächst ja bekanntlich an seinen Aufgaben. zwinkern

@Elor:
Am Anfang dieses Threads kannst du nachlesen, daß es hier eigentlich darum geht, eine recht umfangreiche Wirtschaftssimulation im beschränkten Speicher von QB unterzubringen. Und die Sektion "Krieg" ist ein eher unbedeutender Teil dieses Programms, aber er passt nun mal nicht in den Speicher. Also hatte ich mir als (eine mögliche) Lösung ausgedacht, daraus ein eigenständiges Programm (.exe) zu machen, das vom QB - Hauptprogramm per SHELL - Befehl aufgerufen wird und nach Beendigung die Kontrolle wieder zurückgibt. Die erforderlichen Daten werden - so meine derzeitige Planung - in einer gesonderten Datei übergeben. QB selbst hat also mit den ganzen "modernen" Programmiertechniken gar nichts zu tun.

Vielleicht sollte man die Schlachtensimulation ganz offiziell zum Projekt erheben. Die Aufrufzahlen für diesen Thread sind zwar schon recht beachtlich, aber mit einem aussagekräftigen Titel könnte man sicherlich einen noch größeren Kreis von Interessierten ansprechen.

@nemored:
Der Hang, zu einer Seite zu laufen, dürfte mit der Startaufstellung zu tun haben. Die geht in Blickrichtung zum Feind jeweils von links nach rechts und von hinten nach vorne, so daß eine angefangene Reihe immer auf den linken Seite steht. Und da dort die eigene Kampfkraft größer ist als die des Feindes, ist es nur logisch, daß die Krieger auf dieser Seite weiter vorstoßen.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!


Zuletzt bearbeitet von grindstone am 13.04.2016, 12:00, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Elor



Anmeldungsdatum: 12.07.2013
Beiträge: 205
Wohnort: Konstanz

BeitragVerfasst am: 13.04.2016, 11:52    Titel: Antworten mit Zitat

Manchmal komm ich mir vor wie ein Unruhestifter, dass ist aber nicht meine Absicht. Ich weiß schon um was es hier geht, ich kann ja lesen lächeln . Nur, macht es Sinn, ein und das selbe Programm auf zwei verschiedene Programmiersprachen zu verteilen?
Zitat:

Vielleicht sollte ich die Schlachtensimulation ganz offiziell als Projekt vorstellen. Die Aufrufzahlen für diesen Thread sind zwar schon recht beachtlich, aber mit einem aussagekräftigen Titel könnte man sicherlich einen noch größeren Kreis von Interessierten ansprechen.

Halte ich für eine gute Idee, denn der aktuelle Thread Titel lässt ja nicht gerade darauf schließen, dass hier eine Wirtschaftssimulation entwickelt wird.
Ab jetzt werde ich mich hier im Forum mit Kommentaren raus halten!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 13.04.2016, 12:13    Titel: Antworten mit Zitat

Elor hat Folgendes geschrieben:
Manchmal komm ich mir vor wie ein Unruhestifter, dass ist aber nicht meine Absicht
Falls das als Kritik rübergekommen sein sollte, bitte ich um Entschuldigung, das war ganz und gar nicht so gemeint, ich wollte lediglich meinen Gedankengang erläutern. traurig
Zitat:
Nur, macht es Sinn, ein und das selbe Programm auf zwei verschiedene Programmiersprachen zu verteilen?
Eigentlich nicht, aber Schnism möchte nun mal sein QB behalten, was ich ein Stück weit verstehen kann. Und was schadet es, ein Modul zu programmieren, das sich in die verschiedensten Anwendungen einbinden lässt?
Zitat:
Ab jetzt werde ich mich hier im Forum mit Kommentaren raus halten!
Tu das nicht! Jeder Kommentar ist willkommen! lächeln

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Schnism



Anmeldungsdatum: 13.10.2004
Beiträge: 58
Wohnort: Schweiz

BeitragVerfasst am: 13.04.2016, 12:37    Titel: Antworten mit Zitat

Elor hat Folgendes geschrieben:

Ab jetzt werde ich mich hier im Forum mit Kommentaren raus halten!


Erst damit wirst du zum Unruhestifter lächeln Du bleibst: Fertig! weinen

Elor. .. wenn ich anfangen würde, grindstone seine Arbeit zu kommentieren (denn das kann ich.. ideenreich, art und weisen und dergleichen. Bei mir hapert es ausschliesslich an einer strukturierten Umsetzung ! lächeln )
hätte er keine Freude mehr am Projekt ..deshalb lass ich ihn auch machen und frage nur kleinigkeiten ab. Das Gros der Fragen kommt, wenn das Ding fertig ist

Hab den Titel mal geändert..
_________________
"...nichts ist so schlimm wie mein programmcode!"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 14.04.2016, 08:12    Titel: Antworten mit Zitat

Zitat:
Das Gros der Fragen kommt, wenn das Ding fertig ist
Au ha! Da kann ich mich ja auf was gefasst machen! grinsen

Zitat:
Hab den Titel mal geändert
Gute Idee. Was hältst du als Initiator davon, das hier als richtiges Projekt weiterzuführen?

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Schnism



Anmeldungsdatum: 13.10.2004
Beiträge: 58
Wohnort: Schweiz

BeitragVerfasst am: 14.04.2016, 08:39    Titel: Antworten mit Zitat

Den "Krieg" oder das gesamte Programm?

KAISER gibt es ja so oft als Clone oder Rebuild.
Mir geht es dabei immer um die Erweiterbarkeit.
Oft in Spielen habe ich so viele Ideen die man einbauen könnte, daher möchte ich ja eigentlich ein entspannt veränderliches Game.

Stell es ruhig ein. Im Grunde habe ich den Code und den Inhalt auswendig gelernt in den letzten Jahrzehnten, was im grunde bedeutet, auch ich "kupfere" nur ab. lächeln
_________________
"...nichts ist so schlimm wie mein programmcode!"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 14.04.2016, 09:26    Titel: Antworten mit Zitat

Ich dachte dabei erst mal nur an das Schlachtenmodul, also "Krieg". Das dürfte für den Anfang genug Arbeit sein.

Wenn das dann irgendwann funktionier(en soll)t(e), kann man das Projekt ja erweitern, vielleicht auch die anderen Programmteile in solche Module packen und eventuell -ich spinne mal ein wenig in die Zukunft- ein universelles Baukastensystem für Simulationsspiele erstellen.

Zitat:
Stell es ruhig ein.
Gut, dann werde ich mal alles vorbereiten. Unter welcher Lizenz soll das Projekt laufen? Und was ist mit deinem QB - Quelltext? Darf der mit auf die Projektseite, und wenn ja, unter welcher Lizenz?

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Schnism



Anmeldungsdatum: 13.10.2004
Beiträge: 58
Wohnort: Schweiz

BeitragVerfasst am: 14.04.2016, 19:21    Titel: Antworten mit Zitat

Du kannst ja Fragen stellen..

Auf die Schnelle: FreeBASIC-Portal-Standardlizenz oder die GPL ..

Du kannst den gesamten Code gerne dazu tun. Wer weiss, ob da überhaupt mehr als 3 Leute durchsteigen lächeln lächeln (ich kenne meine GOTO Zeilensprünge auswendig grinsen )
_________________
"...nichts ist so schlimm wie mein programmcode!"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1208
Wohnort: Ruhrpott

BeitragVerfasst am: 15.04.2016, 09:40    Titel: Antworten mit Zitat

Zitat:
Du kannst ja Fragen stellen..
Da ich nicht der alleinige Urheber bin, muß ich das fragen. Wäre LGPL auch in Ordnung? (ist mir sympathischer)
Zitat:
Wer weiss, ob da überhaupt mehr als 3 Leute durchsteigen
Na ja, zur Not kann es immer noch als abschreckendes Beispiel dienen. grinsen Und immerhin: Es funktioniert ja!

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Schnism



Anmeldungsdatum: 13.10.2004
Beiträge: 58
Wohnort: Schweiz

BeitragVerfasst am: 15.04.2016, 18:39    Titel: Antworten mit Zitat

Zitat:
Wäre LGPL auch in Ordnung? (ist mir sympathischer)


Tu, was du denkst, was für alle das Beste ist.
_________________
"...nichts ist so schlimm wie mein programmcode!"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter
Seite 6 von 7

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz