Hirdetés
- És akkor egy fejlesztőstúdió rájött, hogy vissza is élhetne a felskálázással
- Mini-ITX
- VGA hiba
- Samsung Galaxy Tab A 6 - fél kiló harminc, maradhat?
- AMD GPU-k jövője - amit tudni vélünk
- Őszre feketét ölt a THEC64 Mini
- Milyen CPU léghűtést vegyek?
- Milyen videókártyát?
- Új szintre emeli a csalók elleni védelmet a Battlefield 6
- Nvidia GPU-k jövője - amit tudni vélünk
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
Új hozzászólás Aktív témák
-
#74220800
törölt tag
Najo hajotSorra() es a hajotOszlopra() metódusoknál elszámoltam magam.De meg mindig nem jő. Ha van aki velem számol (9244,9245 hozz), itt a frissitett verzio:
public class torpedo {
private final int rows;
private final int cols;
private final boolean[][] hits;
private final boolean[][] ships;
public torpedo (int numRows, int numCols) {
this.rows = numRows;
this.cols = numCols;
this.hits = new boolean[rows][cols];
this.ships = new boolean[rows][cols];
}
public void startGame() {
placeShips();
printfield();
}
private void placeShips() {
int [] shiporder ={2,2,2,2,3,3,3,4,4,5};
for(int j = 0; j < shiporder.length; j++){
int n = (int)(Math.random()*10);
int b = shiporder[n];
shiporder[n] = shiporder[j];
shiporder[j] = b;
}
int [] randomarray ={0,1,2,3,4,5,6,7,8,9};
for(int j = 0; j < randomarray.length; j++){
int w = (int)(Math.random()*10);
int g = randomarray[w];
randomarray[w] = randomarray[j];
randomarray[j] = g;
}
for(int j = 0; j < shiporder.length; j++){
int ship = shiporder[j];
int e = (int)(Math.random()*2);
if ( e == 0 && (hajotVizszintesre( randomarray, ship) ||hajotFuggolegesre( randomarray, ship ) ));
if ( e == 1 && ( hajotFuggolegesre( randomarray, ship) || hajotVizszintesre( randomarray, ship ) ));
}
}
public boolean hajotSorra(int x, int[] arr, int size){
boolean shipreadyleft = false;
boolean shipreadyright = false;
for( int k = 0; k < arr.length; k++){
int point = arr[k];
for( int j = point; j >= 0; j--){
if( ships[x][j] ){
if ( point - j >= 2 ) shipreadyleft =true;
break;
}
if( ships[ Math.max(0,x-1)][j] || ships[ Math.min(9,x+1)][j] ){
if (point - j >= 1 ) shipreadyleft =true;
break;
}
if( j == 0 ) shipreadyleft =true;
}
if (shipreadyleft){
for( int j = point; j < ships.length; j++){
if( ships[x][j] ){
if( j - point >= size + 1 ) shipreadyright =true;
break;
}
if( ships[ Math.max(0,x-1)][j] || ships[ Math.min(9,x+1)][j] ){
if ( j - point >= size ) shipreadyright =true;
break;
}
if( j == ships.length - 1 && ships.length - 1 - point >= size - 1 ) shipreadyright =true;
}
}
if ( shipreadyright ){
for( int j = point; j - point + 1 <= size; j++){
ships[x][j] = true;
}
}
if ( shipreadyright && shipreadyleft) break;
}
return shipreadyright && shipreadyleft;
}
public boolean hajotOszlopra (int y, int[] arr, int size){
boolean shipreadyup = false;
boolean shipreadydown = false;
for( int k = 0; k < arr.length; k++){
int point = arr[k];
for( int j = point; j >= 0; j--){
if( ships[j][y] ){
if (point - j >= 2) shipreadyup =true;
break;
}
if( ships[j][ Math.max(0,y-1)] || ships[j][Math.min(9,y+1)]){
if (point - j >= 1) shipreadyup =true;
break;
}
if( j == 0 ) shipreadyup =true;
}
if (shipreadyup){
for( int j = point; j < ships.length; j++){
if( ships[j][y]){
if (j - point >= size + 1 ) shipreadydown =true;
break;
}
if(ships[j][ Math.max(0,y-1)] || ships[j][Math.min(9,y+1)]){
if (j - point >= size ) shipreadydown =true;
break;
}
if( j == ships.length - 1 && ships.length - 1 - point >= size - 1 ) shipreadydown =true;
}
}
if ( shipreadydown ){
for( int j = point; j - point + 1 <= size; j++){
ships[j][y] = true;
}
}
if ( shipreadydown && shipreadyup ) break;
}
return shipreadydown && shipreadyup;
}
public boolean hajotVizszintesre(int[] arr, int size){
for( int k = 0; k < arr.length; k++){
int p1 = arr[k];
if ( hajotSorra(p1, arr, size)) return true;
}
return false;
}
public boolean hajotFuggolegesre(int[] arr, int size){
for( int k = 0; k < arr.length; k++){
int p2 = arr[k];
if ( hajotOszlopra(p2, arr, size )) return true;
}
return false;
}
public void printfield(){
for(int i = 0; i < ships.length; i++){
for(int j = 0; j < ships[i].length; j++){
if (ships[i][j])
System.out.print("H");
else
System.out.print("-");
}
System.out.println();
}
}
}
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- És akkor egy fejlesztőstúdió rájött, hogy vissza is élhetne a felskálázással
- Milyen autót vegyek?
- Bitcoin topic
- Poco X3 Pro - hardverfrissítés
- Futás, futópályák
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Call of Duty: Modern Warfare III (2023)
- Formula-1
- Mini-ITX
- Proxmox VE
- További aktív témák...
- Crucial T705 2TB M.2 NVME PCI-E 5.0 x4 - Új - 14.500-12.700 MBs - Eladó!
- Apple iPhone 14 Pro 256GB Kártya-független,Fekete Színben,88% Gyári Akku,Újszerű állapot
- hirdetés
- SAMSUNG 2TB 990 PRO M.2 NVME PCI-E 4.0 x4 - Új, hűtőbordás - 7450-6900 MBs - Eladó!
- Friss Augusztusi LISTA! Bontatlan/ Új 0km-es laptopok! RTX 4060 4070 Rtx 5050 5070
- Bomba ár! HP EliteBook 850 G2 - i5-5GEN I 8GB I 256GB SSD I 15,6" FULL HD I Cam I W10 I Gari!
- Satechi 200w USB-C 6-port PD GAN - UK / Számla / Garancia /
- Apple iPhone 13 Mini / 128GB / Gyárifüggetlen / 12Hó Garancia / 84% akku
- AKCIÓ! Apple Macbook PRO 15" 2018 i9 32GB 500GB notebook garanciával hibátlan működéssel
- Bomba ár! HP EliteBook 830 G7 - i7-10GEN I 16GB I 512GB SSD I HDMI I 13,3" FHD I Cam I W11 I Gari!
Állásajánlatok
Cég: FOTC
Város: Budapest