Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

CSC112 Spring 2016 Examples

2369 views
1
#include <cstdlib>
2
#include <iostream>
3
#include "randalpaca.h"
4
5
using namespace std;
6
7
std::string
8
Randalpaca::name() {
9
return nickName;
10
}
11
12
13
void
14
Randalpaca::act(Alpaca *opponent) {
15
//make a random move. Does Randal feel lucky? Well does he punk?
16
switch(rand()%8) {
17
case 0:
18
kick(opponent);
19
break;
20
21
case 1:
22
hypnotize(opponent);
23
break;
24
25
case 2:
26
headbutt(opponent);
27
break;
28
29
case 3:
30
spit(opponent);
31
break;
32
33
case 4:
34
mock(opponent);
35
break;
36
37
case 5:
38
concentrate();
39
break;
40
41
case 6:
42
dazzle(opponent);
43
break;
44
45
case 7:
46
if(pack->packSize()) {
47
compassionatize((*pack)[0]);
48
} else {
49
selfSooth();
50
}
51
break;
52
}
53
}
54
55
//our moves
56
void
57
Randalpaca::kick(Alpaca *opponent) {
58
cout << name() << " uses kick." << endl;
59
attack(opponent, 10);
60
}
61
62
void
63
Randalpaca::hypnotize(Alpaca *opponent) {
64
cout << name() << " uses hypnotize." << endl;
65
sleep(opponent, 10);
66
}
67
68
void
69
Randalpaca::headbutt(Alpaca *opponent) {
70
cout << name() << " uses headbutt." << endl;
71
stun(opponent, 10);
72
}
73
74
75
void
76
Randalpaca::spit(Alpaca *opponent) {
77
cout << name() << " spits!" << endl;
78
decreaseDefense(opponent, 10);
79
}
80
81
82
void
83
Randalpaca::mock(Alpaca *opponent) {
84
cout << name() << " says mocking things." << endl;
85
decreaseAttack(opponent, 10);
86
}
87
88
89
void
90
Randalpaca::concentrate() {
91
cout << name() << " contemplates the art of war." << endl;
92
increaseAttack(10);
93
}
94
95
96
void
97
Randalpaca::dazzle(Alpaca *opponent)
98
{
99
cout << name() << " throws a flashbang hairball." << endl;
100
comboAttack(opponent, 20, 0, 20, 0, 0);
101
}
102
103
void
104
Randalpaca::compassionatize(Alpaca *buddy)
105
{
106
cout << name() << " spreads the love." << endl;
107
bufAlly(buddy, 0, 20, 20);
108
}
109
110
111
void
112
Randalpaca::selfSooth()
113
{
114
cout << name() << " licks his own wounds." << endl;
115
comboBuf(0, 20, 20);
116
}
117