webForumDet fria alternativet

Grafik i konsolläge

C/C++ur C/C++

17 svar · 607 visningar · startad av pettsson

Medlem sedan jan. 20021 122 inlägg
Frågan#1

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

Medlem sedan aug. 2002207 inlägg
#2

Grafik i konsol?

Det enda du kan göra är att ändra färg på texterna osv. Är det så du menar?

Medlem sedan jan. 20021 122 inlägg
#3

nja... liero t.ex. är ju ett DOSbaserat spel. Hur åtstadkommer man något sånt?

Medlem sedan juni 200010 432 inlägg
#4

pettsson skrev:

nja... liero t.ex. är ju ett DOSbaserat spel. Hur åtstadkommer man något sånt?

Genom t.ex allegro. Djgpp använder detta lib och det är ju populärt som spelprogrammeringsplattform. Allegro finns ju till fler utvecklingsmiljöer än så, dock. DirectX körs inte från console-mode.

Medlem sedan jan. 20021 122 inlägg
#5

ah... tack så mycket :)

Medlem sedan jan. 20021 122 inlägg
#6

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...

Medlem sedan juni 200010 432 inlägg
#7

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 ;)

Medlem sedan jan. 20021 122 inlägg
#8

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å?

Medlem sedan juni 200010 432 inlägg
#9

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 ;)

Medlem sedan jan. 20021 122 inlägg
#10

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?

Medlem sedan feb. 20002 300 inlägg
#11

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.

Medlem sedan maj 20002 993 inlägg
#12

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

Medlem sedan maj 20002 993 inlägg
#13

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å!

Medlem sedan jan. 20021 122 inlägg
#14

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

Medlem sedan aug. 2001458 inlägg
#15

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).

Medlem sedan juni 200010 432 inlägg
#16

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.

Medlem sedan juni 200010 432 inlägg
#17

pettson skrev:

fattade inget av det programmet, och fick det inte ens att kompilera

Bifogar en kompilerad version av programmet.

Medlem sedan jan. 20021 122 inlägg
#18

ok då... jag får väl använda DJGPP då... förlåt att jag blandade ihop begreppen :r

131 ms totalt · 3 externa anrop · v20260731065814-full.9823c0c5
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)