Házi feladat

 

Alapfejezet - Amit nem lehet megcinkelni: a virtuális dobókocka

 

Fülöp Ákos egy, az óra anyagához mérten rendkívül komplex kódmegoldást adott be. Később kiderült, hogy készítésekor programozó édesapja kissé besegített, ám ez nem von le semmit a kód értékeléséből.

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 


import java.util.Random;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
    int szam = 0;
    int pontszamlalo = 0;

    int valasz1 = 2;
    int valasz2 = 3;
    int valasz3 = 3;
    int valasz4 = 4;
    int valasz5 = 1;
    int valasz6 = 2;
    int valasz7 = 4;
    int valasz8 = 1;
    int valasz9 = 3;
    int valasz10 = 2;
    int valasz11 = 4;
    int valasz12 = 3;
    int valasz13 = 1;
    int valasz14 = 2;
    int valasz15 = 4;

    System.out.println("Üdvözlöm! Ez egy virtuális dobókockás 'Kérdezz, felelek!' játék.");
    System.out.println("Minden egyes pontszám értékhez jár egy kérdés.");
    System.out.println("A kocka magától dob, Önnek csak a kérdésekre kell válaszolnia.");
    System.out.println("Válaszát a valaszokhoz tartozó számok beírásával adhatja meg.");
    System.out.println("(A pontot ne írja mellé, ugyanis válasza ez esetben érvénytelen lesz.)");
    System.out.println("Érvénytelen valasz esetén a dobott értéket levonjuk a pontjaiból,

                    egyszóval nem kap pontot és új kérdést kap.");
    System.out.println("Ha eléri a 15 pontot, megnyeri a játékot.");
    System.out.println("Kezdéshez nyomja meg az ,1' gombot");
    Scanner scan = new Scanner(System.in);
    int kezdogomb = scan.nextInt();
    if(kezdogomb == 1){
        do{
            Random rand = new Random();
            szam = rand.nextInt(6) + 1;
            if(szam == 1){
                System.out.println("-------");
                System.out.println("| |");
                System.out.println("| O |");
                System.out.println("| |");
                System.out.println("-------");
            }
            else if(szam == 2){
                System.out.println("-------");
                System.out.println("| O |");
                System.out.println("| |");
                System.out.println("| O |");
                System.out.println("-------");
            }
            else if(szam == 3){
                System.out.println("-------");
                System.out.println("| O |");
                System.out.println("| O |");
                System.out.println("| O |");
                System.out.println("-------");
            }
            else if(szam == 4){
                System.out.println("-------");
                System.out.println("| O O |");
                System.out.println("| |");
                System.out.println("| O O |");
                System.out.println("-------");
            }
            else if(szam == 5){
                System.out.println("-------");
                System.out.println("| O O |");
                System.out.println("| O |");
                System.out.println("| O O |");
                System.out.println("-------");
            }
            else if(szam == 6){
                System.out.println("-------");
                System.out.println("|O O O|");
                System.out.println("| |");
                System.out.println("|O O O|");
                System.out.println("-------");
            }

            pontszamlalo = pontszamlalo + szam;

            if (pontszamlalo == 1){
                System.out.println("1. kérdés");
                System.out.println("Mennyi 16 négyszeresének a fele?");
                System.out.println("1.: 24 2.: 32 3.: 34 4.: 44");
            if (valasz1 == scan.nextInt()){
                System.out.println("Pontok száma: " + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 2){
                System.out.println("2. kérdés");
                System.out.println("Mennyi lába van egy póknak?");
                System.out.println("1.: 4 2.: 6 3.: 8 4.: 10");
            if (valasz2 == scan.nextInt()){
                System.out.println("Pontok száma: " + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 3){
                System.out.println("3. kérdés");
                System.out.println("Mennyi víz fér 1 köbdeciméter űrtartalmú edénybe?");
                System.out.println("1.: 1 deciliter 2.: fél liter 3.: 1 liter 4.: 2 liter");
            if (valasz3 == scan.nextInt()){
                System.out.println("Pontok száma: " + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 4){
                System.out.println("4. kérdés");
                System.out.println("Hol rendezik az Anna bált?");
                System.out.println("1.: Esztergom 2.: Tihany 3.: Budapest 4.: Balatonfüred");
            if (valasz4 == scan.nextInt()){
                System.out.println("Pontok száma: " + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo==5){
                System.out.println("5. kérdés");
                System.out.println("Melyik Magyarország legnagyobb tava?");
                System.out.println("1.: Balaton 2.: Tisza tó 3.: Fertő tó 4.: Fehér tó");
            if (valasz5 == scan.nextInt()){
                System.out.println("Pontok száma: " + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 6){
                System.out.println("6. kérdés");
                System.out.println("Melyik nem hazai madár?");
                System.out.println("1.: veréb 2.: flamingó 3.: széncinege 4.: varjú");
            if (valasz6 == scan.nextInt()){
                System.out.println("Pontok száma:" + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 7){
                System.out.println("7. kérdés");
                System.out.println("Mennyi hét négyzete?");
                System.out.println("1.: 21 2.: 44 3.: 39 4.: 49");
            if(valasz7 == scan.nextInt()){
                System.out.println("Pontok száma: " + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 8){
                System.out.println("8. kérdés");
                System.out.println("Melyik országban van a Mount everest?");
                System.out.println("1.: Kína 2.: Korea 3.: Japán 4.: India");
            if(valasz8 == scan.nextInt()){
                System.out.println("Pontok száma: " + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 9){
                System.out.println("9. kérdés");
                System.out.println("Melyik a legnagyobb bolygó a naprendszerben?");
                System.out.println("1.: Uránusz 2.: Mars 3.: Jupiter 4.: Plútó");
            if(valasz9 == scan.nextInt()){
                System.out.println("Pontok száma: " + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma :" + pontszamlalo);
                }
            }
            else if(pontszamlalo == 10){
                System.out.println("10. kérdés");
                System.out.println("Melyik város Sri Lanka fővárosa?");
                System.out.println("1.: New York 2.: Colombo 3.: Casablanca 4.: Peking");
            if(valasz10 == scan.nextInt()){
                System.out.println("Pontok száma: " + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 11){
                System.out.println("11. kérdés");
                System.out.println("Mit ünneplünk Húsvétkor?");
                System.out.println("1.: Jézus születése 2.: Jézus halála 3.: Jézus Mennybe menetele 4.: Jézus újászületése");
                if(valasz11 == scan.nextInt()){
                    System.out.println("Pontok száma: " + pontszamlalo);
                }
                else{
                    System.out.println("Rossz válasz!");
                    pontszamlalo = pontszamlalo - szam ;
                    System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 12){
                System.out.println("12. kérdés");
                System.out.println("Mennyi egy tucat?");
                System.out.println("1.: 6 2.: 11 3.: 12 4.: 14");
                if(valasz12 == scan.nextInt()){
                    System.out.println("Pontok száma: " + pontszamlalo);
                }
                else{
                    System.out.println("Rossz válasz!");
                    pontszamlalo = pontszamlalo - szam ;
                    System.out.println("Pontok száma: " + pontszamlalo);
                    }
                }
                else if(pontszamlalo == 13){
                    System.out.println("13. kérdés");
                    System.out.println("Melyik a legszerencsétlenebb szám?");
                    System.out.println("1.: 13 2.: 11 3.: 7 4.: 3");
                if(valasz13 == scan.nextInt()){
                    System.out.println("Pontok száma: " + pontszamlalo);
                }
                else{
                    System.out.println("Rossz válasz!");
                    pontszamlalo = pontszamlalo - szam ;
                    System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 14){
                System.out.println("14. kérdés");
                System.out.println("Melyik Magyar város jelképe a Tűztorony?");
                System.out.println("1.: Pécs 2.: Sopron 3.: Debrecen 4.: Hatvan");
            if(valasz14 == scan.nextInt()){
                System.out.println("Pontok száma:"+pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }
            else if(pontszamlalo == 15){
                System.out.println("15. kérdés");
                System.out.println("Mi a legkisebb ország a világon?");
                System.out.println("1.: Vatikán óra 2.: Monaco 3.: Nauru 4.: Sealand");
            if (valasz15 == scan.nextInt()){
                System.out.println("Pontok száma: " + pontszamlalo);
            }
            else{
                System.out.println("Rossz válasz!");
                pontszamlalo = pontszamlalo - szam ;
                System.out.println("Pontok száma: " + pontszamlalo);
                }
            }

        }while(pontszamlalo < 15);
            System.out.println("Játék vége! Nyertél!");
    }
    else{
        System.out.println("Indítsa újra a programot és nyomja meg az ,1' gombot!");
        }
    }
}

 

Végeredmény:
Üdvözlöm! Ez egy virtuális dobókockás 'Kérdezz, felelek!' játék.
Minden egyes pontszám értékhez jár egy kérdés.
A kocka magától dob, Önnek csak a kérdésekre kell válaszolnia.
Válaszát a valaszokhoz tartozó számok beírásával adhatja meg.
(A pontot ne írja mellé, ugyanis válasza ez esetben érvénytelen lesz.)
Érvénytelen valasz esetén a dobott értéket levonjuk a pontjaiból, egyszóval nem kap pontot és új kérdést kap.
Ha eléri a 15 pontot, megnyeri a játékot.
Kezdéshez nyomja meg az ,1' gombot
1
-------
| O |
| |
| O |
-------
2. kérdés
Mennyi lába van egy póknak?
1.: 4 2.: 6 3.: 8 4.: 10
3
Pontok száma: 2
-------
| O O |
| |
| O O |
-------
6. kérdés
Melyik nem hazai madár?
1.: veréb 2.: flamingó 3.: széncinege 4.: varjú
2
Pontok száma:6
-------
| O |
| O |
| O |
-------
9. kérdés
Melyik a legnagyobb bolygó a naprendszerben?
1.: Uránusz 2.: Mars 3.: Jupiter 4.: Plútó
3
Pontok száma: 9
-------
|O O O|
| |
|O O O|
-------
15. kérdés
Mi a legkisebb ország a világon?
1.: Vatikán óra 2.: Monaco 3.: Nauru 4.: Sealand
4
Pontok száma: 15
Játék vége! Nyertél!