begin process at 2012 05 29 07:28:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

gros pb Turbo C++ (débutant)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

gros pb Turbo C++ (débutant)

lundi 6 décembre 2004 à 21:15:07 | gros pb Turbo C++ (débutant)

Laurent0228

je rencontre un pb avec un programme que j'ai fait sous Turbo c++ 3.0

je joint le code source+les fichiers executable.


en fait le PB j'ai fait un scrolling horizontale à la mario mais à l'afichage des sprites il y a comme un pb sur le pland de fond

je me decide à me remêtre à programmer(alors je me suis inscri sur ce forum pour avoir un coup de pousse Merci d'avance).

lundi 6 décembre 2004 à 21:21:49 | Re : gros pb Turbo C++ (débutant)

Laurent0228

Pardon un oublie de ma part voici en gros à quoi ressemble mon programme Merci toute les sugestions sont les bienvenues.



#include <dos.h>
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <ctype.h>

#define Largeur_X 32
#define Hauteur_Y 32
#define Carte_X 64
#define Carte_Y 64


unsigned char* realscreen=(unsigned char*)(0xA0000000L);
unsigned char* fakescreen=new unsigned char[64000L];
unsigned char Carte[Carte_X][Carte_Y];

struct Sprite
{
char* Graph;
int X;
int Y;
};


Sprite Scroll[65];
Sprite Monde;
Sprite Tiles;
char* Bitmap;


void ModeVGA()
{
_AX=0x13;
geninterrupt(0x10);
}

void GenPAL(unsigned char Index,unsigned char R,unsigned char G,unsigned char B)
{
outportb(0x3C8,Index);
outportb(0x3C9,R);
outportb(0x3C9,G);
outportb(0x3C9,B);
}

void Pict(unsigned char* Fichier,unsigned char* Ecran)
{
unsigned char Pal[768L];
unsigned Point;
unsigned Boucle=0;
int N;
FILE* Coord;
Coord=fopen(Fichier,"rb");
fseek(Coord,-768L,SEEK_END);
fread(Pal,768L,1L,Coord);
for (int X=0;X<256;X++)
GenPAL(X,Pal[X*3]>>2,Pal[X*3+1]>>2,Pal[X*3+2]>>2);
fseek(Coord,128L,SEEK_SET);
do
{
Point=fgetc(Coord);
if(( Point & 0xC0)==0xC0)
{
N=Point & 0X3F;
Point=fgetc(Coord);
for (int X=0;X<N;X++)
Ecran[Boucle++]=Point;
}else
Ecran[Boucle++]=Point;
}while(Boucle<64000L);
}

void Maps()
{
FILE *F;
F=fopen("Plan.map", "rb");
for(int X=0;X<Carte_X;X++)
for(int Y=0;Y<Carte_Y;Y++)
Carte[Y][X]=fgetc(F);
}


void Lir(int VX,int VY,int Largeur,int Hauteur,Sprite* Scroll)
{
Scroll->Graph=new char[Largeur*Hauteur];
for (int X=0;X<Largeur;X++)
for (int Y=0;Y<Hauteur;Y++)
Scroll->Graph[Y*Largeur+X]=Bitmap[(VY+Y)*Largeur+VX+X];
}

void Put(int VX,int VY,Sprite* Scroll)
{
unsigned char Neutre;
for (int X=0;X<Largeur_X;X++)
for (int Y=0;Y<Hauteur_Y;Y++)
{
Neutre=Scroll->Graph[Y*Largeur_X+X];

if (Neutre)
fakescreen[(VY+Y)*320+VX+X]=Neutre;
}
}


void main()
{
ModeVGA();
int Exit=0;
int Touche;

Bitmap=new char[64000L];

Maps();
Pict("Brique.pcx",Bitmap);
for (int X=0;X<10;X++)
for (int Y=0;Y<6;Y++)
Lir((Largeur_X*X),(Hauteur_Y*Y),Largeur_X,Hauteur_Y,&Scroll[Y*10+X]);


Pict("Fond.pcx",Bitmap);
do
{
if (kbhit())
{
Touche=toupper(getch());
if (Touche==77)
{
Monde.X++;
}
if (Touche==75)
{
Monde.X--;
}
if (Touche==27)
{
Exit=6;
}
}
memcpy(fakescreen,Bitmap,64000L);
unsigned char TileX = Monde.X/Largeur_X;
unsigned char TileY = Monde.Y/Hauteur_Y;
short Xoff = Monde.X-TileX*Largeur_X;
short Yoff = Monde.Y-TileY*Hauteur_Y;
for (int X=0;X<10;X++)
for (int Y=0;Y<6 ;Y++)
Put((Largeur_X*X-Xoff),(Hauteur_Y*Y-Yoff),&Scroll[Carte[TileX+X][TileY+Y]]);
memcpy(realscreen,fakescreen,64000L);
}while(Exit<5);
}




Cette discussion est classée dans : pb, débutant, gros, turbo


Répondre à ce message

Sujets en rapport avec ce message

URGENT : pb de débutant [ par satanik_mike ] Bonjour tout le monde,J'ai un petit problème.Sous VB, j'utilise un objet spécial en tapant :Dim appwayset appway = CreateObject("WayPro.Application")C PB:[TURBO C++]charger une image (bmp ou jpg) et l'afficher [ par kobee12 ] depuis quelque temps j'essaie de trouver un programme qui me permettrait d'afficher une ou plusieurs images en utilisant GRAPHICS.H avec TURBO C++.Seu pb de débutant [ par c2millet ] Je programme sous VC++ et jai un pb tout simple:dans mon code au lieu d'avoir cette ligne:m_strCmdText = _T("blablablablabla");je voudrais:m_strCmdTex Wxwidgets - Dev C++ (gros débutant) [ par marcdid ] Bonjour à tous,Comme l'indique le titre de mon post, je suis débutant en programmation C++. Je veux me lancer dans la création d'une interface pour un gros pb avec visual C++ 6 [ par didrocks ] là, mes anciens projets se compilent très bien, mais dès que j'en crée un nouveau, il ne compile même plus et essaie d'exécuter l'exe tout de suite al Gros Pb Visual C++ 6.0 [ par nathalieJ ] Lors de l'installation de MS Visual Studio 6.0, j'ai un fichier qui est apparamment "corrupted", malgré les réinstallations multiples, l'installation pb débutant utilisation combo box [ par chouchou123 ] salut,j'ai un e interface avec une combo box et une text box, je voudrai remplir cette combo box avec les nom de personne contenu dans une base de do PB Scanf() [ par mleclaire ] Bonjour je suis débutant en programmation,je suis en train de programmer en c++ builder,est ce que c'est possible d'utiliser scanf()?si oui,je voudrai Débutant(e) total => pb de compilation [ par AliCedg ] Bonjour à tout et à tous, je viens de commencer le C++ avec le ptit livre C++ pour les nuls.J'utilise le logiciel Dev-C++ pour écrire, compilet et exé Turbo C++ [ par jrod ] bonjour,je viens de télécharger turbo C++. J'ai un Pb au lancement de tc.exe. Le message d'errue est le suivant:Application popup : Sous-système MS-DO


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales