Forum huvudsida -> Programmering -> console-spel fråga
Sidor: 1
The_code | 09:35 - 17:e Maj 2006 | Post #1 | |
Medlem Inlägg: 28 Skicka PM |
Hallå. Jag är tillbaka med en liten fråga. Eftersom detta är ett spel programmerings forum så kanske ni vet svaret. Jag har gjort ett litet top-view console spel där man styr ett "x". Allt funkar bra men när jag uppdaterar bilden med system("cls") så flimmrar och laggar det ganska mycket. Hur kan jag ta veck de flimmret. system("cls") ligger i en while(true) loop. Några jag har frågat säger att det finns bättra sätt att uppdatera rensa skärmen, men jag har inte hittat något. Han sa typ, dubbel buffering?. Jag använder Dev-cpp. //The_code ------------------------- Pillar med VB.NET, C++ och GameMaker Senast redigerad 09:39 - 17:e Maj 2006 |
HärJ | 09:41 - 17:e Maj 2006 | Post #2 | |
Moderator Inlägg: 1198 Skicka PM |
lokalisera varifrån x:et kommer och sätt ett mellanslag där istället. Ganska simpelt men rätt snyggt ------------------------- Tänk om jag vore en skalärprodukt! |
The_code | 16:31 - 17:e Maj 2006 | Post #3 | |
Medlem Inlägg: 28 Skicka PM |
Jo men nu var de ju inte det jag frågade. Jag undrar om det finns ett sätt att ersätta funktionen: system("cls"); ------------------------- Pillar med VB.NET, C++ och GameMaker |
HärJ | 20:07 - 17:e Maj 2006 | Post #4 | |
Moderator Inlägg: 1198 Skicka PM |
jag tror inte du förstår hur jag tänker. På den gamla goda tiden ritade man upp banan och flyttade sedan gubben genom att rita ett mellanslag där gubben varit och en gubbe dit gubben kom. På så sätt slipper du uppdatera hela skärmen och det flimrar inte. Har jag missuppfattat igen? ------------------------- Tänk om jag vore en skalärprodukt! |
The_code | 20:25 - 17:e Maj 2006 | Post #5 | |
Medlem Inlägg: 28 Skicka PM |
Hmm...Njaa. Skulle du kunna demonstrera. Men om något ska ändras i den texten (banan) som ritas, måste ju texten skrivas om (systen("cls") och rita bilden igen). eller ? ------------------------- Pillar med VB.NET, C++ och GameMaker Senast redigerad 20:26 - 17:e Maj 2006 |
HärJ | 21:16 - 17:e Maj 2006 | Post #6 | |
Moderator Inlägg: 1198 Skicka PM |
tja... jag kan inte c++ så bra men du kan få ett qb exempel CLS PRINT "**********************" PRINT "* *" PRINT "* *" PRINT "* *" PRINT "* *" PRINT "* *" PRINT "* *" PRINT "**********************" x = 3 y = 3 LOCATE x, y: PRINT "X" DO oldx = x oldy = y press$ = INKEY$ IF press$ = "w" THEN y = y - 1 IF press$ = "a" THEN x = x - 1 IF press$ = "s" THEN y = y + 1 IF press$ = "d" THEN x = x + 1 IF oldx <> x OR oldy <> y THEN 'fulhax q: IF oldx >= 22 OR oldy >=8 OR oldx <= 1 OR oldy <= 1 THEN LOCATE x, y: PRINT "X" LOCATE oldx, oldy: PRINT " " ELSE x = oldx y = oldy END IF LOOP UNTIL press$ = "q" END Har inte testkört koden. Ja, den är inte vacker. Fulhacket är att den inte kollar stjärnor utan avstånd, men det går att åtgärda enkelt. hoppas du fattar vad jag menar. Det är klart att om du byter bana, tar bort en vägg eller liknande, måste du köra en cls. Det är ganska svårt att komma ifrån. ------------------------- Tänk om jag vore en skalärprodukt! Senast redigerad 21:17 - 17:e Maj 2006 |
The_code | 21:29 - 17:e Maj 2006 | Post #7 | |
Medlem Inlägg: 28 Skicka PM |
Jo, det är det jag menar. Men system("cls"); funktionen är ganska långsam (?). S... jag undrade om det finn någon ana bra hemmagjort funktion någonstans ? ------------------------- Pillar med VB.NET, C++ och GameMaker |
Independence | 21:56 - 17:e Maj 2006 | Post #8 | |
Administratör Inlägg: 1800 Skicka PM |
Det gör inget att den är långsam om den bara används när du byter bana, eller? Tror inte det går att snabba upp det heller. Det någon sa om double buffering gäller bara grafiska applikationer, inte textbaserade. ------------------------- Vi är riddarna som säger fiskbulle! |
HärJ | 22:07 - 17:e Maj 2006 | Post #9 | |
Moderator Inlägg: 1198 Skicka PM |
Citat av Independence: Det gör inget att den är långsam om den bara används när du byter bana, eller? kan bara instämma. det beror ju lite på hur stor banan är iofs, men den är väl inte så liten att det sker hela tiden. Hoppas jag iaf. ------------------------- Tänk om jag vore en skalärprodukt! |
Nissebosselasse | 15:22 - 18:e Maj 2006 | Post #10 | |
Medlem Inlägg: 490 Skicka PM |
Hehe, jag blir nästan sugen på att koda lite QB när jag läser den koden! ------------------------- http://pushingcows.se Gula Nallen |
Sidor: 1
Forum huvudsida -> Programmering -> console-spel fråga
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-07 08:38
Vecka: 19
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.