Avatar billede Slettet bruger
19. februar 2001 - 21:54 Der er 14 kommentarer og
2 løsninger

Kortere tjek

Jeg er ved at lave et spil hvor jeg har en del variabler de ender på et tocifret tal dem vil jeg gerne se om de er passer sammen med nogle der er 1 og 10 højere og mindre. jeg ved der er en lang måde at skrive dem på jeg vil gerne have en kort måde at skrive det på.
Håber i kan hjælpe.
Avatar billede lrj Nybegynder
19. februar 2001 - 22:42 #1
Skal du udtrække de sidste 2 cifre i et tal kan du bruge mod 100, fx.
x:= 43234 mod 100;
(så indeholder x 34).
Avatar billede Slettet bruger
19. februar 2001 - 22:48 #2
det jeg vil er at tjekke om når brugeren højreklikker at fx. a35 indhold kan passe sammen det der er i a25 , a45 , a34 , a36
som et eksempel
Avatar billede martinlind Nybegynder
19. februar 2001 - 22:49 #3
Det hurtigste er nok at bit-maske dem ud altså tal and $00FF00 det \"masker\" kun tal igenen FF fordi alt and med nul bliver nul og alt and F giver det du and\'er med.

/Martin
Avatar billede Slettet bruger
19. februar 2001 - 22:50 #4
det forstår jeg ikke kan du forklar det nermere
Avatar billede Slettet bruger
19. februar 2001 - 22:58 #5
jeg kommer igen i mogen for jeg er nødt til at  sove jeg skal op kl.6
beklager
Avatar billede martinlind Nybegynder
19. februar 2001 - 23:02 #6
Yes !

8 decimalt er lig 0001 binært eller 08 hex så hvis du finder pladsen binært kan du sige de tal fra du vil se på eller under søge ved at bruge and
f.eks.

if ( $08 and $02 ) then

dette er den måde din computer regner på og er derfor det hurtigste du kan få.

prøv evt. at forklar dit problem lidt nærmere med et eks.
Avatar billede Slettet bruger
20. februar 2001 - 20:35 #7
procedure TForm1.Button1.Click(Sender: TObject);
var g01,g01,....g99 : String;
error:integer;
begin
    if g01=g01 then
        Begin
        if g01=g11 then
            Begin
            End
            Else
            Begin
            Error:=Error+1;
            Memo1.Lines.Add(\'g01\')
            End
        End;
    if g02=g01 then
        Begin
        if g02=g03 then
            Begin
            if g02=g22 then
                Begin
                End
                Else
                Begin
                Error:=Error+1;
                Memo1.Lines.Add(\'g01\');
                End;
            End;
        End;
    End;
{sådan fortsetter det (de er som et gitter
    1  1234567890
    2  1234567890
    3  1234567890
    4  1234567890  ovs.}
end;
Avatar billede Slettet bruger
25. februar 2001 - 23:32 #8
Er der virkelig ikke nogen der kan hjælpe mig

Mvh. Simon
Avatar billede martinlind Nybegynder
26. februar 2001 - 10:20 #9
Hvis du ikke kan bruge det jeg har skrevet så prøv lige at pensle det lidt mere ud.
Forstår ikke helt dit problem.

/Martin
Avatar billede Slettet bruger
26. februar 2001 - 19:16 #10
i fire lag har jeg 100 variabler. og dertilhørende billeder i et 10x10 mønster (lagene er uden betydning for tjekket i langt de fleste tilfælde)
jeg vil gerne have en let måde at skrive på at programmet skal tjekke dem der står lige op og ned af hinanded om de er ens i værdi eller farve (variabelnavnmesigt);

Mvh. Simon
Avatar billede martinlind Nybegynder
26. februar 2001 - 20:54 #11
Hmmm....ikk forstået ????????


Martin
Avatar billede Slettet bruger
28. februar 2001 - 19:07 #12
vis vi ser på minestryger
der er 8x8 felter
og 10 miner (i den der ligner mest det jeg skal bruge)
nu tager vi og siger at vi vil finde ud af hvor mange miner der grenser op til hvert felt.
nærmere kan jeg ikke sige det.

Mvh. Simon
Avatar billede martinlind Nybegynder
01. marts 2001 - 10:45 #13
Jeg er ikke helt sikker på jeg fatter en skid men det er sikkert ikke din skyld, jeg prøver lige at forklare mit bitmaske foreslag igen.

Vi leder efter en værdi der heder $0F00 hex
så laver du en if der ser sådan ud :

if ( X and $0F00 > 0 ) then
begin
 
end;

jeg tror det er noget af det hurtigste sammenligning du kan få, husk at du og kan kode asm direkte i din delphi kode.

/Martin
Avatar billede Slettet bruger
04. marts 2001 - 16:27 #14
Kan man bruge dem sådan
if x=$0FAF
then
Begin
End;

Jeg lukker dette spørgsmaål snart men jeg mener at du (Martin) skal hve poengene eller i hvert fal nogle af dem men jeg fik ikke svar på mit egentlige spøgrsmål. men jeg fik aligevel lidt hjælp.

Mvh. Simon
Avatar billede martinlind Nybegynder
04. marts 2001 - 18:18 #15
Ja du kan teste en Var med AND og OR XOR osv.

if X = [Hex-tal] then
begin
end;

/Martin
Avatar billede Slettet bruger
04. marts 2001 - 18:56 #16
Tak du får 10 poeng for dit brugbare svar

Mvh. Simon
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