Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C# - Problémy grafického rázu u hry co běží v konzoli (cmd)

Měl bych dotaz ohledně naprogramování "grafického" rozhraní u konzole v C#-u
Právě pracuju na jedné hře a zarazily mě dva problémy, se kterými se nevím rady

Ten první je nastavení pozice metody "Console.ReadLine()"
Chtěl bych ho totiž dostat např. doprostřed obrazovky, ale ne a ne ho tam dostat. Vždycky se mrcha dostane zpět na levý okraj.

Druhým problémem je "grafické rozhraní" mé hry.
Představoval jsem si to jako tři okna vedle sebe (2 čtverce a pod nimi úzký obdelník) a každé by plnilo svou funkci. Všechny by byly updateované na konci uživatelského vstupu a uživatel by interagoval pouze s jedním. Všechny by měly svou vlastní třídu a všechny by měli instanci v nějaké vyšší třídě, která by je vykreslovala a brala by od uživatele vstupní info.

Děkuji za každou odpověď.

Předmět Autor Datum
1) odsazení můžeš udělat třeba pomocí mezer 2) popsal jsi jak to chceš dělat, ale ne s čím máš vlast… nový
Wikan 26.08.2014 20:27
Wikan
špatně jsem se vyjádřil :) U toho druhého mám problém s tím, jak to navrhnou, tak aby to sedělo a ne… nový
Elsus 26.08.2014 20:30
Elsus
To musíš vědět ty, jak to navrhnout. Napsal jsi to tak obecně, že se nic konkrétnějšího poradit nedá… nový
Wikan 26.08.2014 20:32
Wikan
Já zapomněl zmínit, že potřebuji Console.ReadLine(), kvůli tomu, že chci string a ne char (uživatel… nový
Elsus 26.08.2014 20:34
Elsus
Tak to můžeš udělat úplně nejobecněji a číst přímo ze stdin. Console.OpenStandardInput() nový
Wikan 26.08.2014 20:38
Wikan
Pro psaní na libovolnou pozici můžeš použít kombnaci metod Console.SetCursorPosition a Console.Write… nový
brain_overflow 26.08.2014 22:58
brain_overflow
Dam ti dobre mienenu radu. Prestan mrhat drahocenny cas snahou o vytvorenie porsche na baze bambusov… nový
MM.. 27.08.2014 01:38
MM..
Tu moji "hru" bych jako porsche neoznacoval :D A rekl bych, ze o C# programatory je a mozna i do bud… nový
Elsus 27.08.2014 07:59
Elsus
Hru si klidně programuj, ale proč v textovém režimu? Budeš muset řešit spoustu problémů, což samo o… nový
Wikan 27.08.2014 08:03
Wikan
Osobne myslim, ze clovek se uci uz jenom z toho, kdyz vymysli ten kod. Vim, ze vetsinu toho co se na… nový
Elsus 27.08.2014 08:09
Elsus
Ale správně navržený kód se pozná mimo jiné tím, že samotná logika aplikace je zcela oddělena od uži… nový
Wikan 27.08.2014 08:33
Wikan
Programuj to ako normalnu oknovu aplikaciu. Naucis sa tym omnoho potrebnejsie veci jak presuvat kurz… nový
MM.. 27.08.2014 12:05
MM..
A ked uz silou mocou chces konzolu tak nepouzivaj systemove volania ktore ti nevyhovuju (ako napr. t… poslední
MM.. 27.08.2014 12:09
MM..

špatně jsem se vyjádřil :)
U toho druhého mám problém s tím, jak to navrhnou, tak aby to sedělo a nedělalo neplechu, ještě jsem to nesepisoval

Jo a odsazení mezer jsem zkoušel, ale řekl bych, že stejně jako Console.WriteLine, tak Console.ReadLine vždy poskočí o řádek níž a Console.Read je pouze pro proměnou "char"

Tu moji "hru" bych jako porsche neoznacoval :D
A rekl bych, ze o C# programatory je a mozna i do budoucna bude zajem a clovek se nejvic uci hranim, takze... :)
Ale dobre, pokud bych timto nemel mrhat cas, tak cim? Programovat porad dokola nejake male programy a s kazdym se naucit neco noveho? Jak bych to potom vyuzil.
Jako plan do budoucna mam takovy, ze bych hotovy kod ukazal memu uciteli, ktery se v C#-u vyzna a od nej si nechat vytknout chyby a neco se priucit :)

A ked uz silou mocou chces konzolu tak nepouzivaj systemove volania ktore ti nevyhovuju (ako napr. ten ReadLine) a nesnaz sa z nich mackat to na co neboli nikdy urcene a co z nich pravdepodobne ani nikdy nevymackas ptz ich programator ich nenaprogramoval na take harakiri, ale urob si to sam (testovanim stlacenia klaves alebo eventami na klavesu a vykreslovanim pismen samostatne apod)

Zpět do poradny Odpovědět na původní otázku Nahoru