Lust auf einen Programmier wettbewerb.



  • Jop, WinAPI bäääh



  • Gibt einiges was für Fenster spricht 😉

    Mit standard C sind ernsthafte ( :xmas1: ) Spiele, auch wenns nur Minispiele sind kaum zu schaffen.
    Warum? (Weis nicht genau wies bei C++ ist, glaube aber ähnlich)
    - Mit Standard C kann man erstmal nicht zeichnen, auch nicht auf der Konsole.
    - Stdin erzeugt immer ein echo.
    - Stdin ist immer bis '\n' gepuffert.
    - Stdout ist auch so gepuffert, soll heißen man kann eine einmal ausgegebende Zeile nicht wieder überschreiben.

    -> Fazit: Entweder Plattformabhängig oder externe Lib.

    -> Da ich keine geeignete Lib hierfür kenne, selbst keine wirkliche Lust habe mich nur hierfür mit irgendeiner Lib die ich nie wieder brauchen werde zu beschäftigen und auch glaube dass es vielen so gehen wird

    --> Bleibt Plattformabhängig.

    -> Finde Windows am besten geeignet.
    --> Wenn wir WinAPI schon zulassen warum dann nicht auch kleine Fenster? 😃



  • Aber es geht doch um ein pures Konsolenspiel? Sprich malen mit Zahlen/Buchstaben. Das Fenster so überschreiben dass der vorherige Text komplett verschwindet (oder wenn wirs nur für Windows machen einfach system() verwenden um zu löschen) kannste auch in Standard C/C++.



  • TravisG schrieb:

    Aber es geht doch um ein pures Konsolenspiel? Sprich malen mit Zahlen/Buchstaben. Das Fenster so überschreiben dass der vorherige Text komplett verschwindet (oder wenn wirs nur für Windows machen einfach system() verwenden um zu löschen) kannste auch in Standard C/C++.

    Irgendwie wiedersprichst Du dir da, system() ist ja nunmal kein standard C/C++ 😉



  • cooky451 schrieb:

    TravisG schrieb:

    Aber es geht doch um ein pures Konsolenspiel? Sprich malen mit Zahlen/Buchstaben. Das Fenster so überschreiben dass der vorherige Text komplett verschwindet (oder wenn wirs nur für Windows machen einfach system() verwenden um zu löschen) kannste auch in Standard C/C++.

    Irgendwie wiedersprichst Du dir da, system() ist ja nunmal kein standard C/C++ 😉

    Deswegen steht's auch in Klammern. Soll heißen: Wenn's uns reicht für Windows zu programmieren, dann brauchen wir für Konsolenspiele keine WinAPI, sondern nur die windows.h und System("blabla");

    Und falls wir doch die WinAPI verwenden wollen... irgendjemand in diesem Forum hat vor paar Jahren mal ne Mini-Lib (soweit ich mich erinnern kann basierend auf WinAPI) für Konsolenfummeleien geschrieben. Farbe von Text verändern, Fenster minimieren, maximieren, normalisieren, zu position springen und dort hin schreiben und sowas.

    Kann mich allerdings nicht mehr dran erinnern wer das war, und wie das Ding hieß. Volkard könnte sich noch dran erinnern, der war in dem Thread damals glaub ich der mit der ersten Antwort, und hatte irgendwie Kritik zu der Lib bezüglich der Namensgebung von irgendwelchen Funktionen gegeben.



  • Ha! Den Thread finde ich zwar nicht mehr, aber:

    http://www.c-plusplus.net/code/ic/Features.php

    Von SideWinder war's . edit: Aber nur die letzte Version. Damit angefangen hat Marcus anscheinend.



  • So schwer wars nicht, den zu finden. Es ist schließlich der einzige Sticky Thread im Konsolenforum 😉 http://www.c-plusplus.net/forum/131915



  • Michael E. schrieb:

    So schwer wars nicht, den zu finden. Es ist schließlich der einzige Sticky Thread im Konsolenforum 😉 http://www.c-plusplus.net/forum/131915

    Oh 🙂 Das hätte ich mir denken können. Danke!



  • Hi,

    Somit wären einfache Fenster denn auch erlaubt? :xmas1:
    (Würde ich gut finden, es gibt Dinge die man in der Konsole wirklich nur schwer darstellen kann :D)

    Ich glaube, du hast dann die Idee des Konsolen-Programmierwettbewerbes noch nicht ganz verstanden, oder? gerade weil sich ohne den ganzen Windows-Kram die Challange so schwieriger gestalltet, hat die Sache auch Charakter 😉

    Allerdings, wenn wir uns soweit geeinigt haben das es unter Windows? funktionieren muss, wäre es ja dennoch nicht schlecht die windows.h benutzen zu dürfen, hey?

    Ich würde sagen: alle Konsolen-Spezifischen-Funktionen sind zulässig.

    http://msdn.microsoft.com/en-us/library/ms682073(v=VS.85).aspx

    Lg Tobi



  • Wieso nicht gleich die Improved Console? Die ist praktisch für den Kontest maßgeschneidert. Jeder hätte dann den gleichen Startpunkt und keiner müsste sich damit beschäftigen sich um die "Konsolen-spezifischen" Funktionen der windows.h oder WinAPI zu kümmern, so geht alle Konzentration in das Spiel 🙂


  • Administrator

    TravisG schrieb:

    cooky451 schrieb:

    TravisG schrieb:

    Aber es geht doch um ein pures Konsolenspiel? Sprich malen mit Zahlen/Buchstaben. Das Fenster so überschreiben dass der vorherige Text komplett verschwindet (oder wenn wirs nur für Windows machen einfach system() verwenden um zu löschen) kannste auch in Standard C/C++.

    Irgendwie wiedersprichst Du dir da, system() ist ja nunmal kein standard C/C++ 😉

    Deswegen steht's auch in Klammern. Soll heißen: Wenn's uns reicht für Windows zu programmieren, dann brauchen wir für Konsolenspiele keine WinAPI, sondern nur die windows.h und System("blabla");

    std::system ist sehr wohl Standard C++ und soweit mir bekannt ist, wird std::system in C++ aus C89 übernommen. Nur die übergebenen Kommandos sind nicht standardisiert. Die windows.h muss man für system allerdings nicht inkludieren. Da reicht ein <cstdlib> , bzw. <stdlib.h> .

    Wenn man wirklich auf Windows beschränken möchte, was ich nicht für falsch erachten würde, dann würde ich wirklich die Konsolenfunktionen, welche T0bi verlinkt hat, zulassen. Schon nur weil man damit viel einfacher den Puffer leeren oder den Cursor setzen kann, usw.

    Sheldor schrieb:

    Mein Vorschlag:
    Sprache: C/C++ (Std libs ohne Winapi) evtl. auch C#
    Plattform: Windows/ Linux

    C oder C++ ohne WinAPI, aber dafür C# zulassen? LOL! Bisschen unfair, nicht? 😃

    Grüssli


  • Administrator

    TravisG schrieb:

    Wieso nicht gleich die Improved Console? Die ist praktisch für den Kontest maßgeschneidert. Jeder hätte dann den gleichen Startpunkt und keiner müsste sich damit beschäftigen sich um die "Konsolen-spezifischen" Funktionen der windows.h oder WinAPI zu kümmern, so geht alle Konzentration in das Spiel 🙂

    Weil ich mich mit der WinAPI auskenne mit der Improved Console aber nicht :p
    Mal schauen was das Ding alles kann.

    Grüssli



  • Auch wenn system() an sich standard ist, so bleiben (wie ja schon erwähnt) die Kommandos nicht standardisiert und man verlässt halt einfach den Pfad der Systemunabhängigkeit. Aber dass ein Spiel für Windows geschrieben werden soll da sind sich die meisten ja jetzt eh einig.

    Warum nicht die gesamte WinAPI zulassen? Man wird ja nicht gezwungen ein Fenster zu machen, es wäre halt nur erlaubt. Einen besonders großen Vorteil haben "die mit Fenster" dann auch nicht, es muss ja weiterhin alles "von Hand" gezeichnet werden. Aber trotzdem hat man mit einem Fenster einfach die Freiheit direkt zu zeichnen, und wer das total unfair finden mein Gott so ein ****** Fenster kriegt hier doch jeder in 20 Zeilen Code hin?^^

    Naja also ich glaube wirklich dass das erlauben der WinAPI die Spielvielfalt und vielleicht auch den Spassfaktor der Spiele wesentlich erhöhen würde. :xmas1:



  • Dravere schrieb:

    TravisG schrieb:

    Wieso nicht gleich die Improved Console? Die ist praktisch für den Kontest maßgeschneidert. Jeder hätte dann den gleichen Startpunkt und keiner müsste sich damit beschäftigen sich um die "Konsolen-spezifischen" Funktionen der windows.h oder WinAPI zu kümmern, so geht alle Konzentration in das Spiel 🙂

    Weil ich mich mit der WinAPI auskenne mit der Improved Console aber nicht :p
    Mal schauen was das Ding alles kann.

    Grüssli

    Das Teil ist wirklich simpler als simpel.

    Aber ansonsten könnte man ja sowas zulassen: Verwendete externe Libs: IC oder WinAPI, wenn einem die WinAPI selber lieber ist und er den Wrapper von IC nicht verwenden will.



  • Hab mich mit der Improved Console auch noch nie beschäftigt 😕


  • Administrator

    cooky451 schrieb:

    Warum nicht die gesamte WinAPI zulassen? Man wird ja nicht gezwungen ein Fenster zu machen, es wäre halt nur erlaubt. Einen besonders großen Vorteil haben "die mit Fenster" dann auch nicht, es muss ja weiterhin alles "von Hand" gezeichnet werden. Aber trotzdem hat man mit einem Fenster einfach die Freiheit direkt zu zeichnen, und wer das total unfair finden mein Gott so ein ****** Fenster kriegt hier doch jeder in 20 Zeilen Code hin?^^

    Eine Konsole hat keine Graphik! Da wird mit Buchstaben gezeichnet. Such mal nach ASCII-Art damit du ein Verständnis dafür bekommst, bzw. hier:
    http://de.wikipedia.org/wiki/ASCII-Art

    Es ist doch gerade das interessante an einem Wettbewerb, wenn die Randbedingungen einem einschränken. Es ist eben nicht schwer, wenn du ein Fenster erstellen und darin zeichen kannst. Aber wenn du nur die Konsole hast, dann musst du dir auch etwas überlegen.

    cooky451 schrieb:

    Naja also ich glaube wirklich dass das erlauben der WinAPI die Spielvielfalt und vielleicht auch den Spassfaktor der Spiele wesentlich erhöhen würde. :xmas1:

    Das Ziel ist doch nicht, dass wir am Ende eine riesige nicht vergleichbar Vielfalt haben und alle Spiele in den nächsten Top10 kommen. Der Spass soll in erster Linie bei der Herausforderung für den Programmierer liegen. Die Aufgabe soll Spass machen und nicht das Resultat. Wobei es natürlich sinnvoll wäre, wenn das Resultat am Ende auch Spass macht, sonst hat man wohl keine Chance den Wettbwerb zu gewinnen (:D), aber das ist nur zweitrangig.

    @TravisG,
    Jo, hab mir IC in der Zwischenzeit angesehen. Es ist simpler als simpel. Grundsätzlich fasst es einfach nur die WinAPI Funktionen ein bisschen zusammen. Was mir an IC fehlen würde, ist das ändern der Codepage. 🙂

    Grüssli



  • wird multithreading erlaubt?



  • zeusosc schrieb:

    wird multithreading erlaubt?

    Wofür würdeste das denn verwenden?



  • Ich sehe keinen Grund Multithreading zu verbieten.
    Andere Frage: ist "Multikonsoling" erlaubt? 🙂



  • fangts lieber mal damit an statt das ding totzuquatschen. :xmas1:


Anmelden zum Antworten