Kezdőoldal » Számítástechnika » Programozás » Mi hiányzik/hibáddzik a...

Mi hiányzik/hibáddzik a programomban? (java)

Figyelt kérdés

import java.util.*;

import java.io.*;


public class gameprototype {


public static void main(String atgs[]){

Scanner sajt = new Scanner(System.in);

System.out.println("találsz egy elhagyatott barlangot, bemész?");

System.out.println("igen - 1");

System.out.println("nem - 2");

int DMG = 10;

int HP = 10;

int a = sajt.nextInt();

if (a==1){

System.out.println("rögtön a bejáratnál találsz egy holttestet, megvizsgálod?");

System.out.println("igen - 1");System.out.println("nem - 2");

int b = sajt.nextInt();

if (b==1){

System.out.println("találsz egy rozsdás tőrt, rögtön el is rakod a táskádba(DMG+2), maj haladsz tovább...");

DMG = DMG+2;


}

if (b==2){

System.out.println("mivel továbbhaladsz rögtön egy emberevő gilisztába botlasz, utadat állja ezért muszáj megküzdened vele!");

int DMGgiliszta = 2;

int HPgiliszta = 20;

int f1 = HPgiliszta%DMG;

int f2 = HP%DMGgiliszta;

if (f1<f2){

System.out.println("legyőzted a gilisztát, nemkapol semiccse!!");

if (f1>f2){

System.out.println("a giliszta megevett téged, kezd elöröl");

}

}

}

}


if (a==2){

System.out.println("GAME OVER!!! N00B VAGY!");

}


}



}

a "mivel továbbhaladsz rögtön egy" részig még eljut a program de utána semmit nemcsinál. nem értem miért. milyen utasítás, parancs, elágazás, ciklus kellene oda? kezdö programozo vagyok. nem kérek negatív kommenteket a story sem a felépítés miatt, azért írtam ide, hogy segítséget kapjak nem pedig h fikázzanak. a választ előre is köszi!



2014. jan. 30. 17:21
1 2
 1/15 anonim ***** válasza:

Szerintem a kapcsoszárójeleidet nézegesd meg jobban:


if (f1<f2){

__System.out.println("legyőzted a gilisztát, nemkapol semiccse!!");

__if (f1>f2){

___System.out.println("a giliszta megevett téged, kezd elöröl");

__}

}


Azt a belső if-et nem belső if-nek kéne tenni, mert értelmetlen. :)

2014. jan. 30. 17:36
Hasznos számodra ez a válasz?
 2/15 A kérdező kommentje:
köszi! megpróbálom úgy is.
2014. jan. 31. 10:19
 3/15 A kérdező kommentje:
nem jó. valamiért még így sem írja ki a harc eredményét.
2014. jan. 31. 10:49
 4/15 anonim ***** válasza:

kis segítség... amikor az f1 f2 közötti eltérés (kisebb nagyobb) ne ágyazd egymásba mert így sajnos hülyeség. Úgy a program logikáját nem igazán néztem, de a másik amit elnéztél hogy ezeknél int f1 = HPgiliszta%DMG;

int f2 = HP%DMGgiliszta; maradékos osztást hozol létre.. mind a kettőnek az értéke 0 lesz... és azt nem vizsgálod mi van ha mind a kettőnek értéke 0 de gondolom te nem ezt akartad kihozni.... a program működik de egyik logikai feltétel se valósul meg(f1>f2;f1<f2).... Remélem segíthettem..

2014. jan. 31. 10:51
Hasznos számodra ez a válasz?
 5/15 anonim ***** válasza:

előző válaszoló vagyok:

ezt elfelejtettem írni maradékos osztás %

egész osztás /

...

2014. jan. 31. 10:58
Hasznos számodra ez a válasz?
 6/15 anonim ***** válasza:

Na megint én(4 és 5 válasz adó (Peti)) :D

Ha minden kép azt akarod hogy az f1 f2 változó értékek maradékos osztás eredményezzen, mert mint tudjuk nem mindig egész szám az eredmény jelen programod esetben mondjuk igen... irt át az f1 f2 változók típusát float értékre de ekkor is ezt a műveletet alkalmazd / és nem ezt: %


Azért egy program fejlesztésekor mindig tesztelni kell a változók értékeit és így magadtól is rájöhetsz a hibára..


Küldöm a forráskódot.. Ha már segítek azért egy visszajelzés majd jól esne... További szép napot

Foráskód:


package gameprototype;


import java.util.*;

import java.io.*;


public class Gameprototype {


public static void main(String atgs[]) {

Scanner sajt = new Scanner(System.in);

System.out.println("találsz egy elhagyatott barlangot, bemész?");

System.out.println("igen - 1");

System.out.println("nem - 2");

int DMG = 10;

int HP = 10;


int a = sajt.nextInt();

if (a == 1) {

System.out.println("rögtön a bejáratnál találsz egy holttestet, megvizsgálod?");

System.out.println("igen - 1");

System.out.println("nem - 2");

int b = sajt.nextInt();

if (b == 1) {

System.out.println("találsz egy rozsdás tőrt, rögtön el is rakod a táskádba(DMG+2), maj haladsz tovább...");

DMG = DMG + 2;


}

if (b == 2) {

System.out.println("mivel továbbhaladsz rögtön egy emberevő gilisztába botlasz, utadat állja ezért muszáj megküzdened vele!");

int DMGgiliszta = 2;

int HPgiliszta = 20;

float f1 = HPgiliszta / DMG;

float f2 = HP / DMGgiliszta;

if (f1 < f2) {

System.out.println("legyőzted a gilisztát, nemkapol semiccse!!");


}


if (f1 > f2) {

System.out.println("a giliszta megevett téged, kezd elöröl");

}


}

}


if (a == 2) {

System.out.println("GAME OVER!!! N00B VAGY!");

}


}


}

2014. jan. 31. 11:09
Hasznos számodra ez a válasz?
 7/15 A kérdező kommentje:

köszönöm a válaszokat. megpróbálom úgy ahogy modtad.

ugyan még nem tanuloma java-t, majd talán csak jövőre(ugyanis 8. o.-s vagyok :D), egyenlőre magamtol próbálok boldugulni. mégegyszer köszi a választ!

2014. jan. 31. 11:37
 8/15 anonim ***** válasza:

float f1 = HPgiliszta / DMG;

float f2 = HP / DMGgiliszta;

Itt arra vigyázz, hogy két int típus hányadosa is int lesz (csak az egészrész marad meg), tehát legalább az egyik számot cast-old át float-á.

Továbbá nem értem, hogy mi ez az egész osztogatás, jobb lenne, ha elmondanád mit szeretnél itt, és akkor segítünk.

2014. jan. 31. 21:56
Hasznos számodra ez a válasz?
 9/15 A kérdező kommentje:

mármint pl.

float HPgiliszta = 4.0;

int DMG = 2;

így gondoltad? és akkor f1 = HPgiliszta / DMG;

hogy érted, hogy osztogatás? a másik topic-omra gondolsz? :D hát igen, ott már bővebben kifejttem kérdéseim/elképzeléseim.

2014. febr. 1. 12:18
 10/15 anonim ***** válasza:

Nem, cast-olást mondtam, így:

f1 = (float)HPgiliszta / DMG;

Amit te mondtál az is működik, csak nincs értelme float típusban tárolni azt, ami csak egész értéket vesz fel.


Nem láttam a másik topikodat, de nem világos mit is számolsz, de lehet hogy csak én nem értem.

2014. febr. 1. 22:07
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!