Šajā nodarbībā liksim lietā iepriekšējās nodarbībās iegūtās zināšanas par cikliem un sazarojumiem, lai izveidotu pirmo nopietnāko spēli Java valodā – tā saukto “Vienrokas bandītu“! Šādi spēļu automāti ir uzstādīti daudzās spēļu zālēs.

Nekas diži sarežģīts jau nav – 3 līdz 4 skaitļu vai figūru kombinācijas, kurs sakritības gadījumā spēlētaājs kaut ko laimē. Noteikumi var būt itin dažādi, sīkāk par šiem spēļu automātiem un Java programmas izveidi skatieties startit.lv videolekcijā Nr. 19 – atvērt to un skatīties!

1.solis

Izveido vienkāršu programmu, kura parāda 3 skaitļus (bilde no startit.lv videolekcijas):

Vienrocis_0

Programmiņas teksts:

package vienrocis.startit.lv;
public class vienrocis {
    public static void main(String[] args) {
        int first=1;
        int second=2;
        int third=3;
        System.out.println(first+”/”+second+”/”+third);
    }
}

Palaid izpildei un padomā, ko var pamainīt un uzlabot, jo programma tikai parāda 3 skaitļus!

2.solis

Izveido vienkāršu programmu, kura ģenerē un parāda 3 skaitļus (bilde no startit.lv videolekcijas):

Veinrocis_1

Programmiņas teksts var izskatīties šādi (nejaušo skaitļu ģenerēšana ar Random), kur papildinājumi ir ar citu krāsu:

package vienrocis.startit.lv
import java.util.Random;
public class vienrocis {
    public static void main(String[] args) {
       Random randomize=new Random();
        int first=randomize.nextInt(3);
        int second=randomize.nextInt(3);
        int third=randomize.nextInt(3);
        System.out.println(first+”/”+second+”/”+third);
    }
}

3.solis – papildini programmas kodu ar visu 3 ģenerēto skaitļu sakritības pārbaudi (konstrukcija ar if, bilde no startit.lv videolekcijas):

vienrocis_2

Programmiņas teksts pēc pārveidojumiem:

package vienrocis.startit.lv
import java.util.Random;
public class vienrocis {
    public static void main(String[] args) {
       Random randomize=new Random();
        int first=randomize.nextInt(3);
        int second=randomize.nextInt(3);
        int third=randomize.nextInt(3);
        System.out.println(first+”/”+second+”/”+third);
if(first==second && second==third){
            System.out.println(“Visi trīs skaitļi sakrīt!”);
    }
}

Neaimirsti pievienot bibilotēku random importam (CTRL + SHIFT +O)!

4.solis – pievienojam sakritības pārbaudi 2 skaitļiem (else bloks, bilde no startit.lv videolekcijas):

vienrocis_3

Programmiņas teksts pēc pārveidojumiem:

package vienrocis.startit.lv
import java.util.Random;
public class vienrocis {
    public static void main(String[] args) {
       Random randomize=new Random();
        int first=randomize.nextInt(3);
        int second=randomize.nextInt(3);
        int third=randomize.nextInt(3);
        System.out.println(first+”/”+second+”/”+third);
    if(first==second && second==third){
            System.out.println(“Visi trīs skaitļi sakrīt!”); //3 no 3
    }else if(first==second||first==third||second==third)
            System.out.println(“Divi no trīs skaitļiem sakrīt!”);//2 no 3
        else
            System.out.println(“Skaitļi nesakrīt!”);
}

Programmai ir trūkums – tā skaitļu kombināciju izment tikai 1 reizi, bet uzreiz laimējas ļoti reti, tādēļ programmu vajag papildināt tā, lai nesakritības gadījumā, tā dod jaunu skaitļu kombināciju!

Kā to izdarīt? Vai ciklus atceramies? Nu jau jā, tad uz priekšu, liekam klāt Do…while ciklu!

5.solis – pievienoajm ciklu do … while, kas nodrošina spēli līdz laimestam (bilde no startit.lv videolekcijas)!

vienrocis_4

Programmiņas teksts ar ciklu Do…while:

package vienrocis.startit.lv
import java.util.Random;
public class vienrocis {
    public static void main(String[] args) {
       Random randomize=new Random();
        int first=randomize.nextInt(3);
        int second=randomize.nextInt(3);
        int third=randomize.nextInt(3);
do{
        System.out.println(first+”/”+second+”/”+third);
    if(first==second && second==third){
            System.out.println(“Visi trīs skaitļi sakrīt!”); //3 no 3
    }else if(first==second||first==third||second==third)
            System.out.println(“Divi no trīs skaitļiem sakrīt!”);//2 no 3
        else
            System.out.println(“Skaitļi nesakrīt!”);
}while(!(first==second && second==third));
}

Palaid programmu! Strādā? Apsveicami! Tev ir izdevies ievadīt spēles programmu, novērst kļūmes un palaist programmu! Tas ir daudz, bet nebūt ne viss!

6.solis – pamēģini pilnveidot programmu, pievienojot pārbaudi sekojošām sakritībām (balvas var izdomāt citas):

  • sakrīt visi 3 skaitļi (galvenā balva – piem., Laimas šokolāde un CocaCola);
  • sakrīt 1. un 2.skaitļi, balva šokolāde;
  • sakrīt 2. un 3.skaitļi, balva – ChupaCups;
  • sakrīt 1. un 3.kaitļi, balva – CocaCola.
  • vēl var būt varianti, kad ir 1,2,3 vai 3,2,1, arī tos var īpaši apstrādāt, ja ir vēlme patrenēties progarmmēšanā!

Nākošajā nodarbībā – Java programmas realizācija Android aplikācijas veidā!

Kodē, kodē,
Ko Tu kodē?
Spēlītes vai kodē vai?
Kodē, kodē, kodē ganGan jau reiz no Tevis
programmeris sanāks ar!

Veiksmīgu nedēļu!

*******

Advertisements