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
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
namespace SuperPolarity
{
public class Player
{
public int Score;
public int Multiplier;
public int Lives;
SpriteFont DebugFont;
SuperPolarity Game;
Texture2D LifeSprite;
public Player(SuperPolarity game)
{
Score = 0;
Multiplier = 1;
Lives = 3;
Game = game;
DebugFont = Game.Content.Load<SpriteFont>("Fonts\\bigfont");
LifeSprite = Game.Content.Load<Texture2D>("Graphics\\neutral-ship");
}
public void AddScore(int value)
{
Score = Score + (value * Multiplier);
}
public void AddMultiplier(int value)
{
Multiplier = Multiplier + 1;
}
public void ResetMultiplier()
{
Multiplier = 1;
}
public void Draw(SpriteBatch spriteBatch)
{
var UiColor = new Color(0, 0, 0, 200);
var lightColor = new Color(0, 0, 0, 128);
spriteBatch.DrawString(DebugFont, Score.ToString(), new Vector2(40, 30), UiColor);
spriteBatch.DrawString(DebugFont, "x" + Multiplier.ToString(), new Vector2(40, 50), lightColor);
var lifePosition = new Vector2(Game.GraphicsDevice.Viewport.Width - 140, 30);
if (Lives > 4)
{
spriteBatch.Draw(LifeSprite, lifePosition, null, UiColor, (float)(Math.PI / 2), Vector2.Zero, 0.5f, SpriteEffects.None, 0f);
spriteBatch.DrawString(DebugFont, "x " + Lives.ToString(), new Vector2(lifePosition.X + 8, lifePosition.Y + 5), UiColor);
}
else
{
for (var i = 0; i < Lives; i++)
{
spriteBatch.Draw(LifeSprite, new Vector2(lifePosition.X + (i * 28), lifePosition.Y), null, UiColor, (float)(Math.PI / 2), Vector2.Zero, 0.5f, SpriteEffects.None, 0f);
}
}
}
public void Update()
{
}
public void Reset()
{
Score = 0;
Multiplier = 1;
Lives = 3;
}
}
}
|