I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Lav en form med 10 rækker af 4 felter (små firkanter/paneler/cirkler eller hvad du vil bruge).
Ud for hver af de 10 linier med 4 felter sætter du yderligere 4 små felter (igen firkanter/paneler/o.s.v.).
Du kan nu lave programmet således at du først i hukommelsen sætter 4 farveværdier i 4 vars der er svaret.
Dernæst tillader du brugeren at klikke på en farve for hver af de 4 felter i den aktive linie. Når brugeren har valgt farver skal han klikke på en knap for at få et svar.
Ved klik på svarknappen undersøger du derefter om der er nogen af de valgte farver der er sat korrekt i forhold til svaret. Hvis der er,viser du en farve i en af de små felter ud for linien. Det gør du for alle 4 felter. Hvis ikke alle 4 er rigtige undersøger du derefter om der er nogle af dem der ikke stod rigtigt der har en rigtig farve, men bare ikke på den rigtige plads. For hver af den sætter du så en anden farve i de små felter ud for linien. Efter undersøgelsen af svaret, og hvis svaret endnu ikke er rigtigt, sættere du så den næste linie aktiv, indtil du får et korrekt svar eller den 10. linie er udfyldt.
Sådan laver man det.
Hvis du med spørgsmålet mente om der var nogen der lige havde en kildetekst til hele programmet tror jeg ikke du får så mange svar.
Desværre sjensen det er ikke mastermind.. men fire på strib jeg mener... det hvor der er en 7x7 firkant og hvor man så skal putte brikkerne i foroven...
Det nemmeste ville nok være at tegne på selve formen... Du kan blandt andet lave selve pladen ved at bruge "canvas.MoveTo(x,y)" og "canvas.lineTo(x,y)" og så lave alle felterne være 50 pixels bred eller lign.
Du skal nu også lave en 1-D tabel, der holder styr på, hvor mange brikker der er i række nr. 1,2,3,4,5,6,7 altså hvis man kommer en brik i plads 2 (f.eks.) så sættes denne tabel (på plads 2) til at være sig selv +1, og derved ved du at næste brik i denne række skal sættes en tand højere oppe.
Du kan nu lave programmet sådan, at Hvis man trykker oven over den tegnede Spille-plade, så der hvor musen trykker er din x-koordinat, og den tilhørende værdi fra tabellen ovenfor er din y-koordinat. Du skal så blot gange din y koordinat med 50 og + en konstant til for at få den hen på den plads som der skal tegnes en brik.
Her tegner du så en cirkel eller kryds eller lign. alt efter hvem der er sin tur...
Angående Kryds og Bolle: Jeg antager at du har lavet det sådan at du har fundet et x og y koordinat (måske gemt i variablerne x og y ;-) )
Du kan lave et kryds ved at: Ud fra x,y værdierne laver du noget lignede (alt efter størrelsen af dine felter) Canvas.MoveTo(x-20,y-20) Canvas.LineTo(x+20,y+20) Hvorefter du har tegnet en streg af dit kryds. Så laver du den anden streg: Canvas.MoveTo(x-20,y+20) Canvas.LineTo(x+20,y-20)
Cirklen kan laves som en rund ellipse: Canvas.Ellipse(x,y,20,20) Hvor den anden sidste "20"er er bredden af din ellipse, og den sidste er højden...
(læg lige mærke til at jeg bruger tallet 20 som et eksemplel den kunne være en hvilken som helst værdi, alt efter hvor store du vil have dine ting.)
Her er en konsol app. Det er simpelt, men der mangler et check om man har vundet. Men er er grund ideen. Der mangler nogle check om man har tastet rigtigt. Det kan nemt laves om til window, men det må du selv rode med:))
program spil;
uses Forms,sysutils;
{$R *.RES}
var brat:array[1..7,1..7] of string[1];
procedure initbrat; var i,j:integer; begin for i:=1 to 7 do for j:=1 to 7 do brat[i,j]:=' '; end;
procedure tegnbrat; var i,j:integer; begin writeln(' 1 2 3 4 5 6 7'); writeln; for i:=1 to 7 do begin write(i); for j:=1 to 7 do write(' '+brat[j,i]); writeln; end; end;
function pladsiraekke(raekke:integer):boolean; var i:integer; begin result:=false;i:=7; while not result and (i>0) do if brat[raekke,i]=' ' then result:=true else dec(i); end;
procedure putbrikiraekke(raekke,spiller:integer); var i:integer; sat:boolean; begin sat:=false;i:=7; while not sat and (i>0) do begin if brat[raekke,i]=' ' then begin if spiller=1 then brat[raekke,i]:='X' else brat[raekke,i]:='O'; sat:=true; end else dec(i); end; end;
function vundet:boolean; begin //her skal være et check om en har vundet.
result:=false; end;
var igang:boolean; tur,i:integer; valg:string; begin initbrat; tur:=0; igang:=true; for i:=0 to 15 do writeln; tegnbrat; while igang do begin writeln; if not vundet then begin write('Det er spiller '+inttostr(tur+1)+'''s tur. Hvilken række? '); readln(valg); for i:=0 to 15 do writeln; if pladsiraekke(strtoint(valg)) then begin putbrikiraekke(strtoint(valg),tur); tur:=(tur+1) mod 2; end else writeln('Der er ikke plads'); writeln; tegnbrat; end else begin writeln('Spiller '+inttostr(tur+1)+' har vundet'); readln; igang:=false; end; end; end.
Meningen med alt dette er vil, at man kune stiller et spg. af gangen!!! Hvis du vil stille en mere, må man vil give det mere points for det i form af et nyt spg.
(med andre ord, så kan jeg ikke lige komme i tanke om noget angående dit nye spg. , så måske er det smartest at lave et helt nyt hoved spg. omkring det, så du lokker nogen der ved noget om det med...)
~~~trolle
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.