-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGameCharacter.h
72 lines (66 loc) · 1.51 KB
/
GameCharacter.h
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
#pragma once
#include <iostream>
#include "surface.h"
#include "game.h"
#include "template.h"
#include "snowball.h"
#include <SDL.h>
#include <cstdio> //printf
namespace Tmpl8 {
static Sprite characterB(new Surface("assets/citizenWalkB.png"), 1);//character from back
static Sprite characterR(new Surface("assets/citizenWalkR.png"), 1);//character from right side
static Sprite characterL(new Surface("assets/citizenWalkL.png"), 1);//character from left side
int xCharacter = 350;
int yCharacter = 368;
int initYBallPosition = yCharacter - 60;
int currentYBallPosition = initYBallPosition;
bool ballIsThrown = false ;
class Character
{
public:
Snowball snowball;
void Movement(Surface* screen)
{
if (GetAsyncKeyState(VK_LEFT))
{
xCharacter -= 2;
characterL.DrawScaled(xCharacter, yCharacter, 87, 87, screen);
}
else
{
if (GetAsyncKeyState(VK_RIGHT))
{
xCharacter += 2;
characterR.DrawScaled(xCharacter, yCharacter, 87, 87, screen);
}
else
{
characterB.DrawScaled(xCharacter, yCharacter, 87, 87, screen);
}
}
if (GetAsyncKeyState(VK_SPACE))
{ //throw the ball when hit SPACE
ballIsThrown = true;
}
if (ballIsThrown)
{
snowball.ThrowBall(xCharacter, currentYBallPosition, screen);
}
ResetThrow();
}
void ResetThrow()
{
if (snowball.GetYPosition()==20) {
ballIsThrown = false;
}
}
int GetXCharactPosition()
{
return xCharacter;
}
int GetYCharactPosition()
{
return yCharacter;
}
};
};