cupoftea Skrevet 21. mars 2012 Skrevet 21. mars 2012 (endret) Hei, vi er en gruppe på 4, Vi skal programmere sjakk. Akkurat nå står vi fast på hvordan konge, og bonde skal angripe skrå. Kongen flytter på skrå og angriper vertikalt og horisontalt. //angrep hvit bonde mot svart brikke else if(isWhite())if((Math.abs(frax-tilx) == 1) && tily-1 == fray){ if(!brett.getBrett()[tilx][tily].isWhite()){ return true; } } //angrep sort bonde mot hvit brikke else if(!isWhite())if((Math.abs(frax-tilx) == 1) && tily+1 == fray){ if(brett.getBrett()[tilx][tily] != null && brett.getBrett()[tilx][tily].isWhite()){ return true; } } return false; } //angrep ved skrå if((Math.abs(frax-tilx) == 1) && (Math.abs(fray-tily)==1)){ return brett.getBrett()[tilx][tily].isWhite()!=isWhite()? true:false; } //angrep vertikalt og horisontalt if((Math.abs(frax-tilx)==1&&fray==tily)|| (Math.abs(fray-tily)==1&&frax==tilx)){ return brett.getBrett()[tilx][tily].isWhite()!=isWhite()? true:false; } return false; } Når vi tester dem i Junit, får vi at angrep på skrå ikke er gyldig Endret 21. mars 2012 av cupoftea
Kiff Skrevet 21. mars 2012 Skrevet 21. mars 2012 (endret) Koden er veldig vanskelig å lese. Prøv å skrive den litt finere, det hjelper både dere og øker sjangsen for å få hjelp. To tips: Det er en god ide og alltid bruke { etter if. Sett alltid ny if på ny linje. kode som else if(isWhite())if (...) er å be om problemer. Dere bruker variasjoner av Math.abs(frax-tilx)==1&&fray==tily) flere ganger. Kan dette skilles ut i en forklarende metode?F.eks private boolean hasMovedDiagonally(int x, int dx, int y, int dy, boolean forward){ //... } Endret 21. mars 2012 av Kiff 1
Gjest Slettet+9871234 Skrevet 21. mars 2012 Skrevet 21. mars 2012 Jeg har kode i såvel C++ / C som php.
cupoftea Skrevet 21. mars 2012 Forfatter Skrevet 21. mars 2012 Koden er veldig vanskelig å lese. Prøv å skrive den litt finere, det hjelper både dere og øker sjangsen for å få hjelp. To tips: Det er en god ide og alltid bruke { etter if. Sett alltid ny if på ny linje. kode som else if(isWhite())if (...) er å be om problemer. Dere bruker variasjoner av Math.abs(frax-tilx)==1&&fray==tily) flere ganger. Kan dette skilles ut i en forklarende metode?F.eks private boolean hasMovedDiagonally(int x, int dx, int y, int dy, boolean forward){ //... } takk for svar, vi har løst det nå
GeirGrusom Skrevet 21. mars 2012 Skrevet 21. mars 2012 Jeg har kode i såvel C++ / C som php. Det er Java...
srbz Skrevet 11. april 2012 Skrevet 11. april 2012 (endret) Jeg merker meg at tråden er både litt gammel og løst, men jeg vil bare skyte inn at kongen kan både bevege seg og angripe i alle retninger - diagonalt, horisontalt og vertikalt, alle veier edit: Sorry, det er vel også slik dere har implementert det åpenbart Endret 11. april 2012 av srbz
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå