lørdag, januar 23, 2021

Nybegynder Helvede – Dramatisk pause!

Daily Rush Debat Programmering Nybegynder Helvede – Dramatisk pause!

  • Forfatter
    Emne
  • #0

    BlackAutt
    Bruger
    19 indlæg
    Offline

    Hey, så er det tid igen herfra at stille nogle skrubirreterende begynder spørgsmål, men det skal jo desværre til..

    Nåh… Til Sagen :
    1. Jeg sidder nu og koder på mit spil, og har brugt srand mod klokkeslettet, for at lave mine seeds og det virker storartet. Uheldigvis ser det ikke videre fedt ud (hvor fedt ser text spil egenligt ud?) at man skal knaste en tast, hver gang der sker en handling (f.eks. kamp).. der kunne det være ret smart, hvis spillet bare lavede X sekunders pause før det kørte videre.. (jeg bruger dev-cpp)… har prøvet de mere gængse c++ sider, men kan ikke finde andet end “sleep”, som bare ikke virker med min compiler…

    2. … og hvordan kan jeg bruge getch() (eller tilsvarende), til at afvente et taste tryk og derefter proppe char’en ind i min switch? .. det ville være bedst at man heller ikke skal sidde og hakke enter hver gang man foretager sig et valg..

    Hvis du vil flame mig, så gør endelig det, jeg er jo nybegynder

Viser 10 kommentarer - 1 til 10 (af 10 i alt)
  • Forfatter
    Kommentarer
  • #1

    JaPeX
    Bruger
    2.054 indlæg
    Offline

    prøv Sleep() i stedet … når du kører console ved jeg ikke om du prøver at undgå det, men hvis det heller ikke virker skal du måske include <windows.h >

    Edit: skal åbenbart være mellemrum mellem h og > her på sitet.

    Karl Pilkington has got a head like a fucking orange.

    #2

    BlackAutt
    Bruger
    19 indlæg
    Offline

    #1

    sleep() virker ikke… windows.h er incl.

    måske det er en anden include fil jeg skal bruge?

    #3

    _Venom
    Bruger
    5.364 indlæg
    Offline

    tja… hvis sleep ikke virker kan du jo lege med trådhåndtering og sætte flag, men at få sleep til at virke ville nok være en del mindre kompliceret

    så vidt jeg husker er det windows.h sleep ligger i, men nu husker du vel at kalde den med stort s?

    fx
    Sleep(500);
    for 500 millisekunders sleep

    (Redigeret 30-02-3045 13:37)

    #4

    BlackAutt
    Bruger
    19 indlæg
    Offline

    #3
    Takker… man skal lige vende sig til at skidtet er case sensitive

    #5

    JaPeX
    Bruger
    2.054 indlæg
    Offline

    hehe … derfor jeg sagde Sleep() _i stedet_ sorry at jeg ikke var clear fra start

    Karl Pilkington has got a head like a fucking orange.

    #6

    BlackAutt
    Bruger
    19 indlæg
    Offline

    #5

    Ok, så virker det jo smukt…

    Men så er der mit spørgsmål nr. 2 :

    Det ser ikke så godt ud, at man ved alle valg får et tekstfelt at udfylde en karakter på, for derefter at skulle trykke enter. Til dette formål bruger jeg cin og switch, men det ville da være rart, hvis man bare skulle trykke tasten uden at have en blinkende cursor og uden at skulle trykke enter det halve af tiden. Er det noget _kbhit jeg skal bruge til det? .. hvordan ser syntax’en ud for det?

    #7

    _Venom
    Bruger
    5.364 indlæg
    Offline

    _getch() tager en enkelt character, så man slipper for at trykke enter

    (Redigeret 30-02-3045 13:37)

    #8

    BlackAutt
    Bruger
    19 indlæg
    Offline

    #7 Jep, den bruger jeg også, men kan getch() også bruges som erstatning for cin? Jeg vil gerne minimere forbruget af enter tasten til kun at skulle bruges når man taster spillernavnet ind..

    ventpåentast(Tast);
    switch (Tast)
    {
    case x69:
    funktion();
    break;
    etc.
    }

    istedet for :
    cin >> Tast;

    #9

    _Venom
    Bruger
    5.364 indlæg
    Offline

    tjaa… nu er det langtid siden jeg har rodet med det, men getch() returnerer vistnok den tast, der er blevet trykket, så det ville nok se sådan ud:

    char Ta­st = getch();
    switch (Tast)
    {
    case x69:
    funktion();
    break;
    etc.
    }

    (eller måske endda bare switch(getch()) )

    du skal desuden passe på med cin og desligende, da de har en uheldig sidevirkning ved ikke at flushe deres buffer, så ting du skriver bliver “gentaget”. kan ikke huske om det også gælder for getch(), men det mener jeg

    (Redigeret 30-02-3045 13:37)

    #10

    BlackAutt
    Bruger
    19 indlæg
    Offline

    #9 Takker

    det virker bare storartet med switch(getch()) ..

Viser 10 kommentarer - 1 til 10 (af 10 i alt)
  • Du skal være logget ind for at kommentere på dette indlæg.