-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPlayDie.java
More file actions
86 lines (69 loc) · 2.37 KB
/
Copy pathPlayDie.java
File metadata and controls
86 lines (69 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/*
* oyunun basladigi class olur ve testlerimizi buranin uzerinden gerceklestiririz.
*/
import java.util.Scanner;
public class PlayDie {
private static Scanner scan = new Scanner(System.in);//okuma nesnesi
public static void main(String[] args) {
//oyunculari tanimlariz
DiePlayer hold20 = new HoldAt20DiePlayer();
DiePlayer hold25 = new HoldAt25DiePlayer();
DiePlayer race = new RaceToGoalDiePlayer();
DiePlayer myDie = new MyDiePlayer();
//players dizimiz
DiePlayer[] players = {hold20,hold25};
//oyunun oynandigi fonksiyon
Play1000Game(players);
}
static void Play1000Game(DiePlayer[] players) {
/*
* oyuncularin isimlerini ekrana basariz
* ve getClass().getName() yazarak class isimlerini aliriz
*/
System.out.println("********** OYUNCULAR ***********");
for (DiePlayer diePlayer : players) {
System.out.println(diePlayer.getClass().getName());
}
System.out.println("****************************");
System.out.println(" OYUN BAŞLADI");
/*
* 1000 defa tekrarlanacagi icin her oyuncu icin
* kazanma sayisini tutan dizi oluustururuz
* ve ilk degerlerini sifirdan baslatiriz
*/
int[] kazanmaSayilari = new int[players.length];
for (int i = 0; i < kazanmaSayilari.length; i++) {
kazanmaSayilari[i] = 0;
}
/*
*1000 defa tekrarlayarak game nesnesi olusturuurz ve
*game.play() ile kazan kisinin indeksini aliriz
*kazanma sayilari dizisinde gecerli kisinin degerini bir arttiririz
*/
for (int i = 0; i < 1000; i++) {
DieGame game = new DieGame(players);
int winner = game.play();
kazanmaSayilari[winner]++;
}
/*
* en son ekrana puan tablosunu yazdiririz
* ve kazan kisinin indexini belirleriz
*/
System.out.println("********** PUAN TABLOSU ***********");
int maxPoint = 0;
int winnerIndex = 0;
for (int i = 0; i < kazanmaSayilari.length; i++) {
System.out.println(players[i].getClass().getName() + " --> " + kazanmaSayilari[i]);
if (kazanmaSayilari[i] > maxPoint) {
maxPoint = kazanmaSayilari[i];
winnerIndex = i;
}
}
System.out.println("****************************");
/*
* kazanan kisinin adini yazariz
*/
System.out.println("1000 oyun sonunda " + players[winnerIndex].getClass().getName() + " Kazandı !!!!!!!!!");
System.out.println(" OYUN BİTTİ");
}
}