Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Sniper
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Sniper

Posté le 05/04/2014 14:07

Salut,
Je suis actuellement un plein projet ...
Il s'agira d'une version de ce jeu en un peu moins bien fait bien sur niveau graphisme et nombre de PNJ mais avec en plus un mode multijoueur quand DS aura fait (si il le fait bien sur) son tuto sur la com entre deux calculatrices ou un deux deux jouera le sniper et l'autre le meurtrier qui doit se rapprocher de sa victime pour la poignarder
Je vais bientôt sortir une première version avec les menus et un premier niveau de test en mode solo


1, 2 Suivante
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 06/04/2014 12:36 | # | Fichier joint


Bon la première version avec beaucoup de bugs...
Pour exposer plus explicitement l'idée
Dark storm Hors ligne Membre d'honneur Points: 11108 Défis: 176 Message

Citer : Posté le 06/04/2014 13:50 | #


Je regarde

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 13/04/2014 19:39 | # | Fichier joint


alors la je coince ...
Voila le code:
Derouler
Cliquer pour enrouler
[brown]#include [gray]"fxlib.h"[/gray][/brown]
[brown]#include [gray]"MonochromeLib.h"[/gray][/brown]
[brown]#include [gray]"jeu.h"[/gray][/brown]
[brown]#include <stdio.h>[/brown]
[brown]#include <stdlib.h>[/brown]
[brown]#include <math.h>[/brown]


void jeu_solo()
{
    [green]// DECLARATION DES VARIABLES UTILES[/green]
    [purple]int[/purple] quitter = [maroon]0[/maroon];
    [purple]int[/purple] niveau = [maroon]0[/maroon];
    [purple]int[/purple] temps = [maroon]0[/maroon];
    [purple]int[/purple] nbr_PNJ = [maroon]0[/maroon];
    [purple]int[/purple] score = [maroon]0[/maroon];
    [purple]int[/purple] PNJ_xy[11];
    [purple]int[/purple] role_PNJ[6];
    [purple]int[/purple] dir_PNJ[6];
    
    [green]// DECLARATION DES AUTRES VARIABLES[/green]
    [purple]int[/purple] nbr = [maroon]0[/maroon];
    
    [green]// INITIALISATION DE RAND()[/green]
    srand(RTC_getTicks());
    
    
    [b][blue]do[/blue][/b]{
        niveau++;
        [green]// INITIALISATION DU NIVEAU[/green]
        switch(niveau){
            case 1:
                fond(1);
                temps = [maroon]100[/maroon];
                nbr_PNJ = [maroon]3[/maroon];
                [green]// PNJ1[/green]
                PNJ_xy[0] = [maroon]26[/maroon];
                PNJ_xy[1] = [maroon]28[/maroon];
                dir_PNJ[0]= [maroon]0[/maroon]; [green]// G[/green]
                [green]// PNJ2[/green]
                PNJ_xy[2] = [maroon]60[/maroon];
                PNJ_xy[3] = [maroon]28[/maroon];
                dir_PNJ[0]= [maroon]1[/maroon]; [green]// D[/green]
                [green]// PNJ3[/green]
                PNJ_xy[4] = [maroon]118[/maroon];
                PNJ_xy[5] = [maroon]28[/maroon];
                dir_PNJ[0]= [maroon]1[/maroon]; [green]// D[/green]
                [b][blue]break[/blue][/b];
            default:
                quitter = [maroon]1[/maroon];
        }
        
        
        RestoreDisp(1);
        [b][blue]for[/blue][/b](nbr = [maroon]0[/maroon]; nbr < nbr_PNJ; nbr ++) role_PNJ[nbr] = [maroon]0[/maroon];

        [green]// VICTIME[/green]
        nbr = rand_int(nbr_PNJ);
        role_PNJ[nbr]=[maroon]1[/maroon];
        ML_rectangle(PNJ_xy[nbr]+1,PNJ_xy[nbr+1]+1,PNJ_xy[nbr]+3,PNJ_xy[nbr+1]+3,[maroon]0[/maroon], ML_CHECKER, ML_BLACK);

        [green]// TUEUR[/green]
        [b][blue]do[/blue][/b]{
            nbr = rand_int(nbr_PNJ);
            [b][blue]if[/blue][/b](role_PNJ[nbr]==[maroon]0[/maroon]){
                role_PNJ[nbr]=[maroon]2[/maroon];
                ML_rectangle(PNJ_xy[nbr]+1,PNJ_xy[nbr+1]+1,PNJ_xy[nbr]+3,PNJ_xy[nbr+1]+3,[maroon]0[/maroon], ML_CHECKER, ML_CHECKER);
                [b][blue]break[/blue][/b];
            }
        }while(1);
        SaveDisp(1);
        
        jouer(temps, nbr_PNJ, PNJ_xy, role_PNJ, dir_PNJ, &quitter);
        
    }while(!quitter);
}


[green]// MOTEUR JEU  ----  A FAIRE[/green]
void jouer(int temps, [purple]int[/purple] nbr_PNJ, int* PNJ_xy, int* role_PNJ, int* dir_PNJ, int* quitter)
{
    [green]// DECLARATION DES VARIABLES[/green]
    [purple]int[/purple] perdu = [maroon]0[/maroon];
    [purple]int[/purple] x_viseur = [maroon]64[/maroon];
    [purple]int[/purple] y_viseur = [maroon]32[/maroon];
    [purple]int[/purple] buffet[1100];
    [purple]char[/purple] affichage[10];
    [purple]int[/purple] nbr;
    
    [green]// SPRITES[/green]
    const [purple]unsigned char[/purple] viseur[]={
        0xff,[maroon]0[/maroon]xf8,[maroon]0[/maroon]x1f,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]x80,[maroon]0[/maroon]x1,[maroon]0[/maroon]xff,
        0xfe,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7f,
        0xfc,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3f,
        0xf8,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1f,
        0xf0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]xf,
        0xe0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,
        0xc0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3,
        0xc0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3,
        0x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,
        0x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,
        0x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x80,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x80,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,
        0x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,
        0x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,
        0xc0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3,
        0xc0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3,
        0xe0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,
        0xf0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]xf,
        0xf8,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1f,
        0xfc,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3f,
        0xfe,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7f,
        0xff,[maroon]0[/maroon]x80,[maroon]0[/maroon]x1,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xf8,[maroon]0[/maroon]x1f,[maroon]0[/maroon]xff
    };
    const [purple]unsigned char[/purple] bras_d[]={
        0x1c,
        0xf0,
        0xe0
    };
    const [purple]unsigned char[/purple] bras_g[]={
        0xe0,
        0x3c,
        0x1c
    };
    
    [b][blue]do[/blue][/b]{
        temps --;
        
        [green]// AFFICHAGES[/green]
        ML_clear_vram();
        RestoreDisp(1);
        memcpy(buffet, ML_vram_adress(), [maroon]1024[/maroon]);
        ML_rectangle(0,[maroon]0[/maroon],[maroon]128[/maroon],[maroon]64[/maroon],[maroon]0[/maroon], ML_BLACK, ML_BLACK);
        ML_bmp_and_cl(viseur, x_viseur-16, y_viseur-16, [maroon]32[/maroon], [maroon]32[/maroon]);
        ML_bmp_or(buffet, [maroon]0[/maroon], [maroon]0[/maroon], [maroon]128[/maroon], [maroon]64[/maroon]);
        [green]// affichage du tueur a la fin du temps[/green]
        [b][blue]if[/blue][/b](temps<=[maroon]50[/maroon]){
            [b][blue]for[/blue][/b](nbr=[maroon]0[/maroon]; nbr<nbr_PNJ; nbr++){
                [b][blue]if[/blue][/b](role_PNJ[nbr]==[maroon]2[/maroon]){
                    [b][blue]if[/blue][/b](dir_PNJ[nbr]==[maroon]0[/maroon]) ML_bmp_or(bras_g, PNJ_xy[nbr]-1, PNJ_xy[nbr+1]+5, [maroon]7[/maroon], [maroon]3[/maroon]);
                    [b][blue]if[/blue][/b](dir_PNJ[nbr]==[maroon]1[/maroon]) ML_bmp_or(bras_d, PNJ_xy[nbr]+4, PNJ_xy[nbr+1]+5, [maroon]7[/maroon], [maroon]3[/maroon]);
                }
            }
        }
        sprintf(affichage,[gray]"%d-%d-%d"[/gray],role_PNJ[0],role_PNJ[1],role_PNJ[2]);
        PrintXY(0,[maroon]0[/maroon],affichage,[maroon]1[/maroon]);
        ML_display_vram();
        
        [green]// GESTIONS TOUCHES[/green]
        [b][blue]if[/blue][/b](IsKeyDown(30023) && y_viseur+1 != [maroon]64[/maroon]) y_viseur++;
        [b][blue]if[/blue][/b](IsKeyDown(30018) && y_viseur-1 != [maroon]0[/maroon]) y_viseur--;
        [b][blue]if[/blue][/b](IsKeyDown(30021) && x_viseur+1 != [maroon]128[/maroon]) x_viseur++;
        [b][blue]if[/blue][/b](IsKeyDown(30020) && x_viseur-1 != [maroon]0[/maroon]) x_viseur--;
        [b][blue]if[/blue][/b](IsKeyDown(30002)) *quitter = [maroon]1[/maroon];
        [b][blue]if[/blue][/b](IsKeyDown(SHOOT)){
            *quitter = [maroon]1[/maroon];
            [b][blue]for[/blue][/b](nbr=[maroon]0[/maroon];nbr<nbr_PNJ;nbr++){
                [b][blue]if[/blue][/b](y_viseur+1 < PNJ_xy[nbr+1]+5 && y_viseur-1 > PNJ_xy[nbr+1] && x_viseur+1 < PNJ_xy[nbr]+5 && x_viseur-1 > PNJ_xy[nbr]){
                    [b][blue]if[/blue][/b](role_PNJ[nbr]!=[maroon]2[/maroon]) *quitter = [maroon]1[/maroon];
                    [b][blue]if[/blue][/b](role_PNJ[nbr]==[maroon]2[/maroon]) *quitter = [maroon]2[/maroon];
                }
            }
        }
    }while(*quitter==[maroon]0[/maroon]);
    SaveDisp(2);
    fini(*quitter, x_viseur, y_viseur);
    RestoreDisp(1);
    ML_display_vram();
    Sleep(500);
}

[green]// MEMORISATION DU FOND[/green]
void fond(int numero)
{
    const [purple]unsigned char[/purple] niveau_1[]={
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]xf,[maroon]0[/maroon]x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1f,[maroon]0[/maroon]xc0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1f,[maroon]0[/maroon]xc0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1f,[maroon]0[/maroon]xc0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]xf,[maroon]0[/maroon]x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]xff,[maroon]0[/maroon]xe0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3f,[maroon]0[/maroon]xf8,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]xf,[maroon]0[/maroon]xff,[maroon]0[/maroon]xfe,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]x80,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]xf,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xe0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xe0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xf8,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xf0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xfc,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xf0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xfc,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xf8,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xfe,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1c,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]xc0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x22,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x8,[maroon]0[/maroon]x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x0,[maroon]0[/maroon]x2,[maroon]0[/maroon]x20,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x22,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x8,[maroon]0[/maroon]x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x0,[maroon]0[/maroon]x2,[maroon]0[/maroon]x20,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x22,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x8,[maroon]0[/maroon]x80,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x0,[maroon]0[/maroon]x2,[maroon]0[/maroon]x20,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1c,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]xc0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x8,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x2,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x80,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x5c,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]xd0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x5c,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]xd0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x5c,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x18,[maroon]0[/maroon]x1,[maroon]0[/maroon]xd0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x5c,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x18,[maroon]0[/maroon]x1,[maroon]0[/maroon]xd0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x5c,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x1,[maroon]0[/maroon]x18,[maroon]0[/maroon]x1,[maroon]0[/maroon]xd0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x5f,[maroon]0[/maroon]xcf,[maroon]0[/maroon]xff,[maroon]0[/maroon]xfc,[maroon]0[/maroon]xff,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]x3f,[maroon]0[/maroon]xd0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x4f,[maroon]0[/maroon]xe1,[maroon]0[/maroon]x4,[maroon]0[/maroon]x11,[maroon]0[/maroon]xfe,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x41,[maroon]0[/maroon]x4,[maroon]0[/maroon]x7f,[maroon]0[/maroon]x90,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x7f,[maroon]0[/maroon]xe0,[maroon]0[/maroon]x84,[maroon]0[/maroon]x21,[maroon]0[/maroon]xbf,[maroon]0[/maroon]xc0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x21,[maroon]0[/maroon]x8,[maroon]0[/maroon]x6f,[maroon]0[/maroon]xf0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x41,[maroon]0[/maroon]x60,[maroon]0[/maroon]x44,[maroon]0[/maroon]x41,[maroon]0[/maroon]x90,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x11,[maroon]0[/maroon]x10,[maroon]0[/maroon]x64,[maroon]0[/maroon]x10,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x41,[maroon]0[/maroon]x60,[maroon]0[/maroon]x24,[maroon]0[/maroon]x81,[maroon]0[/maroon]x90,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x9,[maroon]0[/maroon]x20,[maroon]0[/maroon]x64,[maroon]0[/maroon]x10,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x41,[maroon]0[/maroon]x60,[maroon]0[/maroon]x15,[maroon]0[/maroon]x1,[maroon]0[/maroon]x90,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x5,[maroon]0[/maroon]x40,[maroon]0[/maroon]x64,[maroon]0[/maroon]x10,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x41,[maroon]0[/maroon]x60,[maroon]0[/maroon]xe,[maroon]0[/maroon]x1,[maroon]0[/maroon]x90,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x3,[maroon]0[/maroon]x80,[maroon]0[/maroon]x64,[maroon]0[/maroon]x10,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x41,[maroon]0[/maroon]x70,[maroon]0[/maroon]x15,[maroon]0[/maroon]x3,[maroon]0[/maroon]x90,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x5,[maroon]0[/maroon]x40,[maroon]0[/maroon]xe4,[maroon]0[/maroon]x10,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x41,[maroon]0[/maroon]x78,[maroon]0[/maroon]x24,[maroon]0[/maroon]x87,[maroon]0[/maroon]x90,[maroon]0[/maroon]x40,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x9,[maroon]0[/maroon]x21,[maroon]0[/maroon]xe4,[maroon]0[/maroon]x10,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0
    };
    
    Bdisp_AllClr_DDVRAM();
    
    switch(numero){
        case 1:
            ML_bmp_or(niveau_1, [maroon]0[/maroon], [maroon]0[/maroon], [maroon]128[/maroon], [maroon]64[/maroon]);
            [b][blue]break[/blue][/b];
        default:
            ML_bmp_or(niveau_1, [maroon]0[/maroon], [maroon]0[/maroon], [maroon]128[/maroon], [maroon]64[/maroon]);
    }
    
    [green]// SAUVEGARDE DU SPRITE[/green]
    ML_display_vram();
    SaveDisp(1);
}

[green]// SI IL Y A EU UN TIR[/green]
void fini(int perdu, [purple]int[/purple] x_viseur, [purple]int[/purple] y_viseur)
{
    const [purple]unsigned char[/purple] blood[]={
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xfe,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xfe,
        0xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xfe,
        0x7f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xfe,
        0x7f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xbe,
        0x3f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xff,[maroon]0[/maroon]xbe,
        0x3f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xe7,[maroon]0[/maroon]xbe,
        0x3f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xe7,[maroon]0[/maroon]xbe,
        0x3f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xe7,[maroon]0[/maroon]xbe,
        0x3f,[maroon]0[/maroon]xff,[maroon]0[/maroon]xe7,[maroon]0[/maroon]xbe,
        0x3f,[maroon]0[/maroon]xf7,[maroon]0[/maroon]xe7,[maroon]0[/maroon]xbe,
        0x3e,[maroon]0[/maroon]xf7,[maroon]0[/maroon]xe7,[maroon]0[/maroon]x9c,
        0x3e,[maroon]0[/maroon]xf7,[maroon]0[/maroon]xe3,[maroon]0[/maroon]x0,
        0x1c,[maroon]0[/maroon]xf7,[maroon]0[/maroon]xe0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]xf7,[maroon]0[/maroon]xe0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]xf7,[maroon]0[/maroon]xe0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]xf7,[maroon]0[/maroon]xc0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x63,[maroon]0[/maroon]x80,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,
        0x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0,[maroon]0[/maroon]x0
    };
    [purple]int[/purple] nombre, taille, diametre, pas;
    
    [b][blue]if[/blue][/b](x_viseur >=[maroon]63[/maroon] ) diametre = x_viseur;
    [b][blue]else[/blue][/b] diametre = [maroon]127[/maroon] - x_viseur;
    [b][blue]if[/blue][/b](diametre >= [maroon]100[/maroon]) pas = [maroon]3[/maroon];
    [b][blue]else[/blue][/b] pas = [maroon]2[/maroon];
    
    
    
    [b][blue]if[/blue][/b](perdu==[maroon]1[/maroon]){
        [b][blue]for[/blue][/b](nombre = [maroon]0[/maroon]; nombre <49; nombre ++){
            RestoreDisp(2);
            ML_bmp_or_cl(blood, x_viseur-16, y_viseur-64 + nombre, [maroon]32[/maroon], [maroon]64[/maroon]);
            ML_display_vram();
            Sleep(20);
        }
        PrintMini(1,[maroon]30[/maroon],[gray]" > La victime y est passee < "[/gray],[maroon]1[/maroon]);
        ML_display_vram();
    }
    [b][blue]else[/blue][/b]{
        [b][blue]for[/blue][/b](taille=[maroon]1[/maroon]; taille < diametre; taille+=pas){
            RestoreDisp(1);
            [b][blue]for[/blue][/b](nombre=taille; nombre < diametre; nombre+=[maroon]2[/maroon]){
                ML_circle(x_viseur, y_viseur, nombre+16, ML_BLACK);
                ML_circle(x_viseur, y_viseur, nombre+17, ML_BLACK);
            }
            ML_display_vram();
        }
    }
    [b][blue]while[/blue][/b](IsKeyUp(30004));
}


[green]// FONCTIONS POUR L ALEATOIRE[/green]
[purple]int[/purple] RTC_getTicks()
{
    static [purple]int[/purple] SysCallCode[] = {[maroon]0[/maroon]xD201422B,[maroon]0[/maroon]x60F20000,[maroon]0[/maroon]x80010070};
    static [purple]int[/purple] (*SysCall)(int R4, [purple]int[/purple] R5, [purple]int[/purple] R6, [purple]int[/purple] R7, [purple]int[/purple] FNo ) = (void*)&SysCallCode;
    [b][blue]return[/blue][/b] (*SysCall)(0, [maroon]0[/maroon], [maroon]0[/maroon], [maroon]0[/maroon], [maroon]0[/maroon]x3B);
}

[purple]int[/purple] rand_int(int max)
{
    [b][blue]return[/blue][/b] rand() % max;
}


Je comprends pas pourquoi il sait lequel est le tueur mais au final c'est pas lui ...
Donc en gros ca se lance, a l'arrivée dans la fonctions jouer tout vas bien les rôles sont repartis puis apres il me dit qu'il y a pas de tueur en gros ...

Ajouté le 13/04/2014 à 19:42 :
J'ai quand même mis l'add-ins complet en pièce jointe

Ajouté le 14/04/2014 à 21:43 :
Bon voila j'ai trouvé mon erreur mais il m'en reste une ...
C'est au niveau de la condition qui détermine si le joueur a tué la victime ou si il a tué le meurtrier...
Actuellement, il me dit tout le temps que j'ai tiré dans le vide... je suppose que c'est la condition en rouge qui est mauvaise mais je sais pas pourquoi
Le code
Cliquer pour enrouler
#include "fxlib.h"
#include "MonochromeLib.h"
#include "jeu.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>


void jeu_solo()
{
    // DECLARATION DES VARIABLES UTILES
    int quitter = 0;
    int niveau = 0;
    int temps = 0;
    int nbr_PNJ = 0;
    int score = 0;
    int PNJ_xy[11];
    int role_PNJ[6];
    int dir_PNJ[6];
    
    // DECLARATION DES AUTRES VARIABLES
    int nbr = 0;
    
    // INITIALISATION DE RAND()
    srand(RTC_getTicks());
    
    Sleep(500);
    
    do{
        niveau++;
        // INITIALISATION DU NIVEAU
        switch(niveau){
            case 1:
                fond(1);
                temps = 100;
                nbr_PNJ = 3;
                // PNJ1
                PNJ_xy[0] = 26;
                PNJ_xy[1] = 28;
                dir_PNJ[0]= 0; // G
                // PNJ2
                PNJ_xy[2] = 60;
                PNJ_xy[3] = 28;
                dir_PNJ[1]= 1; // D
                // PNJ3
                PNJ_xy[4] = 118;
                PNJ_xy[5] = 28;
                dir_PNJ[2]= 1; // D
                break;
            default:
                quitter = 1;
        }
        
        
        RestoreDisp(1);
        for(nbr = 0; nbr < nbr_PNJ; nbr ++) role_PNJ[nbr] = 0;

        // VICTIME
        nbr = rand_int(nbr_PNJ);
        role_PNJ[nbr]=1;
        ML_rectangle(PNJ_xy[2*nbr]+1,PNJ_xy[2*nbr+1]+1,PNJ_xy[2*nbr]+3,PNJ_xy[2*nbr+1]+3,0, ML_CHECKER, ML_BLACK);

        // TUEUR
        do{
            nbr = rand_int(nbr_PNJ);
            if(role_PNJ[nbr]==0){
                role_PNJ[nbr]=2;
                ML_rectangle(PNJ_xy[2*nbr]+1,PNJ_xy[2*nbr+1]+1,PNJ_xy[2*nbr]+3,PNJ_xy[2*nbr+1]+3,0, ML_CHECKER, ML_CHECKER);
                break;
            }
        }while(1);
        SaveDisp(1);
        
        jouer(temps, nbr_PNJ, PNJ_xy, role_PNJ, dir_PNJ, &quitter);
        
    }while(!quitter);
}


// MOTEUR JEU  ----  A FAIRE
void jouer(int temps, int nbr_PNJ, int* PNJ_xy, int* role_PNJ, int* dir_PNJ, int* quitter)
{
    // DECLARATION DES VARIABLES
    int perdu = 0;
    int x_viseur = 64;
    int y_viseur = 32;
    int buffet[1100];
    char affichage[10];
    int nbr;
    
    unsigned int key;
    
    // SPRITES
    const unsigned char viseur[]={
        0xff,0xf8,0x1f,0xff,
        0xff,0x80,0x1,0xff,
        0xfe,0x0,0x0,0x7f,
        0xfc,0x0,0x0,0x3f,
        0xf8,0x0,0x0,0x1f,
        0xf0,0x0,0x0,0xf,
        0xe0,0x0,0x0,0x7,
        0xc0,0x0,0x0,0x3,
        0xc0,0x0,0x0,0x3,
        0x80,0x0,0x0,0x1,
        0x80,0x0,0x0,0x1,
        0x80,0x0,0x0,0x1,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x1,0x80,0x0,
        0x0,0x1,0x80,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x80,0x0,0x0,0x1,
        0x80,0x0,0x0,0x1,
        0x80,0x0,0x0,0x1,
        0xc0,0x0,0x0,0x3,
        0xc0,0x0,0x0,0x3,
        0xe0,0x0,0x0,0x7,
        0xf0,0x0,0x0,0xf,
        0xf8,0x0,0x0,0x1f,
        0xfc,0x0,0x0,0x3f,
        0xfe,0x0,0x0,0x7f,
        0xff,0x80,0x1,0xff,
        0xff,0xf8,0x1f,0xff
    };
    const unsigned char bras_d[]={
        0x1c,
        0xf0,
        0xe0
    };
    const unsigned char bras_g[]={
        0xe0,
        0x3c,
        0x1c
    };
    
    do{
        temps --;
        
        // AFFICHAGES
        ML_clear_vram();
        RestoreDisp(1);
        memcpy(buffet, ML_vram_adress(), 1024);
        ML_rectangle(0,0,128,64,0, ML_BLACK, ML_BLACK);
        ML_bmp_and_cl(viseur, x_viseur-16, y_viseur-16, 32, 32);
        ML_bmp_or(buffet, 0, 0, 128, 64);
        // affichage du tueur a la fin du temps
        if(temps<=50){
            for(nbr=0; nbr<(nbr_PNJ*2); nbr+=2){
                if(role_PNJ[(int)(nbr/2)]==2){
                    if(dir_PNJ[(int)(nbr/2)]==1) ML_bmp_or(bras_g, PNJ_xy[nbr]-5, PNJ_xy[nbr+1]+5, 7, 3);
                    if(dir_PNJ[(int)(nbr/2)]==0) ML_bmp_or(bras_d, PNJ_xy[nbr]+4, PNJ_xy[nbr+1]+5, 7, 3);
                }
            }
        }
        ML_display_vram();
        
        // GESTIONS TOUCHES
        if(IsKeyDown(30023) && y_viseur+1 != 64) y_viseur++;
        if(IsKeyDown(30018) && y_viseur-1 != 0) y_viseur--;
        if(IsKeyDown(30021) && x_viseur+1 != 128) x_viseur++;
        if(IsKeyDown(30020) && x_viseur-1 != 0) x_viseur--;
        if(IsKeyDown(30002)) *quitter = 1;
        if(IsKeyDown(SHOOT)){
            *quitter = 1;
            for(nbr=0;nbr<(nbr_PNJ*2);nbr+=2){
                if[red][b][big](y_viseur+1 < PNJ_xy[nbr+1]+5 && y_viseur-1 > PNJ_xy[nbr+1] && x_viseur+1 < PNJ_xy[nbr]+5 && x_viseur-1 > PNJ_xy[nbr])[/big][/b][/red]{
                    if(role_PNJ[(int)(nbr/2)]!=2) *quitter = 1;
                    if(role_PNJ[(int)(nbr/2)]==2) *quitter = 2;
                }
            }
        }
    }while(*quitter==0);
    SaveDisp(2);
    fini(*quitter, x_viseur, y_viseur);
    RestoreDisp(1);
    ML_display_vram();
    Sleep(500);
}

// MEMORISATION DU FOND
void fond(int numero)
{
    const unsigned char niveau_1[]={
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x80,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xc0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xc0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1f,0xc0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf,0x80,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0xff,0xe0,0x0,0x0,0x0,0x0,0x0,0x3f,0xf8,0x0,0x0,
        0x0,0x0,0x0,0x0,0xf,0xff,0xfe,0x0,0x0,0x0,0x0,0x3,0xff,0xff,0x80,0x0,
        0x0,0x0,0x0,0x0,0x3f,0xff,0xff,0x80,0x0,0x0,0x0,0xf,0xff,0xff,0xe0,0x0,
        0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xe0,0x0,0x0,0x0,0x3f,0xff,0xff,0xf8,0x0,
        0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,
        0x0,0x0,0x0,0x1,0xff,0xff,0xff,0xf0,0x0,0x0,0x0,0x7f,0xff,0xff,0xfc,0x0,
        0x0,0x0,0x0,0x3,0xff,0xff,0xff,0xf8,0x0,0x0,0x0,0xff,0xff,0xff,0xfe,0x0,
        0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,
        0x0,0x0,0x0,0x1c,0x0,0x4,0x0,0x7,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0xc0,
        0x0,0x0,0x0,0x22,0x0,0x4,0x0,0x8,0x80,0x0,0x0,0x0,0x1,0x0,0x2,0x20,
        0x0,0x0,0x0,0x22,0x0,0x4,0x0,0x8,0x80,0x0,0x0,0x0,0x1,0x0,0x2,0x20,
        0x0,0x0,0x0,0x22,0x0,0x4,0x0,0x8,0x80,0x0,0x0,0x0,0x1,0x0,0x2,0x20,
        0x0,0x0,0x0,0x1c,0x0,0x4,0x0,0x7,0x0,0x0,0x0,0x0,0x1,0x0,0x1,0xc0,
        0x0,0x0,0x0,0x8,0x0,0x4,0x0,0x2,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x80,
        0x0,0x0,0x0,0x5c,0x0,0x4,0x0,0x7,0x40,0x0,0x0,0x0,0x1,0x0,0x1,0xd0,
        0x0,0x0,0x0,0x5c,0x0,0x4,0x0,0x7,0x40,0x0,0x0,0x0,0x1,0x0,0x1,0xd0,
        0x0,0x0,0x0,0x5c,0x0,0x4,0x0,0x7,0x40,0x0,0x0,0x0,0x1,0x18,0x1,0xd0,
        0x0,0x0,0x0,0x5c,0x0,0x4,0x0,0x7,0x40,0x0,0x0,0x0,0x1,0x18,0x1,0xd0,
        0x0,0x0,0x0,0x5c,0x0,0x4,0x0,0x7,0x40,0x0,0x0,0x0,0x1,0x18,0x1,0xd0,
        0x0,0x0,0x0,0x5f,0xcf,0xff,0xfc,0xff,0x40,0x0,0x0,0x3,0xff,0xff,0x3f,0xd0,
        0x0,0x0,0x0,0x4f,0xe1,0x4,0x11,0xfe,0x40,0x0,0x0,0x0,0x41,0x4,0x7f,0x90,
        0x0,0x0,0x0,0x7f,0xe0,0x84,0x21,0xbf,0xc0,0x0,0x0,0x0,0x21,0x8,0x6f,0xf0,
        0x0,0x0,0x0,0x41,0x60,0x44,0x41,0x90,0x40,0x0,0x0,0x0,0x11,0x10,0x64,0x10,
        0x0,0x0,0x0,0x41,0x60,0x24,0x81,0x90,0x40,0x0,0x0,0x0,0x9,0x20,0x64,0x10,
        0x0,0x0,0x0,0x41,0x60,0x15,0x1,0x90,0x40,0x0,0x0,0x0,0x5,0x40,0x64,0x10,
        0x0,0x0,0x0,0x41,0x60,0xe,0x1,0x90,0x40,0x0,0x0,0x0,0x3,0x80,0x64,0x10,
        0x0,0x0,0x0,0x41,0x70,0x15,0x3,0x90,0x40,0x0,0x0,0x0,0x5,0x40,0xe4,0x10,
        0x0,0x0,0x0,0x41,0x78,0x24,0x87,0x90,0x40,0x0,0x0,0x0,0x9,0x21,0xe4,0x10,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0
    };
    
    Bdisp_AllClr_DDVRAM();
    
    switch(numero){
        case 1:
            ML_bmp_or(niveau_1, 0, 0, 128, 64);
            break;
        default:
            ML_bmp_or(niveau_1, 0, 0, 128, 64);
    }
    
    // SAUVEGARDE DU SPRITE
    ML_display_vram();
    SaveDisp(1);
}

// SI IL Y A EU UN TIR
void fini(int perdu, int x_viseur, int y_viseur)
{
    const unsigned char blood[]={
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xff,
        0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xfe,
        0xff,0xff,0xff,0xfe,
        0x7f,0xff,0xff,0xfe,
        0x7f,0xff,0xff,0xbe,
        0x3f,0xff,0xff,0xbe,
        0x3f,0xff,0xe7,0xbe,
        0x3f,0xff,0xe7,0xbe,
        0x3f,0xff,0xe7,0xbe,
        0x3f,0xff,0xe7,0xbe,
        0x3f,0xf7,0xe7,0xbe,
        0x3e,0xf7,0xe7,0x9c,
        0x3e,0xf7,0xe3,0x0,
        0x1c,0xf7,0xe0,0x0,
        0x0,0xf7,0xe0,0x0,
        0x0,0xf7,0xe0,0x0,
        0x0,0xf7,0xc0,0x0,
        0x0,0x63,0x80,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0,
        0x0,0x0,0x0,0x0
    };
    int nombre, taille, diametre, pas;
    
    if(x_viseur >=63 ) diametre = x_viseur;
    else diametre = 127 - x_viseur;
    if(diametre >= 100) pas = 3;
    else pas = 2;
    
    
    
    if(perdu==1){
        for(nombre = 0; nombre <49; nombre ++){
            RestoreDisp(2);
            ML_bmp_or_cl(blood, x_viseur-16, y_viseur-64 + nombre, 32, 64);
            ML_display_vram();
            Sleep(20);
        }
        PrintMini(1,30," > La victime y est passee < ",1);
        ML_display_vram();
    }
    else{
        for(taille=1; taille < diametre; taille+=pas){
            RestoreDisp(1);
            for(nombre=taille; nombre < diametre; nombre+=2){
                ML_circle(x_viseur, y_viseur, nombre+16, ML_BLACK);
                ML_circle(x_viseur, y_viseur, nombre+17, ML_BLACK);
            }
            ML_display_vram();
        }
    }
    while(IsKeyUp(30004));
}


// FONCTIONS POUR L ALEATOIRE
int RTC_getTicks()
{
    static int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070};
    static int (*SysCall)(int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode;
    return (*SysCall)(0, 0, 0, 0, 0x3B);
}

int rand_int(int max)
{
    return rand() % max;
}

Lephenixnoir Hors ligne Administrateur Points: 18201 Défis: 142 Message

Citer : Posté le 15/04/2014 18:50 | #


if(IsKeyDown(SHOOT))
{
  *quitter = 1;
  for(nbr=0;nbr<(nbr_PNJ*2);nbr+=2){
  if(y_viseur+1 < PNJ_xy[nbr+1]+5 && y_viseur-1 > PNJ_xy[nbr+1] && x_viseur+1 < PNJ_xy[nbr]+5 && x_viseur-1 > PNJ_xy[nbr])
  {
    if(role_PNJ[(int)(nbr/2)]!=2) *quitter = 1;
    if(role_PNJ[(int)(nbr/2)]==2) *quitter = 2;
  }
}


Pourquoi est-ce que nbr va de 2 en 2 alors qu'au-dessus tu n'utilises que nbr/2 (c.a.d qu'il va de 1 en 1) ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 15/04/2014 18:52 | #


PNJ_xy[nbr+1] les coordonnées sont stockées dans un seul tableau avec x sur les cases paires et y sur les impaires
Lephenixnoir Hors ligne Administrateur Points: 18201 Défis: 142 Message

Citer : Posté le 15/04/2014 18:58 | #


Je pense que je sais d'où vient le problème.
Si tu touches la bonne personne, *quitter prend la valeur de 2 (je suppose).
Ensuite, tu continues à tester alors qu'il y a peut-être un autre personnage qui rentre dans le viseur, du coup *quitter reivent à 1.

Je ne comprends pas d'où viennent ces +5.
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 15/04/2014 19:01 | # | Fichier joint


Je te mets l'image du niveau en PJ
Le viseur est un point de 2*2 et les tetes font 5*5
Lephenixnoir Hors ligne Administrateur Points: 18201 Défis: 142 Message

Citer : Posté le 15/04/2014 19:07 | #


Alors, si je traduis le if.
if(y_viseur+1 < PNJ_xy[nbr+1]+5 && y_viseur-1 > PNJ_xy[nbr+1] && x_viseur+1 < PNJ_xy[nbr]+5 && x_viseur-1 > PNJ_xy[nbr])

J'obtiens
if(yv<PNJy+4 && yv>PNJy+1 && xv<PNJx+4 && xv>PNJx+1)

avec xv et yv les coordonnées du pointeur, et PNJx et PNJy celles du PNJ, pour lire plus simplement.
Soit
PNJy+1 < vy < PNJy+4
PNJx+1 < vx < PNJx+4


C'est bien ça ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 15/04/2014 19:08 | #


C'est ca
Lephenixnoir Hors ligne Administrateur Points: 18201 Défis: 142 Message

Citer : Posté le 15/04/2014 19:12 | #


Sinon, je vois que tu as tes PNJ aux rôles aléatoires, mais pourquoi est-ce que le tueur n'est affiché qu'à la fin ?
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 15/04/2014 19:15 | #


En gros actuellement, il initialise, il affiche le tueur avec une tete en checker et la victime avec une tete black, au bout d'un certain temps, il affiche le bras du tueur.
Si tu tirs, il devrait mettre 2 dans *quitter si tu as le 2*2 du viseur sur la tete du tueur et si tu shoot la victime mettre 1 dans *quitter

Ajouté le 15/04/2014 à 19:17 :
// affichage du tueur a la fin du temps // affichage bras du tueur a la fin du temps
Lephenixnoir Hors ligne Administrateur Points: 18201 Défis: 142 Message

Citer : Posté le 15/04/2014 19:17 | #


Jusque-là, c'est bon.
Je suis en train de vérifier le code de fini(), histoire d'être sûr, mais je ne vois pas où est l'erreur.
En attendant, essaye de debbuger en fixant, par exemple, le tueur à 0 et la victime à 1.
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 15/04/2014 19:18 | #


Tout l’aléatoire est vérifié j'ai aucun bug a ce niveau, le bras s'affiche au bon endroit dans le bon sens, si je tir dans le vide il se passe rien mais si je touche un PNJ c'est forcement un innocent
Lephenixnoir Hors ligne Administrateur Points: 18201 Défis: 142 Message

Citer : Posté le 15/04/2014 19:28 | #


C'est ce que je t'ai dit.
Lephenixnoir a écrit :
En attendant, essaye de debbuger en fixant, par exemple, le tueur à 0 et la victime à 1.

Dis-moi si ça fonctionne avec ça, on verra après pour l'aléatoire.
Eltoredo Hors ligne Modérateur Points: 4297 Défis: 35 Message

Citer : Posté le 15/04/2014 19:34 | #


T'aurai pas oublié un point virgule justement après ce truc rouge ? (le if viseur j'sais pas quoi)
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 15/04/2014 19:39 | #


non c'est une condition donc après pas besoin de ;
De toute façon le compilo me l'aurais dis...
J'ai pas compris pourquoi tu veux les fixer ... de toute façon si ça bug pas je peut le laisser
Eltoredo Hors ligne Modérateur Points: 4297 Défis: 35 Message

Citer : Posté le 15/04/2014 19:39 | #


Pense aussi a sauter une ligne entre le if (sans oublier le point virgule) et l'accolade qui suit (je trouve pas ça propre en fait ) et vérifie que t'a pas oublié d'en fermer une
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 15/04/2014 19:41 | #


J'ai toujours fait comme ca moi ca me va
Même chose que pour le ; pour une accolade non fermée
Lephenixnoir Hors ligne Administrateur Points: 18201 Défis: 142 Message

Citer : Posté le 15/04/2014 20:21 | #


Ce que j'entendais par "fixer", c'est, au lieu d'assigner des valeurs aléatoires pour le meurtrier et la victime, tu mets des valeurs définies, le temp du débuggage.
Comme ça tu sais lequel est le meurtrier dans la mémoire, et tu peux debugger beaucoup plus facilement.

De plus, je te conseille d'avoir une petite fonction Debug() pour afficher des données (dans l'exemple, pour n'importe quelle valeur entière):
#include <stdio.h>

void Debug(int x)
{
  char ch[20];
  SaveDisp(3);
  sprintf(ch,"%d",x);
  PopUpWin(1);
  locate(3,4); Print((const unsigned char *)ch);
  GetKey(&key);
  RestoreDisp(3);
}
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 15/04/2014 20:38 | #


le SDK le fait pour moi mais je prend note

Ajouté le 15/04/2014 à 20:39 :
Je sais qui est le meurtrier, c'est celui avec la tete "carrelée" et je sais très bien que je n'ai aucun bug sur ça
1, 2 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 40 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd