-
Notifications
You must be signed in to change notification settings - Fork 0
/
pseudocodigo.txt
144 lines (115 loc) · 2.82 KB
/
pseudocodigo.txt
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
### pseudocodigo
n = [0, 39]
n / 10 = [0, 3] = [oros, espadas, copas, bastos]
n % 10 = [0, 9] = [0 --> as, 1, --> 2, 2 --> 3, ..., 6 --> 7, 7 --> sota, 8 --> caballo, 9 --> rey]
funció calcular_puntuacio_carta(carta: enter) retorna real
{
si (carta % 10 < 7)
{
retornar carta % 10 + 1
}
sino
{
retornar 1 / 2
}
}
acció inicialitzar_baralla(baralla: taula d'enters)
{
baralla_ordenada es taula enter[40]
per (enter i = 0; i < 40; i++)
{
baralla_ordenada[i] = i;
}
enter num_cartes_afegides = 0;
enter marca = 45
mentre (num_cartes_afegides < 40)
{
index = rand() % 40
if (baralla_ordenada[index] == 45)
{
continue
}
else
{
baralla[num_cartes_afegides] = baralla_ordenada[index]
num_cartes_afegides++
baralla_ordenada[index] = 45
}
}
}
main
{
baralla es taula enter[40]
num_cartas es enter = 40
torn_persona es booleà = true
passar_o_robar es booleà
puntuacio_temporal es real
score_persona es real = 0
score_ordinador es real = 0
inicialitzar_baralla(baralla)
fer
{
// persona
si (torn_persona)
{
escriure("Vols passar (0) o robar (1)?")
llegir(passar_o_robar)
// passar
si (passar_o_robar == 0)
{
torn_persona = ! torn_persona
continue
}
// robar
else
{
num_cartas--
puntuacio_temporal = calcular_puntuacio_carta(baralla[num_cartas])
escriure("La teva carta té %i", puntuacio_temporal)
score_persona += puntuacio_temporal
torn_persona = ! torn_persona
if (score_persona == 7.5)
{
escriure ("Has guanyat!")
sortir()
}
else if (scorre_persona > 7.5)
{
escriure ("Ha guanyat l'ordinador")
sortir()
}
}
}
// Ordinador
else
{
escriure("Vols passar (0) o robar (1)?")
si (rand() % 2 == 0)
{
torn_persona = ! torn_persona
continue
}
// robar
else
{
num_cartas--
puntuacio_temporal = calcular_puntuacio_carta(baralla[num_cartas])
escriure("La carta del ordinador té %i", puntuacio_temporal)
score_ordinador += puntuacio_temporal
torn_persona = ! torn_persona
if (score_ordinador == 7.5)
{
escriure ("Has perdut! L'ordinador arriba a 7 i mig")
sortir()
}
else if (score_ordinador > 7.5)
{
escriure ("L'ordinador s'ha passat de set i mig, has guanyat!")
sortir()
}
}
}
}
mentre(num_cartas > 0)
escriure ("s'han acabat les cartes, han guanyat els dos!")
}