Avatar billede 1006 Nybegynder
09. maj 2002 - 23:11 Der er 1 kommentar

kommentering af sml program

please kommenter dette SML program, hvis I kan ... ? !
* her loader vi de respektive moduler til senere brug i funktionerne *
load "Random";
load "List";
load "TextIO";

* danner en liste over de mulige navne man kan gætte på, og indsætter dem i en value "ordliste" *
val ordliste = ["anders","anton","allan","brian","birger","bjarne","chris","claus","claes","mikkel","morten","max","rasmus","robert","richard","anne","anita","anja","bolette","birthe","bodil","christina","cindy","charlotte","maja","mette","marie","rikke","ragnhild","ruth"];

* value som returnerer et tilfældigt tal, der skal bruges til at bestemme hvilket navn som skal gættes. *
val mingenerator = Random.newgen();

* her bruges output fra "mingenerator" til at bestemme navnet som skal gættes *

val place = Random.range (0,length (ordliste)) mingenerator;

* her bruges en explode funktion for at konvertere fra list til string *
val ord = explode(List.nth(ordliste,place)^"\n");

* dette er funktionen som sørger for text output til brugeren, hvad end det er indledende info eller et vinder svar osv. *
fun tale(a)=(TextIO.output(TextIO.stdOut,(a));TextIO.flushOut TextIO.stdOut);

* her afgøres hvilket output burgeren skal have afhængigt af om det er et herre eller damenavn *
fun kategori() = if place <= 14 then "\nDu skal gaette et herrenavn \n" else "\nDu skal gaette et kvindenavn \n";

infix i

fun (b:char) i [] = false
          | (b:char) i (x::xs) = (b = x) orelse (b i (xs));


fun spil (0,hemmelig) = tale ("Det var ikke helt godt, det rigtigt navn er "^(implode ord))
  | spil (n,hemmelig) = let val spoergsmaal = tale("Indtast bogstaver, du har i alt 5 gaet til at finde det rigtige navn." ^kategori())
              val brugergaet = explode (TextIO.inputLine(TextIO.stdIn))
              val resultat = implode (map (fn (x:char) => if x i brugergaet then x else #".")  hemmelig)
          in
              tale(resultat); if brugergaet=hemmelig then tale "Du vandt!! Din heldige kartoffel" else spil (n-1,hemmelig)
          end;

val _ = spil (5,ord);
Avatar billede 1006 Nybegynder
09. maj 2002 - 23:12 #1
hehe , bare vær så venlig at overse de tidligere kommentarer i dokumentet. Det jeg mener er altså kommentarer i henhold til de enkelte linjer af kode ! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester