#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 21/02/2014 05:42 | #
Eh oh, doucement
Je te parle du SDK là
Citer : Posté le 21/02/2014 07:06 | #
Tu édite tes fichiers dans le SDK ? omg
Tu m'étonne que t'ai des problèmes après
Citer : Posté le 21/02/2014 07:40 | #
Déjà que je suis dans une machine virtuelle...
Si tu as une méthode pour compiler tout ça avec gcc, je suis preneur
Encore que l'émulateur est plutôt pratique...
Et rigole pas, le SDK est environ 20 fois plus rapide que le bloc-notes pour ouvrir les gros fichiers
mdr
Citer : Posté le 21/02/2014 08:52 | #
Utilise Notepad++
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 21/02/2014 08:54 | #
Perso je passe par Visual C++ ou Sublime Text (car il est mieux pour la coloration syntaxique et plus rapide pour l'ouverture des fichiers) pour éditer le .c et j'ai le SDK d'ouvert à côté pour compiler. Après chacun fait comme il veux.
Citer : Posté le 24/03/2014 22:16 | #
Petit soucis surement du a une erreur avec les tableaux que je maitrise pas encore totalement
#include "MonochromeLib.h"
#include "solitr.h"
int AddIn_main(int isAppli, unsigned short OptionNum)
{
unsigned int key;
int plateau[7][7];
int x_plateau, y_plateau;
int x_pointeur, y_pointeur;
Bdisp_AllClr_DDVRAM();
x_plateau = 30;
y_plateau = 10;
init_plateau(plateau);
affiche_plateau(plateau, &x_plateau, &y_plateau);
Sleep(500);
GetKey(&key);
Sleep(5000);
return 1;
}
void affiche_plateau(int *plateau, int* x_plateau, int* y_plateau)
{
int x, y;
// SPRITE DU PLATEAU
const unsigned char solitaire[]={
0xff,0xff,0xff,0xff,0xff,0xe0,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0xf,0xff,0xfe,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0xff,0xff,0xff,0xff,0xff,0xe0,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0xff,0xff,0xff,0xff,0xff,0xe0,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0xff,0xff,0xff,0xff,0xff,0xe0,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0x82,0x8,0x20,0x82,0x8,0x20,
0xff,0xff,0xff,0xff,0xff,0xe0,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0xf,0xff,0xfe,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0x80,0x8,0x20,0x82,0x0,0x20,
0xff,0xff,0xff,0xff,0xff,0xe0
};
ML_bmp_and(solitaire, *x_plateau, *y_plateau, 42, 42);
for(x=0; x<=6; x++){
for(y=0; y<=6; y++){
if(plateau[x][y] == 1) ML_point((*x_plateau)+3+7*x, (*y_plateau)+3+7*y, 3, ML_BLACK);
}
}
}
void init_plateau(int *plateau)
{
int x, y;
for(x=0; x<=6; x++){
for(y=0; y<=6; y++){
plateau[x][y] = 1;
}
}
}
#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
Executing Hitachi SH C/C++ Compiler/Assembler phase
set SHC_INC=C:\Documents and Settings\Damien\Bureau\Damien\New Folder\OS\SH\include
set PATH=C:\Documents and Settings\Damien\Bureau\Damien\New Folder\OS\SH\bin
set SHC_LIB=C:\Documents and Settings\Damien\Bureau\Damien\New Folder\OS\SH\bin
set SHC_TMP=C:\Documents and Settings\Damien\Bureau\Damien\Casio\Solitaire\Debug
WARNING: The following dependant file(s) do not exist: "MonochromeLib.h" "solitr.h". Line: 74
"C:\Documents and Settings\Damien\Bureau\Damien\New Folder\OS\SH\bin\shc.exe" -subcommand=C:\DOCUME~1\Damien\LOCALS~1\Temp\hmkDF.tmp
C:\Documents and Settings\Damien\Bureau\Damien\Casio\Solitaire\solitr.c(18) : C1016 (W) Argument mismatch
C:\Documents and Settings\Damien\Bureau\Damien\Casio\Solitaire\solitr.c(19) : C1016 (W) Argument mismatch
C:\Documents and Settings\Damien\Bureau\Damien\Casio\Solitaire\solitr.c(81) : C2233 (E) Illegal array reference
C:\Documents and Settings\Damien\Bureau\Damien\Casio\Solitaire\solitr.c(91) : C2233 (E) Illegal array reference
HMAKE MAKE UTILITY Ver. 1.1
Copyright (C) Hitachi Micro Systems Europe Ltd. 1998
Copyright (C) Hitachi Ltd. 1998
ERROR: Process failed with return code: 1
Build was not successful.
Citer : Posté le 24/03/2014 22:18 | #
Ben, int *, ça fait un tableau à une dimension.
Si tu passes un tableau à deux dimensions, c'est int ** dans le prototype
Citer : Posté le 24/03/2014 22:19 | #
Aaaah merci
Citer : Posté le 24/03/2014 22:30 | #
Il va (normalement) quand meme te mettre une erreure, meme si tu met int**.En fait, les "simples" tableau 2D comme cela sont juste des tableaux 1D, mais dont le compilateur transforme le tab[x][y] en tab[x+taille*y] (ou y+taille*x, je ne sais plus).
Donc ta fonction
{
int x, y;
for(x=0; x<=6; x++){
for(y=0; y<=6; y++){
plateau[x][y] = 1;
}
}
}
devrait etre comme cela :
{
int x, y;
for(x=0; x<=6*6; x++){
plateau[x] = 1;
}
}
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 25/03/2014 17:36 | #
C'est x+tailledex*y en général
Zelda de Smashmaster
Super Geek Brothers de Siapran
Pac-Man
Pac-Man Color
Meta Ball
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Citer : Posté le 25/03/2014 20:56 | #
Bon voila je fais face a un nouveau probleme ...
Je cherche a faire la somme des cases du tableau donc j'ai fait cette fonction:
{
int x, somme;
somme = 0;
for(x=0; x<49; x++){
somme = somme + plateau[x];
}
return somme;
}
Le soucis c'est que ça me retourne une somme de -2000495099 et quelques pour un tableau de 7*7 qui contient que des 1 ou des 0 je m’inquiète un peu
Citer : Posté le 25/03/2014 21:10 | #
D'abord, dans ces cas-là, il faut toujours passer la taille du tableau en paramètre, pour éviter les débordements (sauf si elle est constante).
Sinon, la fonction semble correcte, je ne vois pas ce que ça pourrait être d'autre.
Citer : Posté le 25/03/2014 21:11 | #
Ben non d’après ce que m'as dis dodormeur hier (2 messages au dessus) ça marche mieux comme ça...
Citer : Posté le 25/03/2014 21:11 | #
Si c'est un tableau de 7*7, je pense qu'il faut aller de 0 à 48 et non pas de 0 à 49
Citer : Posté le 25/03/2014 21:12 | #
Attends, tu as bien dit un tableau de 7*7 ? Il fait une ou deux dimensions ?
Citer : Posté le 25/03/2014 21:13 | #
il fait 2 dimensions et oui c'est du constant en 7*7 mais de toute facon il est déclaré en 8*8
Citer : Posté le 25/03/2014 21:13 | #
Ben, si il fait deux dimensions, il ne faut pas le passer en int *, mais en int ** !
Je crois que tu as mal compris ce qu'on voulait dire avec les tableaux à une et deux dimensions.
Citer : Posté le 25/03/2014 21:14 | #
Je penses aussi
Pour moi 1D = tableau[taille] et 2D = tableau[taille_x][taille_y]
Citer : Posté le 25/03/2014 21:15 | #
Là, oui.
Mais dans ta fonction, tu as un tableau 2D, mais tu fais tableau[x] ?!
Citer : Posté le 25/03/2014 21:17 | #
ben j'ai suivi le post de dodormeur ou il dit que le compilateur le transforme en tableau 1D
Citer : Posté le 25/03/2014 21:18 | #
><
Quoi qu'en fasse le compilateur, toi tu l'utilises en tableau 2d comme d'habitude, d'accord ?