[Java spørgsmål] World of Zuul - Highscore?

  • Jeg sidder pt. og roder med et java projekt, og i den forbindelse skal jeg implementere en highscore i det tekstbaserede spil "World of Zuul".


    Desværre, er jeg temmelig lost omkring hvordan det skal gøres, så derfor har jeg brug for hjælp.


    Når en spiller har gennemført spillet, skal de - udfra hvor lang tid de har brugt - have udregnet en eller anden pointscore som de så kan blive skrevet på highscorelisten med.


    Vi har fået oplyst, at highscorelisten skal gemmes i en fil, som så indlæses ved start af spillet for derefter at blive opdateret og gemt når en spiller har spillet et spil.


    Er der nogen der ved mere om Java programmering end jeg gør?

  • du har fået PM,

    Intel I5 2500k | Gigabyte Z68 | 16GB Kingston | Radeon 380 | 1 Samsung EVO850 512MB | Enermax Digifanless 550W
    27" (U2711) DELL | 24" (2408WFP) DELL | Ergotron LX Dual Side-by-Side

    Canon 5DM4 | 16-35mm 2.8L | 24-70mm 2,8L | 85mm 1.2L USM II | 70-200mm 2.8L IS
    Nogle Speedlites | PocketWizards

  • Quote

    Oprindeligt indlæg af tronic
    Håber du læser dette indlæg.


    Hej, fandt du nogensinde ud af at lave en highscore til World of Zuul? Jeg sidder med præcis samme problemstilling og er gået lidt i stå :-/


    Normalt er det temmelig dårlig stil, at vække så gammel en tråd til live, og selvom du nok i stedet burde have valgt at sende en PM i stedet for ;)


    Jeg vil dog lade tråden være åben, for måske er der nogen herinde der kan hjælpe dig. Jeg kan i skrivende stund ikke huske om det lykkedes for os, men jeg tror egentlig nok at det gjorde. Jeg er dog lige i øjeblikket ved at færdiggøre min kandidatafhandling, og lever samtidig i flytterod, så jeg har først tid til at se om jeg kan finde vores løsning frem i løbet af næste uge, og jeg kan ikke garantere, at jeg kan finde noget.


    Men ellers må du have en underviser du kan spørge? Forresten, er du stud.cand.it eller er der virkelig folk på andre uddannelser der bliver præsenteret for World of Zuul? :))

  • meh, jeg ved noget om java men har aldrig hørt om WoZ.


    Nu er jeg så til gengæld ikkeså rutineret i at lave spil, men jeg kan måske give dig det der er brug for..


    En heltalsvariabel til point
    du skal bruge en variabel der kan samle point op, hvilken slags kommer an på hvor mange points spilleren skal kunne samle. Så længe spilleren ikke skal samle så mange point igen er en int variabel nok. Jeg kan så ikke huske om man kan lave en sådan én unsigned i java (uden fortegn), men det fordobler "rækkevidden" på din variabel så længe du ikke skal bruge minuspoint til noget


    brug DENNE LISTE som en guide til hvad du skal bruge. en int variabel går op til 2,147,483,647, så det burde være nok.


    som et eksempel kan jeg give lidt kode, men da jeg er lidt rusten til java kan der godt være fejl i syntaksen:



    som sagt kan det nok ikke lige passe direkte ind i java, da det er lang tid siden. Syntaksen her går ud på at sætte et fast antal points til whatever fjende man slår ihjel eller hvilken ting man samler op. Man kan også bruge "if"-sætninger til det, men det gør kun programmet langsommere. Jeg kan så ikke huske om man kan bruge switch...case i java, men jeg ved at i C# giver det et grundigt boost ift. if-sætninger da programmet med det samme ved hvad for en case det drejer sig om, i stedet for at skulle gennemse hver eneste "if"-sætning


    Scoreboard/highscore/hall of fame
    Her skal du så kunne outputte din point variabel, samtidig med at man kan skrive et navn ind. Desuden skal dit scoreboard kunne sortere mellem scores så den største skrives øverst.Hvis du vil kan du så bruge en ekstern fil til at gemme scores i, som er i et eller andet weird format (.lol, .roflmao whatever...).


    Hvis highscores skal sendes til en side på nettet


    Dette er straks mere besværligt, da jeg mildest talt ikke har den fjerneste idé im hvordan man skal gøre dette i java. men du kan bruge én af 3 metoder:


    1. få programmet til at sende seneste highscore af sig selv.


    2. få programmet til at sende ens highscorefil (hvis du gemmer i en ekstern fil)


    3. få brugeren af programmet til at sende highscorefilen til din mail og sæt din HoF op selv.


    3a. få brugeren til at sende highscorefilen til din mail og lav et fikst program til din HoF så du smider filen ind og din HoF sætter sig selv op.


    Uanset hvad, kræver det lidt arbejde på den hjemmeside hvor din Hall of Fame skal være, da den skal kunne behandle indkommende highscores fra spillerne. Desuden kan du prøve at finde ud af om ikke der er et fikst plugin til et CMS system derude (joomla, drupal, travelsized etc...)

    CPU: Pentium III 500 MHz
    RAM: 256 MB PC133 SD RAM
    Bundkort: HP bundkort
    GPU: Matrox MGA G200

  • High,score jeg ville gøre det i en xml fil


    Når du skal vise highscore loader du så bare xml filen ind og præsentere det.


    Når du skal "ændre" = ny score loader du igen ind fra xml filen, som du ligger op i en liste af scores
    Som har objektet der indeholder String nick og double score
    Og når du gemmer så laver du bare en save funktion til din liste, som outputter i xml og overskriver din xml fil


    xml strukur alla


    <scores>
    <score nick="Thomas" value="95" />
    ...
    ...
    <score nick="Peter" value="35" />
    ....
    ..
    <score nick="Morten" value="11" />


    </scores>

    Intel I5 2500k | Gigabyte Z68 | 16GB Kingston | Radeon 380 | 1 Samsung EVO850 512MB | Enermax Digifanless 550W
    27" (U2711) DELL | 24" (2408WFP) DELL | Ergotron LX Dual Side-by-Side

    Canon 5DM4 | 16-35mm 2.8L | 24-70mm 2,8L | 85mm 1.2L USM II | 70-200mm 2.8L IS
    Nogle Speedlites | PocketWizards