#include "fxlib.h"
#include "stdio.h"
unsigned int key;
int caractere, caractere2;
char chaine[21];
char ident[21];
char domaine[30];
char mdp[30];
char destinataire[40];
char sujet[30];
char corps[50];
int AddIn_main(int isAppli, unsigned short OptionNum){
Bdisp_AllClr_DDVRAM();
demmarage();
identif();
return 1;
}
demmarage(){
int key;
Bdisp_AllClr_DDVRAM();
PrintMini(80,58,"Version 1.0",0);
Bdisp_DrawLineVRAM(10,10,10,50);
Bdisp_DrawLineVRAM(10,50,117,50);
Bdisp_DrawLineVRAM(117,50,117,10);
Bdisp_DrawLineVRAM(10,10,117,10);
Bdisp_DrawLineVRAM(10,10,63,25);
Bdisp_DrawLineVRAM(117,10,63,25);
locate(7,5);
Print("Messagerie");
do{
GetKey(&key);
} while(key != 30004);
Bdisp_AllClr_DDVRAM();
}
identif(){
Bdisp_AllClr_DDVRAM();
locate(1,1);
Print("Identifiant:");
locate(1,2);
Print("+------------------+");
locate(1,3);
Print("| |");
locate(1,4);
Print("+------------------+");
remplichaine();
caractere2=0;
do{
caractere2++;
ident[caractere2] = chaine[caractere2];
} while(caractere2+1 != caractere);
========================== > ICI < ========
locate(2,3);
Print(ident);
do{
GetKey(&key);
} while(key != 30004);
}
remplichaine(){
caractere=0;
do{
caractere++;
======================= > ET ICI < ========
locate(2,3);
Print(chaine);
GetKey(&key);
//==========Conversion==========
if (key==48)key= 71;
if (key==46)key= 61;
if (key==15)key= 51;
if (key==135)key= 41;
if (key==30004)key= 31;
if (key==49)key= 72;
if (key==50)key= 62;
if (key==51)key= 52;
if (key==137)key= 42;
if (key==153)key= 32;
if (key==52)key= 73;
if (key==53)key= 63;
if (key==54)key= 53;
if (key==169)key= 43;
if (key==185)key= 33;
if (key==55)key= 74;
if (key==56)key= 64;
if (key==57)key= 54;
if (key==30025)key= 44;
if (key==30015)key= 34;
if (key==187)key= 75;
if (key==30046)key= 65;
if (key==40)key= 55;
if (key==41)key= 45;
if (key==44)key= 35;
if (key==14)key= 25;
if (key==30001)key= 76;
if (key==149)key= 66;
if (key==133)key= 56;
if (key==129)key= 46;
if (key==130)key= 36;
if (key==131)key= 26;
if (key==30007)key= 77;
if (key==205)key= 67;
if (key==168)key= 57;
if (key==30002)key= 47;
if (key==30023)key= 37;
if (key==30021)key= 27;
if (key==30006)key= 78;
if (key==30008)key= 68;
if (key==30016)key= 58;
if (key==30020)key= 38;
if (key==30018)key= 28;
if (key==30009)key= 79;
if (key==30010)key= 69;
if (key==30011)key= 59;
if (key==30012)key= 49;
if (key==30013)key= 39;
if (key==30014)key= 29;
//==============================
if(key==31)caractere=19;
if(key==76)chaine[caractere]='a';
if(key==66)chaine[caractere]='b';
if(key==56)chaine[caractere]='c';
if(key==46)chaine[caractere]='d';
if(key==36)chaine[caractere]='e';
if(key==26)chaine[caractere]='f';
if(key==75)chaine[caractere]='g';
if(key==65)chaine[caractere]='h';
if(key==55)chaine[caractere]='i';
if(key==45)chaine[caractere]='j';
if(key==35)chaine[caractere]='k';
if(key==25)chaine[caractere]='l';
if(key==74)chaine[caractere]='m';
if(key==64)chaine[caractere]='n';
if(key==54)chaine[caractere]='o';
if(key==73)chaine[caractere]='p';
if(key==63)chaine[caractere]='q';
if(key==53)chaine[caractere]='r';
if(key==43)chaine[caractere]='s';
if(key==33)chaine[caractere]='t';
if(key==72)chaine[caractere]='u';
if(key==62)chaine[caractere]='v';
if(key==52)chaine[caractere]='w';
if(key==42)chaine[caractere]='x';
if(key==32)chaine[caractere]='y';
if(key==71)chaine[caractere]='z';
if(key==61)chaine[caractere]='.';
if(key==57)chaine[caractere]='@';
} while(caractere!=19);
if(key==31)chaine[caractere]='\0';
if(key!=31)chaine[caractere+1]='\0';
}
#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum){return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
#pragma section
Citer : Posté le 26/03/2014 22:11 | #
10^Z n'existe pas en C.
utilise plutot pow(10,z), cela marchera (mais la fonction est plutôt lente) (il faut inclure math.h)
plus précisement, ^ permet de comparer deux nombre bits a bits en effectuant un Xor
par exemple,
100111 ^
101010 =
001101
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 26/03/2014 22:12 | #
Autre idée.
while(n)
{
ML_mbp(Chiffres[n%10],92+Z*6,11,7,7);
n /= 10;
}
Citer : Posté le 26/03/2014 22:17 | #
Ok merci, j'essaye celle de Dodormeur
Et ensuite celle de LePenixNoir (même si je ne là comprend pas tout de suite)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 26/03/2014 22:20 | #
Petite correction de celle du phénix (pour eviter d'avoir deux nombres qui se chevauchent
int n = nombreDeCoups; //sauvegarde
int z = 0;
while(n)
{
ML_bmp_or(Chiffres[n%10],92+Z*6,11,7,7);//on affiche le chiffre non dessiné le plus a droite
n /= 10;//et ensuite on divise par 10 le nombre, pour pouvoir ensuite dessiner le suivant
z--;//pour eviter de dessiner les chiffres au même endroit
}//tant qu'on a pas tout dessiné
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 26/03/2014 22:21 | #
Dodormeur ça fonctionne pas ton truc, il me dit un truc faux en rapport avec le %
Ajouté le 26/03/2014 à 22:22 :
Enfin, ton truc avec pow(10,Z)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 26/03/2014 22:22 | #
Je vois, le résultat de pow est un float, alors forcément le modulo n'aime pas
met ca :
ML_bmp_and(Chiffres[(Coups/((int)pow(10^Z)))%10],92+Z*6,11,7,7);
ML_bmp_or(Chiffres[(Coups/((int)pow(10^Z)))%10],92+Z*6,11,7,7);
}
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 26/03/2014 22:25 | #
Hum, ça marche pour le début, mais j'ai des 0 qui s'affiche derrière le 1er chiffre
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 26/03/2014 22:25 | #
@Kirafi :
Pour faire des puissances il faut utiliser la fonction pow(), donc à la place de mettre :
Il faut mettre :
Le caractère ' ^ ' est un opérateur binaire et calcule le Xor (Ou exclusif) entre deux nombres (c'est assez compliqué).
Par exemple :
10^Z
[green]//Admettons que Z vaut 2 :[/green]
10^2
= 0000 0000 0000 [blue]1[/blue][green]0[/green][purple]1[/purple]0 ^ 0000 0000 0000 [blue]0[/blue][green]0[/green][purple]1[/purple]0 [green]//on convertit les nombres Z et 2 en binaire[/green]
= 0000 0000 0000 1000 [green]//ici on calcule le Xor entre les deux bits rouges, entre les deux bits bleu etc. et on fait ça avec tous les bits[/green]
[i]Rappel : 1 Xor 1 = 0 , 1 Xor 0 = 1 , 0 Xor 0 = 0 , 0 Xor 1 = 1[/i]
= 8
Ajouté le 26/03/2014 à 22:26 :
En retard de plusieurs messages >_<
Ajouté le 26/03/2014 à 22:27 :
@Dodormeur : ce n'est pas pow(10^Z) mais pow(10,Z)
Citer : Posté le 26/03/2014 22:28 | #
Ok pour le ^ = Xor j'ai compris
Et pas grave pour les message, comme ça j'ai plusieurs explications et je comprend mieux
Ajouté le 26/03/2014 à 22:36 :
En fait, il y a un bug au niveau du nombre de chiffre à afficher, le log fait n'importe quoi
Dark Storm reviens !
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 26/03/2014 22:38 | #
Essaye ça :
for(Z=0;Z<(log (Coups))+1;Z++){
ML_bmp_and(Chiffres[(Coups/((int)pow(10,Z)))%10],92+Z*6,11,7,7);
ML_bmp_or(Chiffres[(Coups/((int)pow(10,Z)))%10],92+Z*6,11,7,7);
Coup /= 10;
}
Ajouté le 26/03/2014 à 22:39 :
J'ai rien dit, ça ne marche pas, je corrige ça
édit :
for(Z=0;Z<(log (Coups))+1;Z++){
ML_bmp_and(Chiffres[Coups%10],92+(log(Coups)-Z)*6,11,7,7);
ML_bmp_and(Chiffres[Coups%10],92+(log(Coups)-Z)*6,11,7,7);
Coup /= 10;
}
Citer : Posté le 26/03/2014 22:41 | #
Marche pas, ça bloque sur 1
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 26/03/2014 22:44 | #
Essaye ça, ça n'utilise pas la fonction pow
for(Z=0;Z<(log (Coups))+1;Z++)
{
ML_bmp_and(Chiffres[Coups%10],92+(log(Coups)-Z)*6,11,7,7);
ML_bmp_and(Chiffres[Coups%10],92+(log(Coups)-Z)*6,11,7,7);
Coups /= 10;
}
Citer : Posté le 26/03/2014 22:45 | #
Je te déconseille de faire ça, parce que ton nombre de coup va tomber à 0
Citer : Posté le 26/03/2014 22:47 | #
...ça n'affiche rien...
Chiffres correspond au tableau des sprites des chiffres, la case 0 correspond au 0 et ainsi de suite...
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 26/03/2014 22:48 | #
Je te déconseille de faire ça, parce que ton nombre de coup va tomber à 0
int nbCoups = log (Coups);
for(Z=0;Z<nbCoups+1;Z++)
{
ML_bmp_and(Chiffres[Coups%10],92+(nbCoups-Z)*6,11,7,7);
ML_bmp_and(Chiffres[Coups%10],92+(nbCoups-Z)*6,11,7,7);
Coups /= 10;
}
Citer : Posté le 26/03/2014 22:53 | #
int c'est quoi ?
Edit : marche pas non plus
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 26/03/2014 22:57 | #
c'est une type de variable, il existe :
char : pour stocker 1 caractère.
short : c'est un petit int.
int : un entier.
double : un entier plus grand que int.
long : un entier plus grand que int.
float : un réel. (il est conseillé d'utiliser le moins de float que possible)
Citer : Posté le 26/03/2014 22:58 | #
Ok mais ça fonctionne pas ton truc
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 26/03/2014 23:04 | #
Je viens de lire la documentation de <math.h>, et apparemment la fonction log() équivaut à la fonction Ln, donc remplace tous les log() par log10(...).
Citer : Posté le 26/03/2014 23:05 | #
ok
Ajouté le 26/03/2014 à 23:13 :
Bon, rien ne s'affiche...
je vais retenter un truc avec log10(...)
Ajouté le 27/03/2014 à 00:13 :
Voila, après de rude réflexions, j'ai trouvé tout seul 8) , et en plus les chiffres se centrent (vous verrez sur le jeu final)
for(Z=0;Z<A;Z++){
ML_bmp_and(Chiffres[(Coups/(int)pow(10,Z))%10],89+A*3-Z*6,11,7,7);
ML_bmp_or(Chiffres[(Coups/(int)pow(10,Z))%10],89+A*3-Z*6,11,7,7);
}
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 27/03/2014 06:28 | #
Mon code était beaucoup plus optimisé
Je te déconseille de faire ça, parce que ton nombre de coup va tomber à 0
int nbCoups = log (Coups);
for(Z=0;Z<nbCoups+1;Z++)
{
ML_bmp_and(Chiffres[Coups%10],92+(nbCoups-Z)*6,11,7,7);
ML_bmp_and(Chiffres[Coups%10],92+(nbCoups-Z)*6,11,7,7);
Coups /= 10;
}
Là, tu continues de diviser Coups par 10, mais où le sauvegardes-tu ?