programy v Javě:

1) okenka



package okenka;

import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;

public class Okenka extends JFrame implements KeyListener {

public static void main(String[] args) {
Okenka o = new Okenka();
}

@Override
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_W) {
zmacknutoW = true;
pocetW++;
}

if (e.getKeyCode() == KeyEvent.VK_S) {
zmacknutoS = true;
pocetW--;
}

switch (e.getKeyCode()) {

case KeyEvent.VK_W:
zmacknutoW = true;pocetW++;
break;
case KeyEvent.VK_A:

break;
case KeyEvent.VK_S:
zmacknutoS = true;pocetW--;
break;
case KeyEvent.VK_D:

break;

}

}

@Override
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_W) {
zmacknutoW = false;
} else if (e.getKeyCode() == KeyEvent.VK_A) {

} else if (e.getKeyCode() == KeyEvent.VK_S) {
zmacknutoS = false;
} else if (e.getKeyCode() == KeyEvent.VK_D) {

}
}

public Okenka() {
this.addKeyListener(this);
setSize(642, 452);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
new Prekleslovac().start();
}
int pocetW = 0;
int pocetS = 0;
int y = 100;
int x = 100;
boolean zmacknutoW = false;
boolean zmacknutoS = false;

@Override
public void paint(Graphics g) {
// g.clearRect(0, 0, getHeight(), getWidth());
if (zmacknutoW == true) {


g.drawString("*", x + pocetW, y);

}
if (zmacknutoS == true) {
g.drawString("*", x, y + pocetW );
}

// g.drawString("*", (x), (y));
}

@Override
public void keyTyped(KeyEvent e) {
}

private class Prekleslovac extends Thread {

public void run() {
while (true) {
try {
repaint();
Thread.sleep(100);
} catch (Exception e) {
}
}
}
}
}






2) HADANI CISEL



2.1) Main

package hadanicisla;

public class Main {

public static void main(String[] args) {
Hadajici hadajici = new HadajiciPocitac();
Souper souper = new SouperClovek();
souper.mysliSiCislo();

while (true) {
System.out.println("Hádej:");
int cislo = hadajici.hadej();
String odpoved = souper.dotaz(cislo);
if (odpoved.equals("stejne")) {
break;
} else {
hadajici.priOdpovedi(odpoved);
}

}
System.out.println("Hotovo!");
}

}





2.2) Hadajici


package hadanicisla;

public interface Hadajici {

public int hadej();

public void priOdpovedi(String odpoved);
}



2.3) HadajiciClovek


package hadanicisla;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class HadajiciClovek implements Hadajici {

public int hadej() {
BufferedReader in
= new BufferedReader(
new InputStreamReader(System.in));
try {
//vrati cislo ze vstupu
String a = in.readLine();
int cislo = Integer.parseInt(a);
return cislo;
} catch (IOException ex) {
return -1;
}
}
public void priOdpovedi(String odpoved) {
System.out.println("Odpoved byla: " + odpoved);
}
}





2.3) HadajiciPocitac


package hadanicisla;

public class HadajiciPocitac implements Hadajici {

int min = 1;
int max = 1000000;
int posledniHadane;

@Override
public int hadej() {
posledniHadane = (min + max) / 2;
System.out.println("Hádám " + posledniHadane);
return posledniHadane;
}

@Override
public void priOdpovedi(String odpoved) {
//BINÁRNÍ VYHLEDÁVÁNÍ
if (odpoved.equals("min")) {
max = posledniHadane - 1;
} else if (odpoved.equals("vic")) {
min = posledniHadane + 1;
}
}
}






2.4) HadajiciPocitac


package hadanicisla;

public abstract class Souper {
public void mysliSiCislo(){
System.out.println("Mysli si číslo!");
}
public abstract String dotaz(int x);
}






2.5) SouperClovek


package hadanicisla;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SouperClovek extends Souper {

public String dotaz(int x){
System.out.println("Soupeř hádá "+x);
BufferedReader in
= new BufferedReader(
new InputStreamReader
(System.in));
try {
return in.readLine();
} catch (IOException ex) {
return "chyba";
}
}
}





2.6) SouperPocitac

package hadanicisla;

import java.util.Random;

public class SouperPocitac extends Souper {
int cislo;
Random r = new Random();

public void mysliSiCislo(){
cislo = 1 + r.nextInt(1000000);
}

public String dotaz(int x){
if(x > cislo) {
return "min";
}
if(x < cislo){
return "vic";
}
return "stejne";
}
}
ivt |