added value display to graphing + removed a tkinter function from python script
This commit is contained in:
parent
9743ad71c4
commit
a78367dc79
49
entrees.txt
49
entrees.txt
|
@ -1,30 +1,27 @@
|
||||||
68.89999999999996
|
230.35480000000163
|
||||||
2
|
0
|
||||||
13 21
|
13 21
|
||||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
1 3 3 3 3 3 0 2 2 2 2 2 2 2 2 0 5 5 5 5 1
|
1 3 3 6 6 6 6 6 6 3 4 4 4 3 4 4 4 3 3 3 1
|
||||||
1 3 1 3 1 0 1 2 1 2 1 2 1 2 1 2 1 5 1 5 1
|
1 3 1 3 1 3 1 6 1 3 1 4 1 3 1 4 1 6 1 5 1
|
||||||
1 3 3 3 3 0 2 2 2 2 2 2 2 2 2 2 0 5 5 5 1
|
1 3 3 3 3 3 3 3 3 3 3 6 6 3 6 6 6 6 6 6 1
|
||||||
1 3 1 3 1 2 1 2 1 2 1 2 1 2 1 2 1 0 1 5 1
|
1 3 1 3 1 3 1 3 1 3 1 3 1 3 1 6 1 4 1 3 1
|
||||||
1 3 3 3 0 2 2 2 2 2 2 2 2 2 2 2 2 2 0 5 1
|
1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 6 3 1
|
||||||
1 3 1 6 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 5 1
|
1 3 1 3 1 3 1 3 1 3 1 6 1 3 1 6 1 3 1 3 1
|
||||||
1 0 0 6 0 2 2 2 2 2 2 2 2 2 2 2 2 0 0 5 1
|
1 3 3 3 3 3 3 3 3 3 3 6 6 3 6 6 6 6 6 6 1
|
||||||
1 0 1 6 1 2 1 2 1 2 1 2 1 2 1 2 1 4 1 4 1
|
1 6 1 3 1 3 1 3 1 3 1 6 1 3 1 6 1 3 1 3 1
|
||||||
1 6 6 6 0 0 2 2 2 2 2 2 2 2 2 0 4 4 4 4 1
|
1 3 3 3 3 3 3 3 3 3 3 3 6 3 6 6 6 6 3 3 1
|
||||||
1 6 1 6 1 6 1 2 1 2 1 2 1 2 1 2 1 4 1 4 1
|
1 6 1 3 1 3 1 3 1 3 1 6 1 3 1 6 1 3 1 3 1
|
||||||
1 6 6 6 6 6 6 0 2 2 2 2 2 2 2 0 4 4 4 4 1
|
1 3 3 3 3 3 6 3 6 3 6 6 6 3 6 6 4 3 3 3 1
|
||||||
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
|
5
|
||||||
|
7 17 1 230.4744000000016
|
||||||
|
4 15 5 230.6500000000007
|
||||||
|
5 16 5 231.91820000000158
|
||||||
|
6 19 5 234.5426000000016
|
||||||
|
7 14 1 235.06710000000166
|
||||||
3
|
3
|
||||||
8 17 2 69.89999999999993
|
8 19 0 4 2 5 3 4
|
||||||
9 5 1 70.99999999999993
|
7 12 1 4 0 1 0 3
|
||||||
7 18 2 73.59999999999998
|
5 11 3 2 1 5 3 2
|
||||||
4
|
0
|
||||||
5 3 0 0 2 2 2 0
|
|
||||||
7 19 1 1 0 2 2 1
|
|
||||||
11 16 2 1 0 2 0 0
|
|
||||||
11 7 3 1 1 1 3 4
|
|
||||||
4
|
|
||||||
2 5 0
|
|
||||||
1 6 4
|
|
||||||
5 4 3
|
|
||||||
7 2 2
|
|
||||||
|
|
106
graphing.c
106
graphing.c
|
@ -122,6 +122,101 @@ void placeRectToRendererNoColor(SDL_Renderer* renderer, int X, int Y, int W, int
|
||||||
SDL_RenderFillRect(renderer, &rect);
|
SDL_RenderFillRect(renderer, &rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ln_b(int b, int n) {
|
||||||
|
if(n < 0) {
|
||||||
|
return ln_b(b, -n) ;
|
||||||
|
} else if(n < b) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1 + ln_b(b, n/b) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawDigitToRenderer(SDL_Renderer* renderer, int d, int width, int X, int Y, int W, int H) {
|
||||||
|
switch (d) {
|
||||||
|
case 0:
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, W+2*width, 2*width); // 1
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, 2*width, H+2*width); // 2
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y-width/2, 2*width, H+2*width); // 3
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, 2*width, H+2*width); // 5
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y+H-width/2, 2*width, H+2*width); // 6
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+2*H-width/2, W+2*width, 2*width); // 7
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y-width/2, 2*width, H+2*width); // 3
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y+H-width/2, 2*width, H+2*width); // 6
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, W+2*width, 2*width); // 1
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y-width/2, 2*width, H+2*width); // 3
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, W+2*width, 2*width); // 4
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, 2*width, H+2*width); // 5
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+2*H-width/2, W+2*width, 2*width); // 7
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, W+2*width, 2*width); // 1
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y-width/2, 2*width, H+2*width); // 3
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, W+2*width, 2*width); // 4
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y+H-width/2, 2*width, H+2*width); // 6
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+2*H-width/2, W+2*width, 2*width); // 7
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, 2*width, H+2*width); // 2
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y-width/2, 2*width, H+2*width); // 3
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, W+2*width, 2*width); // 4
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y+H-width/2, 2*width, H+2*width); // 6
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, W+2*width, 2*width); // 1
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, 2*width, H+2*width); // 2
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, W+2*width, 2*width); // 4
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y+H-width/2, 2*width, H+2*width); // 6
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+2*H-width/2, W+2*width, 2*width); // 7
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, W+2*width, 2*width); // 1
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, 2*width, H+2*width); // 2
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, W+2*width, 2*width); // 4
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, 2*width, H+2*width); // 5
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y+H-width/2, 2*width, H+2*width); // 6
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+2*H-width/2, W+2*width, 2*width); // 7
|
||||||
|
break;
|
||||||
|
case 7:
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, W+2*width, 2*width); // 1
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y-width/2, 2*width, H+2*width); // 3
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y+H-width/2, 2*width, H+2*width); // 6
|
||||||
|
break;
|
||||||
|
case 8:
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, W+2*width, 2*width); // 1
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, 2*width, H+2*width); // 2
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y-width/2, 2*width, H+2*width); // 3
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, W+2*width, 2*width); // 4
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, 2*width, H+2*width); // 5
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y+H-width/2, 2*width, H+2*width); // 6
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+2*H-width/2, W+2*width, 2*width); // 7
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, W+2*width, 2*width); // 1
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y-width/2, 2*width, H+2*width); // 2
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y-width/2, 2*width, H+2*width); // 3
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+H-width/2, W+2*width, 2*width); // 4
|
||||||
|
placeRectToRendererNoColor(renderer, X+W-width/2, Y+H-width/2, 2*width, H+2*width); // 6
|
||||||
|
placeRectToRendererNoColor(renderer, X-width/2, Y+2*H-width/2, W+2*width, 2*width); // 7
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawIntegerToRenderer(SDL_Renderer* renderer, int n, int width, int X, int Y, int W, int H, int R, int G, int B, int A) {
|
||||||
|
setRendererColor(renderer, R, G, B, A) ;
|
||||||
|
int dsize = 1+ln_b(10, n) ;
|
||||||
|
int cur_n = n ;
|
||||||
|
for(int i = 0; i < dsize; i++) {
|
||||||
|
drawDigitToRenderer(renderer, cur_n%10, width, X+(W+3*width)*(dsize-1-i), Y, W, H) ;
|
||||||
|
cur_n = cur_n / 10 ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void drawCircleToRenderer(SDL_Renderer * renderer, int32_t centreX, int32_t centreY, int32_t radius) {
|
void drawCircleToRenderer(SDL_Renderer * renderer, int32_t centreX, int32_t centreY, int32_t radius) {
|
||||||
const int32_t diameter = (radius * 2);
|
const int32_t diameter = (radius * 2);
|
||||||
|
|
||||||
|
@ -256,10 +351,15 @@ void update_graph(SDL_Renderer* renderer, int** board, int current_time) {
|
||||||
int xc = convex_pt(left_x, right_x, ((float)(t0))/((float)(borned))) ;
|
int xc = convex_pt(left_x, right_x, ((float)(t0))/((float)(borned))) ;
|
||||||
int yc = convex_pt(bot_y, top_y, 1.0f - ((float)(max(0, board[t][pl])))/((float)(max_val+1))) ;
|
int yc = convex_pt(bot_y, top_y, 1.0f - ((float)(max(0, board[t][pl])))/((float)(max_val+1))) ;
|
||||||
//drawCircleToRenderer(renderer, xc, yc, 10) ;
|
//drawCircleToRenderer(renderer, xc, yc, 10) ;
|
||||||
placeRectToRenderer(renderer, xc, yc-y_size+offset+wside, x_size, y_size, 255*(pl==0||pl==3), 255*(pl>=2), 255*(pl==1), 96) ;
|
placeRectToRenderer(renderer, xc, yc-y_size+offset+wside, x_size, y_size, 255*(pl==0)+192*(pl==3), 255*(pl==2)+192*(pl==3), 255*(pl==1), 96) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
int tmax = (borned-1 + max(0, current_time - map_size +1))%map_size ;
|
||||||
|
for(int pl = 0; pl < 4; pl++) {
|
||||||
|
int mval = max(0, board[tmax][pl]);
|
||||||
|
int yc = convex_pt(bot_y, top_y, 1.0f - ((float)(max(0, board[tmax][pl])))/((float)(max_val+1))) ;
|
||||||
|
drawIntegerToRenderer(renderer, mval, 2, right_x+2-20*(-1+ln_b(10, mval)), yc+14-2*2, 14, 14, 255*(pl==0)+192*(pl==3), 255*(pl==2)+192*(pl==3), 255*(pl==1), 128) ;
|
||||||
|
}
|
||||||
updateRenderer(renderer) ;
|
updateRenderer(renderer) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -305,7 +405,7 @@ int main(int argc, char** argv) {
|
||||||
|
|
||||||
while(!game_ended) {
|
while(!game_ended) {
|
||||||
while(!can_pass()) {
|
while(!can_pass()) {
|
||||||
|
// required because of non-synchronization causing this to read a non-full file
|
||||||
}
|
}
|
||||||
int cur_time = get_data("entrees.txt", board, &game_ended) ;
|
int cur_time = get_data("entrees.txt", board, &game_ended) ;
|
||||||
//fprintf(stderr, "%d %d %d\n", last_time, cur_time, game_ended) ;
|
//fprintf(stderr, "%d %d %d\n", last_time, cur_time, game_ended) ;
|
||||||
|
|
|
@ -540,7 +540,7 @@ def simulation(strategies):
|
||||||
execute_evenement(evenements, evenement, plateau, plateauCouleur, bombes, joueurs, powerups, pieges)
|
execute_evenement(evenements, evenement, plateau, plateauCouleur, bombes, joueurs, powerups, pieges)
|
||||||
affiche_plateau(canvas, plateau, plateauCouleur, bombes, joueurs, powerups)
|
affiche_plateau(canvas, plateau, plateauCouleur, bombes, joueurs, powerups)
|
||||||
affiche_infos(canvasInfosJoueurs, joueurs, plateauCouleur)
|
affiche_infos(canvasInfosJoueurs, joueurs, plateauCouleur)
|
||||||
affiche_empires(canvasInfosJoueurs, joueurs, plateauCouleur) # very laggy for some reason # not anymore
|
#affiche_empires(canvasInfosJoueurs, joueurs, plateauCouleur) # very laggy for some reason # not anymore
|
||||||
temps = int(1000*(evenements[0][0]-evenement[0])/TIME_FACTOR)
|
temps = int(1000*(evenements[0][0]-evenement[0])/TIME_FACTOR)
|
||||||
#print(1000*(evenements[0][0]-evenement[0])/TIME_FACTOR, " <--> ", temps)
|
#print(1000*(evenements[0][0]-evenement[0])/TIME_FACTOR, " <--> ", temps)
|
||||||
# not here
|
# not here
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
4 0
|
2 0
|
Loading…
Reference in New Issue