Hur går man tillväga för att använda grafik i C++ konsolläge? Skapar man någon slag DirectX kontroll? All hjälp uppskattas... :f
Grafik i konsolläge
17 svar · 607 visningar · startad av pettsson
nja... liero t.ex. är ju ett DOSbaserat spel. Hur åtstadkommer man något sånt?
ah... tack så mycket :)
hmm... fråga: är den kompatibel med Visual Studio? Eller C++ för den delen? Det står en massa om GNU och C, och Visual Studio är inte särskilt GNU, och jag är inte särskilt C...
Mja... ska du använda visualstudio för spelprogrammering är det bättre att kika på endera WinGDI eller DirectX. Även OpenGL finns ju... Dessa använder du inte genom DOS-console utan genom 32bitars windows app. Har du hjälpen till hands kan du kika på hur du pluttar ut lite "grafik" genom GDI, för DirectX finns det en hel del tutorials på nätet.. bla annat på http://gamedev.net (fast den servern var tydligen nere just nu :( )
och jag är inte särskilt C
Vad du än väljer att använda (allegro, visualstudio och GDI eller whatever) så kommer du inte undan språket C eller C++. Det finns inga genvägar bara för att man hackar i visualstudio ;)
det är en uppgift i min C++ kurs att skapa ett konsolprogram som visar en boll som studsar omkring. Vi har Visual Studio i skolan, så det måste gå att kompilera i Visual studio. Kan jag använda Allegro då?
Kika på MSDN's "sample" i hjälpmenyn om threads. Där finns ett "bounce.c" - consoleprogram som har färgglada "smileys" som studsar runt i consolfönstret.
Fast i console-mode är det ingen riktig grafik, utan ASCII-tecken som kan färgsättas och flyttas till valfria positioner.
Tror att allegro lirar bättre med gcc-kompilatorer än MSVC... Inriktningen går inte mot console och DOS vad det gäller visualstudio ;)
den var ju... lätt... :l fattade inget av det programmet, och fick det inte ens att kompilera :( men det måste väl gå att visa t.ex. bitmappar i consoleläge, eller?
pettsson skrev:
men det måste väl gå att visa t.ex. bitmappar i consoleläge, eller?
Nej. En konsoll visar text. Inget annat.
Men går det inte på någt sätt att ändra färg på pixlar? Typ att ställa in mode14 eller vad det heter i qbasic :D
Läste i ett OS-Dev forum och där målade de på skärmen med mode14 med c så det måste ju gå!
konstigt att alla som gjorde spel i DOS inte märkte att de inte kunde använda grafik... :l
djggp eller vad det hette funkar kanske, jag har inte prövat. Vet dock inte om det skulle gå så bra att kompilera den koden i skolan där vi bara kan köra Visual Studio
DOS-begreppet verkar något förvirrat i den här diskussionen, jag får känslan att ni pratar förbi varandra.
DOS är ett gammalt operativsystem. Det är command-line baserat (i en textmode console). Spel (ja, alla program) som körs under DOS kan initiera grafiskt läge och rita pixlar direkt till videominnet.
Console-applikationer gör att göra även under Windows. Det finns windows API:er för att rita tecken (inte enstaka pixlar) på en console (exempelvis cout och printf använder dessa API:er).
DirectX stöder något som heter exclusive mode (fullscreen mode). Spel använder ofta detta, eftersom det ger bästa prestanda. Exclusive mode har emellertid inget med DOS eller console-applikationer att göra.
Så pettson, din fråga "grafik i C++ konsolläge" är inte helt glasklar. Menar du ungefär som Quake gör så är svaret "använd DirectX exclusive mode" (eller något abstraktionslager ovanpå DirectX, som OpenGL).
Läste i ett OS-Dev forum och där målade de på skärmen med mode14 med c så det måste ju gå!
Visst finns det "modes" för att vandra över till grafikläge. Dessa är dock inte "standardiserade" i C annat än genom Allegro-biblioteket och exempelvis Borlands BGI. Det finns dock möjligheter att själv pilla ihop rutiner för detta med inline assembler... resultatet brukar dock sällan bli bra så egentligen finns det bara ett enda "bra" lib för detta och det är just Allegro.
Som developer m.fl skrev:
Console är INTE detsamma som DOS och det finns två lägen på burken: Text eller grafik... och för utvecklandet av grafik i Win32 är t.ex GDI, DirectX bättre lämpat och stöds av visualstudio.
För DOS - spel är DJGPP (som då kör med Allegro) ett givet val.
pettson skrev:
fattade inget av det programmet, och fick det inte ens att kompilera
Bifogar en kompilerad version av programmet.
ok då... jag får väl använda DJGPP då... förlåt att jag blandade ihop begreppen :r
