08. december 2002 - 23:17Der er
11 kommentarer og 1 løsning
Kontrol af random bogstaver i tabel.
jeg har fået lavet et script herinde (jeg paster det som kommentar efter denne beskrivelse)
Jeg vil høre om det på nogen måde er muligt at få det ændret sådan, så den kontrollerer at der ikke er nogen ens bogstaver i nogen af søjlerne. -det er ligemeget vandret, men der må ikke være 2 ens bogstaver lodret.
Hvis der er en der kan lave det, er der 150 points at hente her :)
<script language="JavaScript"> /* * This function parses comma-separated name=value argument pairs from * the query string of the URL. It stores the name=value pairs in * properties of an object and returns that object. */ function getArgs() { var args = new Object(); var query = location.search.substring(1); // Get query string. var pairs = query.split(","); // Break at comma. for(var i = 0; i < pairs.length; i++) { var pos = pairs[i].indexOf('='); // Look for "name=value". if (pos == -1) continue; // If not found, skip. var argname = pairs[i].substring(0,pos); // Extract the name. var value = pairs[i].substring(pos+1); // Extract the value. args[argname] = unescape(value); // Store as a property. } return args; // Return the object. }
function dw( txt ) { document.write( txt ); }
function redraw() { var nextsearch = '?rows='+ document.f.rows.value + ',cols='+ document.f.cols.value + ',letnum='+ document.f.letnum.value; location.search = nextsearch; }
var rows = 8; var cols = 15; var letnum = 2; var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
</script>
</head> <body>
<script language="JavaScript"> var args = getArgs(); if (args.rows) rows = parseInt(args.rows); if (args.cols) cols = parseInt(args.cols); if (args.letnum) letnum = parseInt(args.letnum);
dw('<table border=0 cellpadding=10 cellspacing=0><tr><td valign=top colspan=3>\n') dw('<table border=1>\n'); for (r = 0; r < rows; r++) { dw(' <tr>\n') for (c = 0; c < cols; c++) {
dw('<td>'); for (l = 0; l < letnum; l++) { randval = Math.floor(Math.random() * 26);
Det er ikke helt klar hvad du mener: Hvis nu der er mere end 1 bogstav i hvert felt, skal det så forstås sådan at:
Samtlige bogstaver i feltet hører til søjlen, og skal være forskellige fra alle andre bogstaver i samme søjle
eller
Bogstav1 i feltet skal betragtes som en 'mini-søjle' og skal være forskellig fra alle andre Bogstav1 i søjlen, Bogstav2 i feltet skal betragtes som en 'mini-søjle' og skal være forskellig fra alle andre Bogstav2 i søjlen, osv
hmm ja, de kan godt betragtes som forskellige søjler.. men egentligt er det nok hvis bare det første bogstav er forskelligt, for det vil automatisk garantere at der ikke er to ens bogstab-rækker i samme søjle.
det er til noget træning med kode-gejl indenfor hæren. Er du sikker på den ikke gentager bogstaver i hver lodrette søjle? -jeg har kigget, og har ikke set nogen gentagelser, men ville bare lige checke :)
Det den gør er at lave en tabel, 1 gange 26, med alle bogstaverne. Det er arrayet bogstaver. Den tager den så og sætter i en tilfældig rækkefølge (tbogstaver), en ny tilfældig rækkefølge for hver 1. bogstav i hver søjle. Derefter tager den bare bogstaverne ud af denne tabel, en ad gangen. Derved sikrer man sig at den ikke gentager bogstaverne. Du kan se det ved at lave 27 raekker, så kommer der en "undefined" i sidste række. De andre bogstaver i søjlen tager den bare fra en tilfældig plads i bogstaver. Men det var da godt at der var så mange point i det, jeg er ikke meget for at være underleverandør for hæren!
lol det er bare træning. den skal kun bruges en gang, for om 2 måneder skifter de til et nyt system. Hvis det ikke var fordi de skiftede til et nyt system, kunne jeg ikke engang have skrevet hvad det var til her.
OK så. Du kan iøvrigt bare udvide bogstaver, hvis du vil have ÆØÅ med, eller hvis du vil blande tal i. Der skriver du dem bare efter str = "...", altså: str = 'A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,Æ,Ø,Å,1,2,3,4'; Den finder selv ud af at der er kommet flere. Du må bare ikke komme mellemrum ind.
Synes godt om
Ny brugerNybegynder
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.