-
Notifications
You must be signed in to change notification settings - Fork 2
/
card-gen.js
82 lines (69 loc) · 3 KB
/
card-gen.js
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
// Draw a BugTrack player card
function drawCard(playerName,container) {
var c_width = 350; // Card width
var c_height = 150; // Card height
var c_border = 10; // Card border from canvas
var c_edge = 10; // Card border corner softness
var s_x = 40
var s_x_tab = 60
var s_y = 60
var s_y_tab = 20
var c_fill = "#fff";
if (container[1] == 'B') {
c_fill = "#aaa";
}
// Collect player information
var resp = ajax('cgi/jsIface.py?op=getcardstats&player=' + playerName)
var lines = resp.split("\n")
for(var j in lines) {
var m = lines[j].match(/^(.*),(.*),(.*),(.*),(.*),(.*)$/);
if(m) {
playerRating = parseInt(m[1])
playerRd = parseInt(m[2])
playerRank = parseInt(m[3])
playerWins = parseInt(m[4])
playerLosses = parseInt(m[5])
playerStreak = parseInt(m[6])
}
}
var paper = Raphael(document.getElementById(container), c_width, c_height);
// Card background
var card = paper.rect(c_border,
c_border,
c_width - 2 * c_border,
c_height - 2 * c_border,
c_edge);
card.attr({fill:c_fill, stroke: '#000', 'stroke-width': 2});
// Player title and stats
var title = paper.text(25,35,playerName);
title.attr({'text-anchor': 'start', 'font-size':25, 'font-family':'stencil'});
var yi = 0;
var stat_01 = paper.text(s_x + s_x_tab * 0,s_y + s_y_tab * yi,'Rank');
stat_01.attr({'text-anchor': 'start', 'font-size':15, 'font-family':'aharoni'});
var val_01 = paper.text(s_x + s_x_tab * 1,s_y + s_y_tab * yi++,playerRank);
val_01.attr({'text-anchor': 'start', 'font-size':15, 'font-family':'consolas'});
var stat_01 = paper.text(s_x + s_x_tab * 0,s_y + s_y_tab * yi,'Rating');
stat_01.attr({'text-anchor': 'start', 'font-size':15, 'font-family':'aharoni'});
var val_01 = paper.text(s_x + s_x_tab * 1,s_y + s_y_tab * yi++,playerRating + ' (' + playerRd + ')');
val_01.attr({'text-anchor': 'start', 'font-size':15, 'font-family':'consolas'});
var stat_01 = paper.text(s_x + s_x_tab * 0,s_y + s_y_tab * yi,'Record');
stat_01.attr({'text-anchor': 'start', 'font-size':15, 'font-family':'aharoni'});
var val_01 = paper.text(s_x + s_x_tab * 1,s_y + s_y_tab * yi++,'[' + playerWins + '-' + playerLosses + ']');
val_01.attr({'text-anchor': 'start', 'font-size':15, 'font-family':'consolas'});
var stat_01 = paper.text(s_x + s_x_tab * 0,s_y + s_y_tab * yi,'Streak');
stat_01.attr({'text-anchor': 'start', 'font-size':15, 'font-family':'aharoni'});
var streak_str = '';
if (playerStreak > 0) {
streak_str = playerStreak + ' Win'
if (playerStreak > 1) {
streak_str += 's';
}
} else {
streak_str = (playerStreak * -1) + ' Loss'
if (playerStreak < -1) {
streak_str += 'es';
}
}
var val_02 = paper.text(s_x + s_x_tab * 1,s_y + s_y_tab * yi++,streak_str);
val_02.attr({'text-anchor': 'start', 'font-size':15, 'font-family':'consolas'});
}