/*----------------------------------------- Arkanoid sources code, revision 37 15/04/04 Copyright 2003 by Geoffrey ANNEHEIM http://perso.wanadoo.fr/tisofts. geoffrey.anneheim@wanadoo.fr Compiled with TIGCC 0.95 beta 4.0 ------------------------------------------*/ #define GAME_NAME Arkanoïd Revenge of DOH #define GAME_VERSION 0.37 #define GAME_DATE "25/10/03" #define GAME_TEXT "Thank you to have played Arkanoid II v0.37" #include #include "polysnd2.h" #include "extgraph.h" #include "graphlib.h" #include "intro_orage.h" #include "Header.h" #include "levels_h.h" #include "vars_menu.h" #include "sprites.h" #include "tmpsprites.h" #include "fontlib.h" #include "pTable.h" #include "pBille.h" #include "pRacket.h" #include "Monsters.h" #include "DataFiles.h" #include "scrolling.h" #include "Mapping.h" #include "DrawMap.h" #include "Levels.h" #include "Missiles.h" #include "Colle.h" #include "DoubleRacket.h" #include "GhostRacket.h" #include "OtherBonus.h" #include "Bonus.h" #include "Indicator.h" #include "Commands.h" #include "pCollides.h" #include "collides.h" #include "collidesMonsters.h" #include "Animations.h" #include "Interrupt.h" #include "Interrupt2.h" #include "scores.h" #include "Environment.h" #include "Game.h" #include "EndLevel.h" #include "arkanoid.h" #include "Introductions.h" void _main(void) { //Installe jeu InstallGame (); //Introductions INTRO_OrageStudio (); INTRO_ArkanoidTitle (); INTRO_ShipIntroduction (); INTRO_AccessInShip (); //Chargement du fichier niveaux Levels_OpenFile ("ark_lvls"); //Préparation du niveau Levels_SetMap (1,LVL_RIGHT); //memcpy (LevelMap,MAP_LEVEL1,18*13); ENV_Prepare (); ENV_DrawLevel (); ENV_EndPrepare (); //Paramètre joueur 0 GAME_CreateRacketHumain0 (); //Disponible seulement pour le premier niveau NewMonster (100,10,0,DEFAULT_SPEED_MONSTERS); NewMonster (10,10,0,DEFAULT_SPEED_MONSTERS); NewMonster (50,10,0,DEFAULT_SPEED_MONSTERS); /*NewRacket (50,135,RACKET_NORMAL,185); NewRacket (150,135,RACKET_NORMAL,185); NewRacket (100,150,RACKET_NORMAL,185);*/ while (!_keytest2 (RR_ESC)) { COUNTER_FRAMESKIP++; if (COUNTER_FRAMESKIP>FRAMESKIP) { //Dessine décors et MAP ENV_DrawScreenAndMap (); //Execute animation acier SHOW_ANIM_BLOCK (); //Déplacement des billes UpdateBillesPos (); //Mise à jour de la position des monstres UpdateMonstersPos (); //Déplacement racket (HUMAIN) KEYS_MoveRacket (HUMAIN0); KEYS_BonusColle (HUMAIN0); Rackets_CollideWithScreen (); Bonus_BilleInRacketColle (); //Collision briques CollideWithBlock (); CollideWithBlock_Special (); //Collisions billes avec: //CollideWithBilles (); Rackets_CollideBillesWithGhost (); //Collision avec Racket Bonus Ghost Rackets_CollideWithBilles (); Bonus_3Billes (); //Gestion bonus 3 billes CollideWithScreen (); ExitBille (); //Bille sortie de la zone de jeu //Dessine objets DrawDoubleRacket_anim (); //Dessine animation double racket Bonus_DrawGhost (); //Dessine fantôme //Collision Bonus avec écran ou racket Bonus_CollideWithRacket (); Bonus_CollideWithScreen (); //Collision monstres avec objets... Monsters_CollideWidthBille (); Monsters_CollideWithBlock (); Monsters_CollideWithBlock_Special (); Monsters_CollideWithScreen (); DrawRackets (); DrawAllBonus (); DrawMonsters (); DrawBilles (); //Collision Missile avec écran ou brick KEYS_Shoot (HUMAIN0); Missiles_CollideWithBlock (); Missiles_CollideWithBlock_Special (); Missile_CollideWithScreen (); //Dessine Missiles DrawMissiles (); //Dessine animation DRAW_ANIM_MISSILES (); //Gestion joeuur0 GAME_CreateBilleHumain0 (); CheckBillesPlayer (HUMAIN0); GAME_Lifes (); //Dessine logo GAME_DrawLogo (); //Dessine indicateurs Fleche ShowIndicators (); //Fin du niveau ENDLEVEL_NoBricks (); ENDLEVEL_AttendPlayer (); //Dessine compteur de frames Font0_DrawNumber (30,150,counter_fps2,ScreenBuffer); //Caméra (Régle scrolling) CenterScrolling (); //Afficher ScreenBuffer à l'écran ShowScreenBuffer (); COUNTER_FRAMESKIP=0;} counter_fps++; //Sélectionne mode Graphique if (_keytest2 (RR_F1)) GRAPHIC_MODE=0; else if (_keytest2 (RR_F2)) GRAPHIC_MODE=1; else if (_keytest2 (RR_F5)) {CST_DECORS=FALSE; MNU_ShowDecors (1);} else if (_keytest2 (RR_F6)) {CST_DECORS=TRUE; MNU_ShowDecors (1);} else if (_keytest2 (RR_F7)) {CST_SHADOW=FALSE; ENV_DrawMap ();} else if (_keytest2 (RR_F8)) {CST_SHADOW=TRUE; ENV_DrawMap ();} if (_keytest2 (RR_APPS)) off(); } //Désintall jeu UninstallGame (); //Message de sortie ST_helpMsg (GAME_TEXT); }