CPU: i5-2500K | RAM: 4gb XMS3 1333mhz | Grafikkort: XFX Radeon 5770 | Mobo: MSI P67A c45 | HDD: WD Black 500GB | Chassi: NZXT Lexa S |PSU: XFX XXX Edition 750W
(hjälp) C# console application meny via ConsoleKey
Visa signatur
Skrivet av x3onz:
tjenare, jag sitter här hemma och har tråkigt, och orkar inte spela battlefield bad company2, så jag tänkte göra ett eget ganska simpelt spel, i detta fallet donkey kong.
jag har ett problem, jag ska göra en meny där man bläddrar med piltangenterna och sedan väljer med enter.
ska sedan göra en sida där man registrerar sig och sedan ska man kunna logga in på spelet med det kontot man skapar.
men men, problemet är. i if else satsen så kollar den om menyY har värde 3, 4, eller 5 och genom det ska ny information i programmet hittas. när jag väljer något i menyn så stängs programmet ner. och skriver inte ut någon text eller linkande. någon som har någon ide om hur man kan fixa det?
Eftersom du bara har exit på ett ställe så kan du ju skriva något där innan du kör exit-koden. Då vet du om det är din logik det är fel på.
Om det är så att menyY = 0 när den står på "1. Stat the game" så kommer den aldrig att bli högre eller lika med 3. I din kod så gör du så att allt under 3 blir automatiskt 5. Då går den direkt till exit.
Ett tips, gör lite metoder som förenklar utskrivningen av menyerna osv. Jag ser att du kör Sleep(x) för att det inte ska skrivas ut så snabbt.
private void PrintLettersSlow(string text,long sleeptime)
{
//Loopa alla chars i "text" och skriv ut
//Gör en sleep efter varje utskrivning med "sleeptime" som intervallet.
}
private void PrintSlowLine(string text,long sleeptime)
{
//Skriv ut texten
//Gör en sleep efter utskrivningen med "sleeptime" som intervallet.
}
Du kanske redan har tänkt på det. Större uppdelning skulle ditt spel kräva skulle jag säga.
Visa signatur
ηλί, ηλί, λαμά σαβαχθανί!?
Citera flera
Citera
Skrivet av Leedow:
Eftersom du bara har exit på ett ställe så kan du ju skriva något där innan du kör exit-koden. Då vet du om det är din logik det är fel på.
Om det är så att menyY = 0 när den står på "1. Stat the game" så kommer den aldrig att bli högre eller lika med 3. I din kod så gör du så att allt under 3 blir automatiskt 5. Då går den direkt till exit.
Ett tips, gör lite metoder som förenklar utskrivningen av menyerna osv. Jag ser att du kör Sleep(x) för att det inte ska skrivas ut så snabbt.
private void PrintLettersSlow(string text,long sleeptime)
{
//Loopa alla chars i "text" och skriv ut
//Gör en sleep efter varje utskrivning med "sleeptime" som intervallet.
}
private void PrintSlowLine(string text,long sleeptime)
{
//Skriv ut texten
//Gör en sleep efter utskrivningen med "sleeptime" som intervallet.
}
Du kanske redan har tänkt på det. Större uppdelning skulle ditt spel kräva skulle jag säga.
det här känns lite udda, igår fungerade inte menyn som jag ville, idag så fungerar den :S
angående private void PrintSlowLine(string text,long sleeptime)
{
//Skriv ut texten
//Gör en sleep efter utskrivningen med "sleeptime" som intervallet.
}
så får jag tacka för tipset, ska lägga till det i mitt spel
Visa signatur
CPU: i5-2500K | RAM: 4gb XMS3 1333mhz | Grafikkort: XFX Radeon 5770 | Mobo: MSI P67A c45 | HDD: WD Black 500GB | Chassi: NZXT Lexa S |PSU: XFX XXX Edition 750W
Citera flera
Citera
Skrivet av Leedow:
private void PrintLettersSlow(string text,long sleeptime)
{
//Loopa alla chars i "text" och skriv ut
//Gör en sleep efter varje utskrivning med "sleeptime" som intervallet.
}
Skrivet av x3onz:
Exakt som Leedow sa, du bör dela upp din kod för att senare göra den mer läsbar.
Jag har gjort en liknande funktion i c++ men bör gå relativt enkelt att göra om till C#.
Då jag antar att en string har liknande funktioner i C# som i c++.
void printText(long sleep, string text)
{
for(unsigned int i = 0; i < text.size(); i++)
{
cout << text[i];
Sleep(sleep);
}
}
int main()
{
string text ("hello world");
printText(500, text);
}
Citera flera
Citera
Hårdvara
- Idag Sony läcker uppgifter i rättegång – så stort är Call of Duty 12
- Igår Nvidia: "Energieffektiva RTX 4060 sparar hundralappar" 37
- Igår MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare 46
- Igår Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer 15
- Igår Nvidias nästa arkitektur för Geforce kommer år 2025 58
Mjukvara
Övrigt
- Igår Veckans fråga: Vilket operativsystem föredrar du? 83
- Igår Bilar med smarta inslag ger fler dumma fel 63
- 27 / 6 Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år" 88
- 26 / 6 Lastpass-användare rasar – kan inte logga in 59
- 26 / 6 Inet frågar SweClockers – Vad skulle du vilja förbättra på Inet.se? 53
Datorkomponenter
Ljud, bild och kommunikation
- Köpråd gamingdator, budget ca 25-33k15
- En av tre fläktar på en AIO går på högvarv2
- Benify-erbjudanden på Samsung-TV [utbruten tråd]1030
- Hej, min fjärrkontroll till Google tv'n har pajat och kan inte synka kontrollen3
- Pixel 6 pro med trasig skärm, rädda data?1
- Gå ner i vikt - tråden2972
- Borra i betongvägg61
- Bethesda: "Starfield endast något försenat – tack vare exklusiv lansering"41
- Elbilar - Tråden för intresserade20460
- Sony läcker uppgifter i rättegång – så stort är Call of Duty15
- Säljes Gamingdator 4080 / 13700KF / 32GB DDR5
- Säljes I5 12500
- Säljes LG 27'' UltraGear 27GP950 4K Nano IPS 160 Hz HDMI 2.1
- Säljes Star Wars Jedi AMD kod
- Säljes Trasig Xiaomi Mi Electric Scooter (M365) Svart
- Säljes 5800x3D + x570 Meg Unify + be quiet! Dark Rock Slim
- Säljes AMD ASUS DUAL RX6700XT
- Säljes Dell OptiPlex 7010
- Säljes Datordelar: i5 9600k + 1070 GTX mm.
- Säljes 1080 TI | Vattenblock | 1TB SSD | Apple Watch 4 Stainless | Hörlurar | Mikrofon
- Sony läcker uppgifter i rättegång – så stort är Call of Duty15
- Nvidia: "Energieffektiva RTX 4060 sparar hundralappar"37
- MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare47
- Veckans fråga: Vilket operativsystem föredrar du?84
- Bilar med smarta inslag ger fler dumma fel63
- Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer15
- Nvidias nästa arkitektur för Geforce kommer år 202558
- Microsoft vill strömma Windows från molnet72
- Starfield utvecklas med AMD:s välsignelse153
- Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år"88
Externa nyheter
Spelnyheter från FZ
- Över tre miljoner exemplar av Final Fantasy XVI har skeppats och sålts idag
- Sony råkar avslöja spelbudgetar och annat på grund av dålig märkpenna idag
- Alan Wake och CoD: Kallt krig snart på PS Plus igår
- Red Dead Redemption åldersmärkt igen i Korea – det spekuleras i remaster igår
- Fallout London flyttas för att slippa Starfield-konkurrensen igår