#include "..\C-Engine\CHeader.hpp" class Control: public Script { public: void Update(); }; void Control::Update() { bool isground = GetObject()->ORigibody->CollisionDecor( GetX() , GetY()-1); bool isdo = false; if(input_press(K_RIGHT)) { Move(1,0); SetIt(1); GetObject()->ORender->ReverseRender(false); isdo = true; } else if(input_press(K_LEFT)) { Move(-1,0); SetIt(1); GetObject()->ORender->ReverseRender(true); isdo = true; } if(isground == true) { if(input_trigger(K_UP)) { GetObject()->ORigibody->R_body.velocity.y = 30; } if(isdo == false) { SetIt(0); } } else { SetIt(2); } GetEngine()->MiddleScreen(GetX() + 8 , GetY() + 8); } int Jeu() { //*************Sprites*************\\ const unsigned char Perso_Normal[]={0xff, 0xff, 0xfc, 0x1f, 0xf0, 0x7, 0xe0, 0x7, 0xe0, 0x3, 0xc0, 0x53, 0x80, 0x51, 0x80, 0x51, 0x80, 0x1, 0x80, 0x1, 0xc8, 0x25, 0xf8, 0x7, 0xfc, 0xf, 0xe3, 0xf3, 0xc1, 0xe1, 0xff, 0xff, }; const unsigned char Perso_NormalN[]={0x3, 0xe0, 0xf, 0xf8, 0x1f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfe, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0xfe, 0x1f, 0xfc, 0x3f, 0xfe, 0x7f, 0xff, 0x3e, 0x3e, }; const unsigned char Perso_Marche_1[]={0xff, 0xff, 0xf8, 0x3f, 0xe0, 0xf, 0xe0, 0xf, 0xc0, 0x17, 0xc0, 0x17, 0xc2, 0x17, 0xc1, 0x7, 0xc1, 0x7, 0xe2, 0x17, 0xfc, 0x7, 0x90, 0xf, 0x88, 0x1f, 0x8f, 0xe3, 0xff, 0xc3, 0xff, 0xff, }; const unsigned char Perso_Marche_1N[]={0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x3f, 0xf8, 0x7f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfc, 0x7f, 0xfc, 0xff, 0xfc, 0xff, 0xf8, 0xff, 0xfc, 0xff, 0xfe, 0x70, 0x7e, 0x0, 0x3c, }; const unsigned char Perso_Marche_2[]={0xff, 0xff, 0xf8, 0x1f, 0xe0, 0xf, 0xc0, 0xf, 0xc0, 0x57, 0x80, 0x57, 0x80, 0x55, 0x80, 0x5, 0x88, 0x5, 0xc8, 0x25, 0xf8, 0x7, 0xfc, 0xf, 0xf3, 0xff, 0xf8, 0x5f, 0xff, 0xff, 0xff, 0xff, }; const unsigned char Perso_Marche_2N[]={0x7, 0xe0, 0x1f, 0xf0, 0x3f, 0xf8, 0x7f, 0xf8, 0x7f, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0x3f, 0xfe, 0x1f, 0xf8, 0x1f, 0xf0, 0xf, 0xf0, 0x7, 0xe0, 0x0, 0x0, }; const unsigned char Perso_Marche_3[]={0xff, 0xff, 0xf8, 0x3f, 0xe0, 0xf, 0xf0, 0xf, 0x80, 0xa5, 0x80, 0xa5, 0x80, 0xa5, 0x80, 0x5, 0xe0, 0x7, 0xe0, 0x47, 0xe0, 0xb, 0xd0, 0xb, 0xcc, 0x33, 0xe3, 0xc7, 0xf1, 0xff, 0xff, 0xff, }; const unsigned char Perso_Marche_3N[]={0x7, 0xc0, 0x1f, 0xf0, 0x3f, 0xf8, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x3f, 0xfc, 0x7f, 0xfe, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xfc, 0x1f, 0x38, 0xe, 0x0, }; const unsigned char Perso_Saut[]={0xff, 0xff, 0xfe, 0x1f, 0xc8, 0x5, 0x80, 0x5, 0x80, 0x1, 0x80, 0x3, 0xc0, 0x53, 0xe0, 0x53, 0xe0, 0x53, 0xe6, 0x3, 0xe9, 0x5, 0xf1, 0x29, 0xf0, 0x91, 0xf0, 0xa3, 0xf9, 0xe7, 0xff, 0xff, }; const unsigned char Perso_SautN[]={0x1, 0xe0, 0x37, 0xfa, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0x7f, 0xfe, 0x3f, 0xfe, 0x3f, 0xff, 0x3f, 0xff, 0x1f, 0xff, 0x1f, 0xff, 0x1f, 0xfe, 0xf, 0xfc, 0x7, 0x38, }; Sprite S_Perso_Marche_1(Perso_Marche_1 , Perso_Marche_1N , 16 , 16);S_Perso_Marche_1.CreateReverse(); Sprite S_Perso_Marche_2(Perso_Marche_2 , Perso_Marche_2N , 16 , 16);S_Perso_Marche_2.CreateReverse(); Sprite S_Perso_Marche_3(Perso_Marche_3 , Perso_Marche_3N , 16 , 16);S_Perso_Marche_3.CreateReverse(); Sprite S_Perso_Marche[]={ S_Perso_Marche_1 , S_Perso_Marche_2 , S_Perso_Marche_3}; Sprite S_Perso_Normal(Perso_Normal , Perso_NormalN , 16 , 16);S_Perso_Normal.CreateReverse(); Sprite S_Perso_Saut(Perso_Saut , Perso_SautN , 16 , 16);S_Perso_Saut.CreateReverse(); Animation A_Perso_Normal( S_Perso_Normal); Animation A_Perso_Marche( S_Perso_Marche , 3 , 120 ); Animation A_Perso_Saut( S_Perso_Saut ); Animation A_Perso[]={ A_Perso_Normal , A_Perso_Marche , A_Perso_Saut}; //*************Object*************\\ Object Perso; Perso.OTransforms->SetXY( 2 , 11 ); Perso.ORender->SetRender( A_Perso , 3 ); Perso.ORigibody = new Rigibody(&Perso); Perso.ORigibody->SetMass(1); Control ScriptPerso; Perso.AffectScript(ScriptPerso); //*************Map*************\\ const unsigned char tileset[]={ 0x0, 0x8, 0x0, 0x1, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x8, 0x0, 0x1, 0x40, 0x10, 0x0, 0x0, 0x0, 0x7, 0x0, 0x8, 0x0, 0x1, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x7, 0x3, 0xc, 0x30, 0x1a, 0x20, 0x20, 0x30, 0x6, 0x0, 0x7, 0x0, 0x8, 0x0, 0x1, 0x2c, 0xa0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x8, 0x0, 0x1, 0x20, 0x20, 0x0, 0x0, 0x0, 0x7, 0x18, 0x5, 0x80, 0xc3, 0x5f, 0xd1, 0x80, 0x30, 0x0, 0x7, 0x0, 0x8, 0x0, 0x1, 0x40, 0x10, 0x0, 0x0, 0x0, 0x7, 0x0, 0x8, 0x0, 0x1, 0x7f, 0xf0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x8, 0x0, 0x1, 0x5, 0x8, 0x0, 0x0, 0x40, 0x7, 0x0, 0x8, 0x0, 0x1, 0x7, 0x4, 0x0, 0x0, 0x80, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x41, 0x0, 0x7, 0x0, 0x1e, 0xfc, 0xf, 0x7b, 0x0, 0x2, 0x41, 0x0, 0x7, 0x0, 0x1, 0x20, 0x30, 0x85, 0x0, 0x0, 0x41, 0x0, 0x7, 0x3, 0x0, 0x0, 0x40, 0x0, 0x80, 0x0, 0x41, 0x0, 0x7, 0x0, 0x0, 0x61, 0x80, 0x0, 0x40, 0x30, 0x20, 0x80, 0x7, 0x0, 0x0, 0x1, 0x0, 0x0, 0x40, 0x0, 0x41, 0x0, 0x7, 0x18, 0x0, 0x0, 0x86, 0x3, 0x20, 0x0, 0x41, 0x0, 0x7, 0x0, 0x3, 0x1, 0x0, 0x0, 0x21, 0x80, 0x41, 0x0, 0x7, 0x12, 0x0, 0x1, 0x0, 0x0, 0x20, 0x0, 0x41, 0x0, 0x7, 0xfd, 0xe0, 0x1, 0x30, 0x18, 0x20, 0x0, 0x41, 0x0, 0x7, 0x0, 0x0, 0x1, 0x0, 0x0, 0x20, 0x0, 0x82, 0x0, 0x7, 0x0, 0x0, 0x1, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x80, 0x0, 0x18, 0x0, 0x0, 0x0, 0x7, 0x2, 0x1, 0x1, 0x6, 0x1, 0x90, 0x0, 0x0, 0x0, 0x7, 0x5, 0x2, 0x81, 0x0, 0x0, 0x10, 0x30, 0x0, 0x0, 0x7, 0x2, 0x1, 0x1, 0x0, 0x0, 0x10, 0x0, 0x1c, 0x0, 0x7, 0x10, 0x0, 0x81, 0x30, 0xc, 0x20, 0x0, 0x22, 0x0, 0x7, 0x28, 0x1, 0xa0, 0x80, 0x0, 0x11, 0x80, 0x41, 0x0, 0x7, 0x10, 0x0, 0xc0, 0x80, 0x0, 0x30, 0x0, 0x41, 0x0, 0x7, 0x0, 0x0, 0x0, 0x40, 0x0, 0x40, 0x0, 0x41, 0x0, 0x7, 0x0, 0x0, 0x0, 0x28, 0x21, 0x80, 0x0, 0x41, 0x0, 0x7, 0x0, 0x0, 0x0, 0x37, 0xde, 0x0, 0x0, 0x41, 0x0, 0x7, }; bool tileprop[]= { false , true , true, true , true}; const unsigned char * map1[]={ "00000000000000000000", "00000000000000000000", "00005777777777740000", "00002>DDD>\?DD\?D10000", "00002D>D>3>DDDD10000", "00002\?DDDCDD>D\?10000", "0000;888:<98888B0000", "000000002<1000000000", "000000002<1000000000", "000000002<1000000000", }; Map Niveau; Niveau.SetMap(tileset , map1 , tileprop , 11 , 11 , 20 ,10); //*************Moteur*************\\ Engine Game; Game.AddObject( &Perso); Game.AffectMap( &Niveau); Game.SetType(1); Niveau.AffectEngine( &Game); Game.Game(); return 1; } extern "C" { int AddIn_main(int isAppli, unsigned short OptionNum) { Jeu(); return 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 }