Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

61

14.02.2013, 13:20

In Sachen Rechenzeit-Bedarf quasi unschlagbar.

C-/C++-Quelltext

1
    return *((int*)level - 19);

Aber das ist ja leider nicht erlaubt :hmm: Und Funktioniert warscheinlich auch nur auf 64-Bit Systemen.

Ich hab mir die letzten 2 Tage Gedanken gemacht und hab nichtmal ansatzweise ne Idee um die Level überhaupt zu lösen, ich glaube bei mir bleibts bei der Brute-Forcel Methode :thumbdown:
greate minds discuss ideas;
average minds discuss events;
small minds discuss people.

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

62

14.02.2013, 13:29

Ich glaube, dass niemand bislang etwas wesentlich besseres als "Bruteforce" zu bieten hat ;)

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

63

14.02.2013, 13:45

Ich habe das Paket nochmal aktualisiert.
Man kann jetzt die Aufwärmdauer einstellen, außerdem wird unter Windows die Prozesspriorität erhöht, um stabilere Ergebnisse zu erhalten.

stef

Treue Seele

Beiträge: 246

Wohnort: Kassel

Beruf: Softwareentwickler

  • Private Nachricht senden

64

14.02.2013, 14:08

Return-Codes für Ausnahmen sind meist absoluter Unfug, dafür gibt es schließlich Exceptions.

Von mir aus auch Exceptions.
Es geht mir doch nur um eine Abstimmung damit der Testrahmen entsprechend angepaßt werden kann.
(ist jetzt auch Wurscht ! Ich schmeiß jetzt 'n string oder so :) )

Oder halt einfach eine beliebige Zahl zwischen 3 und 255.
Dann hast du zumindest noch eine kleine Chance, dass ich beim Testen nicht merke, dass der Algorithmus nicht korrekt ist. ;)
(Dann solltest du aber für dasselbe Level auch immer die gleiche Antwort liefern)

Damit hast du dich als moralisches Vorbild disqualifiziert. :nono:
"In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg." — Bjarne Stroustrup.

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

65

14.02.2013, 22:28

:D

Hat jemand noch ein besonders "schwieriges" Level fabriziert?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

66

15.02.2013, 06:55

Ach, das hab' ich ganz vergessen. Ich schau nachher mal. Ob dabei wirklich was komplexes bei raus kommt, das kann ich nicht versprechen, ich kann nur sagen, dass es ein paar der Optimierungen in die Nüsse treten würde, an die ich so gedacht habe.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

67

15.02.2013, 19:07

Ich habe zwei anzubieten :)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
################
#......#...B..g#
#..............#
##.............#
#.......#...#..#
#.#..r....#....#
#.....#........#
#..........#...#
#.............##
#......R.#.....#
#..b#.......#..#
##.............#
#.........#.G..#
#..............#
#......#.......#
################

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
################
##...........#.#
#.....#.#....#.#
#...#.....#..#.#
#....#..##..#..#
#..#..#....#b..#
#.#...##.#..##.#
###......B.....#
#.#...##R###...#
#####.##.#..##.#
#..G.###.##....#
##......rg...#.#
###....#..#...##
#....#.......###
#...#......##.##
################

Wenn euer Algo das erste schneller lösen kann als das zweite seid ihr mir auf den Fersen :)
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

68

15.02.2013, 19:48

Ich habe mir heute auch ein paar Gedanken zu dem Ganzen gemacht. Leider hängt es bei mir schon bei der Vorstellung, wie ich sowas denn überhaupt angehen soll?!
Um mein Problem mal kurz zu erläutern. Grundsätzlich hätte ich, sofern die einzelnen Figuren nicht miteinander kollidieren sollen, einen A* abgeändert, und eben eine Slide Map erstellt, die für jedes Feld, den Endslidepunkt für jede Richtung speichert.
Allerdings kommen wir hier dann schon zum Ende meiner Eingebung. Zu prüfen ob man auch 2 Felder vom Rand weg zum Ziel kommt ist jetzt auch nicht wirklich kompliziert, allerdings hapert es bei mir daran, wie ich es lösen soll, die anderen Figuren zu Hilfe zu nehmen.
Welchen Lösungsansatz habt ihr dafür? Von mir aus auch per PN, bin dabei wohl eh außer Konkurrenz, und werde nicht mitmachen, allerdings interessiert mich das Thema dann doch so sehr, das ich ein wenig Hilfe anfordere ;)

mfg

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

69

15.02.2013, 21:52

Wenn euer Algo das erste schneller lösen kann als das zweite seid ihr mir auf den Fersen :)

Ist bei mir nicht der Fall :(
Ich brauche für das erste Level 4x so lange wie für das zweite, obwohl die Anzahl der Züge ja nur 1/4 beträgt!
Ich denke ich werde mir mal den Lösungsweg visualisieren. Eine Optimierungsidee hatte ich noch (ist nur nicht ganz trivial umzusetzen), könnte sein dass es sich dadurch ändert ;)

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

70

15.02.2013, 23:17

@anti-freak:
Weißt du was ein Graph ist?
Betrachte jede Stellung der Spielfiguren als Knoten in einem Graph.
Zwischen zwei Knoten A und B existiert eine Kante, wenn man von A mit einem Zug nach B kommen kann.
Der Startknoten ist die Startstellung der Figuren.
Der Zielknoten ist die Zielstellung der Figuren.
Jetzt suchst du den kürzesten Weg vom Start- zum Zielknoten mit einem Weg-Finde-Algorithmus, z.B. Dijkstra.
Du musst also nicht "denken", sondern das passiert quasi von allein.

(ich denke, damit habe ich nicht zu viel verraten ;))

Werbeanzeige