bon je te dis , ça marche pas !
hide mouse
load bitmap " main.png",1
loadworld("main.png",1,1,1,1,0)
loadworld(numerodumonde$,ligne,colone,tailleX,tail
Dim CoucheHaute(100,100)
Dim CoucheBasse(100,100)
function
loadworld(numerodumonde$,ligne,colone,tailleX,tail
leY,numerodebaseaprendre)
Load bitmap numerodumonde$,1
for L = 1 to ligne
for C = 1 to colone
Get image
(((L-1)*colone)+C+numerodebaseaprendre),(C-1)*tail
leX,(L-1)*tailleY,C*tailleX,L*tailleY,1
next C
next L
set current bitmap 0
endfunction
do
open to read 1,"map001.dat"
read byte 1,tx ; read byte 1,ty
for j= 1 to ty
for i= 1 to tx
read word, coucheBasse(i,j)
read word, coucheHaute(i,j)
next i
next j
close file 1
loop
Hello!!
j´anonce: prochaine vague du tuto DarkBasic en français ce soir vers six, sept heure.
à toute à l´heure!!!
INSTRUCTIONS DE REMISE A ZERO
Vous pouvez remettre à zéro le pointeur de données en utilisant la commande RESTORE. Si par exemple vous avez lu et affiché une donnée à l’écran, et que vous voulez la lire à nouveau, vous videz l’écran et relisez la donnée. La commande READ remet automatiquement le pointeur au début de la liste une fois que celle-si a été parcourue.
Vous pouvez aussi créer d’avantage qu’une liste. Si vous devez avoir plus d’une liste de nombre, vous pouvez aussi avoir besoin d’une liste des nombre de loterie sur votre liste de ticket de loterie, ce qui nécessite deux listes. Ce que vous créez comme cela:
lotterydata:
DATA 12,23,34,45,56,67
DATA 23,34,45,56,67,11
DATA 34,45,56,67,33,22
ticketdata:
DATA 01,02,03,04,05,06
DATA 21,32,43,24,13,22
Pour afficher la première partie des données, Vous mettez le premier pointeur sur votre première liste. Vous pouvez le faire grâce à la commande RESTORE et en spécifiant l’étiquette précédant les donnée. Une étiquette est déclarée en ajoutant le caractère ( comme dernier caractère. Vous pouvez pointer les données comme ici:
RESTORE lotterydata
READ a,b,c,d,e,f
PRINT " LOTTERY " ,a,b,c,d,e,f
Ensuite, quand vous voulez afficher des donnée de la seconde liste, vous utilisez simplement le pointeur de donnée suivant:
RESTORE ticketdata
READ a,b,c,d,e,f
PRINT " TICKET " ,a,b,c,d,e,f
Il y a beaucoup de possibilités pour lire des données, mais ces exemples démontrent comment avoir accès au données de manière simple.
INSTRUCTIONS SAUT
Normallement, un programme exécute les instructions dans l’ordre. Une instruction saut peut sauter une partie du programme et continuer l’exécution. La commande GOSUB continue le programme depuis la nouvelle localisation. Quand le programme rencontre une commande RETURN, le programme revient à la comande GOSUB. Regardez l’exemple suivant:
PRINT " Hello"
GOSUB MySubroutine
END
MySubroutine:
PRINT " World"
RETURN
Le programme affiche le texte “Hello” à l’écran, puis continue à partir de la ligne MySubroutine du programme et continue son execution. La commande suivante affiche Word à l’écran. La commande RETURN demande de retourner au point GOSUB. La commande suivante, c’est END, qui termine le programme.
Il y a aussi une commande de sauts GOTO, cependant je ne vous conseille pas de l’utiliser trop souvent, il vaut mieux gérer sois même le flux de son programme. Voici toutefois un exemple de commande GOTO simple:
MyLabel:
PRINT " Hello World " ;
GOTO MyLabel
Altérnativement, utilisez plutôt:
DO
PRINT " Hello World " ;
LOOP
Le dernier exemple est beaucoup mieux, plus propre plus convivial et montre que la commande GOTO peut être remplacée.
Instruction FOR NEXT ( pour…suivant)
Vous pouvez utiliser l’instruction FOR NEXT dans le dernier exemple. La commande FOR NEXT est utilisée pour créer une boucle finie dans laquelle chaque variable est incrémentée ou décrémentée de valeur en valeur. Un exemple simple:
FOR T=1 TO 5
PRINT T;" " ;
NEXT T
PRINT " Done"
La sortie écran donne:
1 2 3 4 5
Le programme donne à T une valeur de 1 et passe à la ligne suivante. La commande PRINT affiche la valeur de T, puis la commande NEXT renvoie le programme le programme à FOR qui fait passer la valeur de T à 2. Puis la nouvelle valeur de T est affichée et ainsi de suite jusqu’à ce que T ait une valeur de 5 : la boucle est finie, et le programme peut continuer. La dernère commande suivant le NEXT est d’afficher " Done" à l’écran.
Vous pouvez aussi créer une boucle à l’intérieur d’une boucle:
FOR A=1 TO 5
PRINT " MAIN A=";A
FOR B=1 TO 10
PRINT " LITTLE B=";B
NEXT B
NEXT A
La première boucle incrémente la variable A de 1 à 5, mais pour chaque passage, la seconde boucle incrémente la variable B de 1 à 10.
Comme utilisation des boucles, on note le fait de les utiliser pour numéroter les numéros de position des tableaux. Pour exemple, nous avons repris la loterie:
FOR week=1 TO 52 STEP 4
PRINT " LOTTERY NUMBER FOR WEEK " ;week; " ARE " ;
FOR index=1 to 6
PRINT lottery(week,index);" " ;
NEXT index
NEXT week
La commande STEP s’ajoute à la commande FOR NEXT. La commande STEP est utilisée pour changer l’incrément ( 1par défaut ) . Ici, le programme n’affiche que les numéros de loterie à quatre semaines d’intervales.
Instruction IF THEN ( si…et bien)
L’instruction IF permet à votre votre programme de faire des choix. L’instruction IF requiert une expression pour décider si un résultat est vrai ou faux. Si l’expression est vrai, les commande suivant le THEN sont exécutées. Si l’expression est fausse, le programme saute toustes les commandes suivant le THEN. Regardez l’exemple suivant:
INPUT " Entrez votre âge>",age
IF age>=16 THEN PRINT " Vous pouvez acheter un ticket de loterie!"
Si votre âge est plus grand ou égal à 16, le programme affiche le message. Ce programme montre une instruction IF simple. Pour comprendre, nous devons voir la commande IF un peu plus en détail. D’abors, nous devons prendre l’expression et l’évaluer:
age>=16
Vous connaissez cet opérateur et vous savez qu’il prend une valeur de 1 ou de 0 selon s’il considère l’expression vrai ( 1) ou fausse ( 0). La commande IF considère une valeur 0 fausse, et les autres valeurs vrai. Nous pouvons donc dire si 16 set vraiment égal ou supérieur à 16, et si la commande IF va la considérer comme vrai.
Les expressions peuvent être combinée avec d’autres valeurs, variables, tableaux et opérateurs tant qu’elles ont un sens. Voici quelques exemples corectes:
IF A THEN PRINT " ok"
IF A = B THEN PRINT " ok"
IF A > ( B - 5) THEN PRINT " ok"
IF A = ( B + ( A * 2)) THEN PRINT " ok"
IF A=1 AND B=2 THEN PRINT " ok"
IF NAME$="FRED" AND SURNAME$="BLOGGS" THEN PRINT " ok"
IF A#=1.5 OR LOTTERY(10,2)=20 THEN PRINT " ok"
Quelques exemples incorectes:
IF A = B = THEN PRINT " not ok"
IF > A = B THEN PRINT " not ok"
IF A B THEN PRINT " not ok"
IF AND A THEN PRINT " not ok"
IF B OR THEN PRINT " not ok"
Dans le cas où la première ligne ne suit pas le THEN, vous pouvez utiliser l’instruction IF ENDIF. Utiliser la même logique que ci-dessus, mais au lieu de la commande THEN, mettez simplement les instructions à effectuer au lignes suivant la commande IF. Vous devez ensuite marquer la fin des commandes à exécuter à l’aide de l’instruction ENDIF, exemple:
IF A = B
PRINT " Hello A and B!"
ENDIF
Peut s’écrire:
IF A = B THEN PRINT " Hello A and B!"
Mais le principal avantage est que la première partie peut être adaptée comme ça:
IF A = B
PRINT " Hello A!"
PRINT " Hello B!"
PRINT " Hello A and B!"
PRINT " Hello B and A!"
PRINT " Hello Everything!"
ENDIF
Si vous voulez exécuter des opérations différentes suivant si le résultat est juste ou faux, utilisez la commande ELSE commes dans l’exemple suivant:
IF A = B
PRINT " Les valeurs sont égales!"
ELSE
PRINT " Les valeurs sont différentes"
ENDIF
Il est important de n´ utiliser la commande ENDIF que quand votre code ne contient pas THEN.
Instruction PRINT ( afficher)
La commande PRINT est capable d´afficher bien plus qu´une valeur. Les données peuvent être de n´importe quel type. Bien que l´utilisation de PRINT était fréquente dans les exemples, vous devez savoir une chose. Quand la commande PRINT est utilisée pour afficher des données, les données sont inscrites sur une ligne et continue à la suivante quand elle arrive au bout. Une chaîne d´instructions PRINT écrit les résultat ligne par ligne. Vous pouvez changer cela en ajoutant le symbole ( ;) à la fin du texte à afficher, par exemple:
PRINT " Hello " ;
PRINT " World"
Vous pouvez aussi utiliser ce symbole dans une seul instruction PRINT:
PRINT " My name is " ;name$, " and I am " ;age;" years old."
En ajoutant une instruction SET CURSOR, vous pouvez aussi définir où le texte aparaîtra. Cet exemple affiche le texte quelque par à l´écran.
DO
SET CURSOR RND(640),RND(480)
PRINT " TEXT"
LOOP
Il y a d´autre commande texte dans DARK BASIC comme la couleur, la taille, le style...
Vous les découvrirez dans le système d´aide.
Instruction INPUT ( entrée)
L´instruction INPUT est utilisée pour entrer des données. Les données sont stockeés dans la variable suivant INPUT:
INPUT a$
La variable a$ peut stocker une chaîne entrée par l´utilisateur. On peut par exemple l´utiliser pour demander un mot de passe:
INPUT " What is your password? " ,password$
Cet exemple affiche un message et attend une réponse. Vous entrez les données grâce au clavier, et elles sont stockée dans la variable. Idem pour les autres types de variables.
Instructions END et BREAK ( fin et pause )
La commande END termine l´exécution d´un programme. Si vous démarez un programme par l´éditeur, vous pouvez le stoper depuis la Commande Line Interface ( CLI). En utilisant la commande END, le programme est arrêté. Si votre programme est un programme exécutable, l´utilisateur retourne sous Windows. Si la commande BREAK est utilisée dans un programme, l´exécution est suspendue, non arrêtée. Vous pouvez continuer l´exécution du programme après que la commande BREAK se soit déclarée.
Fonctions
Fonctions communes
Les fonction sont des commandes de changement de valeurs. DARK BASIC utilise les fonctions arithmétiques, chaînes, de commande spécifiques et de définition-utilisation. On peut les reconnaître et les utiliser facilement.
La fonction arithmétique la plus simple est ABS, qui convertit les valeurs négatives en positives:
PRINT ABS(-100) affiche 100
Ele peut aussi être utilisée dans un calcul:
A = B + ABS(-100)
Ou avec une variable:
A = ABS( B )
Ou dans une expression de condition:
IF ABS( A ) > 180 THEN PRINT " ok"
Vous avez l´habitude de mettre des variables à la place des nombres; vous pouvez utiliser les fonctions la même chose. As shown, functions can take data but they don´t have to. Some functions merely return a value, such as:
DO
PRINT TIMER()
LOOP
You will notice that even though no parameter data is required, il faut ajouter des parenthéses. Dans Dark Basic, les parenthèses indique que le nom ( ici:TIMER) est une fonction. Comme pour les variables, un symbole dollar entre parenthèses ( $) est nécessaire si la fonction est de type chaîne. Vous n´avez pas besoin d´ajouter un symbole ( #) si la fonction est un nombre réel.
UTILISER DES FONCTIONS DEFINIES
Il faudra bientôt que vous créiez vos propres fonctions. L´expérience des programmeurs ne vient pas à force de taper des lignes de codes. Vous devez apprendre à utiliser les fonctions aussitôt que possible.
Les fonctions sont utilisées généralement tâche isolée qui est frequemment utilisée par votre programme. Les variables et les tableaux à l´intérieur des fonctions sont isolées du programme. Si vous utilisz une variable du nom de FRED dans une fonction, cela n´affectera pas une autre variable appelée FRED dans votre programme, ni une fonction utilisant un nom de variable similaire. Ce chemin semble être une restriction, mais forcez vous de penser que séparer des tâches du reste du programme est très important.
Vous pouvez mettre jusqu´à 255 caractères dans une fonction, et une option retourner à une valeur quand la fonction arrive à la fin. Les fonctions sans retour peuvent aussi être utilisée comme commandes normales dans votre programme.
Déclarer une fonction est simple. Pour utiliser une fonction, il faut simplement la fournir avec un nom et une liste de paramèrtes entre paranthèses, et votre déclaration et presque complète. Entrez les commande dans les lignes suivantes, puis terminer la déclaration de fonction par la commande ENDFUNCTION. L´exemple suivant déclare une fonction qui divise " value"par deux:
FUNCTION halfvalue(value)
value=value/2
ENDFUNCTION value
Cet déclaration crée une fonction qui peut servir comme commande d´affichage:
REM Start of program
BetterPrint(10, 10, " Hello world")
END
FUNCTION BetterPrint(x, y, t$)
SET CURSOR x,y
PRINT t$
ENDFUNCTION
Mots réservé
Remarques et espaces
MOTS RESERVES
Les mots réservés sont les commandes du langage. Vous ne pouvez pas appeler une variable, un tableuau, ou une fonction avec un nom de commande.
REMARQUES
Vous pouvez écrire des insructions qui seront ignorée par le programme. Les remarques servent à commenter le programme, le rendre plus compréhnsible. Elles servent par exemple à décrire les actions qui seront efféctuées.
Vous connaissez un peu Dark Basic, mais avant, les codes ne signifiait strictement rien pour vous. Une personne ne programmant pas doit pouvoir comprendre, en gros, quelle commande sert à quoi dans votre programme. Par exemple, si vous travaillez par team, le graphiste, le scénariste. Vous travaillez tout seul ? Vous ferez peut-être une pause de quelques mois, après quoi vous serez bien content de retrouver vos " note". De plus, cela peut vous servir, après avoir éssayé votre jeu, de rajouter des persos, des nouveaux niveaux etc plus facilement. OK?
Le truc est d´écrire somairement ce que fait chaque bloc de code. Pas de détaille, données etc. Evitez une demi-page de description, c´est inutile. Les remarques, utilisée de manière correcte, clarifie votre programme.
Vous pouvez utiliser la commande REM comme suit:
REM Print a greeting for the user
PRINT " Hello World"
Voici une autre manière de noter les remarques:
` Print a greeting for the user
PRINT " Hello World"
Si vous avez plusieurs ligne de remarque, vous pouvez utiliser la commande suivante:
REMSTART
PRINT " Hello World"
PRINT " Hello World"
PRINT " Hello World"
REMEND
Tous ce qui se trouve entre REMSTART et REMEND est ignoré pendant l´exécution.
UTILISATION DES ESPACES
Comme dans les autres langaes BASIC, les espaces sont primordiaux. Il est important de séparer les commande des paramètres; sinon, le programme rique d´afficher une erreur:
FOR T=1 TO 10
Ne peut pas être écrit comme cela:
FORT=1TO10
Apprenez à utiliser les espaces justes. Cela vous évitera des problèmes.
Erreurs et avertissements
Il existe plusieurs sortes d´erreurs, classé dans quatre catégories. Les voici:
´SYNTAX ERROR ´ ( erreurs de syntax) vous n´avez pas employé une instruction correctement. Vérifiez les espaces, et d´avoir écrit les instructions correctement.
´PARAMETER MISMATCH´ signifie que vous avez compilé votre programme mais certain paramètres ne joue pas. Vous devez fournir le bon type de caractères pour la commande, et dans le bon ordre.
´RUNTIME WARNING´ ( avertissement d´exécution) signifie que le programme a été compilé et exécuté, mais une commande défaillante est due à des raisons fournie avec l´avertissement. Un avertissement d´exécution ne sera pas donné avec la version exécutable de votre programme!
´RUNTIME ERROR´ ( erreur d´exécution) signifie que le programme a été compilé et exécuté, mais une commande défaillante est due à des raisons données avec l´erreur. Une erreur terminera un exécutable et fournira les raisons de l´erreur !
15 minutes de leçons/pause
Vous voulez créer un petit truc maintenant et continuer la théorie plus tard. Cet petite pause
Est à ne pas négliger, bien que un peu plus ludique. Bonne leçon.
Voici 5 exercices pour progresser :
1) Exécuter votre première commande
2) Créz votre premier programme
3) Caverun
4) créez un exécutable
5) trouvez et exécutez votre exécutable
Vous connaissez le contenu du stage. Vous pouvez quitter le sistème d´aide de temps en temps, et utiliser la touche F11 pour y retourner. Si vous avez un petit problème, cliquez sur le bouton BACK en haut de l´écran.
LECON 1
EXECUTEZ VOTRE PREMIERE COMANDE
On trouve quelques boutons à l´écran éditeur. Deux gros boutons jaunes dans le coin droite de l´écran et quelques petits boutons de text dans le coin gauche.
Pour exécuter une commande, vous pouvez utiliser la Command Line Interface, ou CLI. Vous pouvez utiliser la CLI pour écrire votre premier programme.
Une fois dans le CLI , tapez l´exemple suivant:
PRINT " Hello World"
Quand vous avez fini, appuyez la touche RETURN. La touche RETURN est utilisée pour exécuter la ligne de commande. La commande précédente affiche " Hello Word". Vous pouvez accèder au CLI en appuyant sur le bouton CLI en haut de l´écran. Vous pouvez retourner à la page d´aide en appuyant sur le bouton EXIT de la bar CLI.
LECON 2
CREEZ VOTRE PREMIER PROGRAMME
Pour érire un programme, vous devez écrire une suite de commandes dans l´éditeur. Pour passer de l´éditeur à la page d´aide ou vice verça, vous pouvez appuyer sur la touche F11
Allez à l´éditeur est saisissez le programme suivant:
DO
PRINT " Hello Again"
LOOP
Vous allez pouvoir exécuter votre programme, mais avant, vous devez être capable de le quitter et de retourner à l´éditeur. Pendant l´exécution de votre programme, vous pouvez taper la touche F12 pour retourner à l´éditeur.
Depuis l´éditeur, appuyez la touche F5 pour compiler et lancer votre programme. Après quelques secondes, pressez F12 pour retourner à l´éditeur.
LECON 3
CREEZ UN SECOND PROGRAMME PLUS EVOLUE
En quelques minutes, vous avez tapez votre premier programme. Mais il est temps de créer quelque chose de plus impressionant!
Plutôt que de passer 30 minutes à écrire un programme très long, vous allez utiliser CAVERUN.DBA quiest disponible depuis le système d´aide.
rem ----------------
rem Cave Runner Demo
rem ----------------
rem Author: DBS-LB99
hide mouse
rem Load bitmaps
load bitmap " tiles.bmp",1
get image 1,0,0,256,256
delete bitmap 1
rem Load sound
load sound " hum.wav",1
load sound " explode.wav",2
set sound speed 1,6000
loop sound 1
rem Load music track
load music " caverun.mid",1
loop music 1
rem Activate manual sync
sync on
rem Make landscape and ceiling matrix
make matrix 1,2000,5000,10,25
prepare matrix texture 1,1,2,2
make matrix 2,2000,5000,10,25
prepare matrix texture 2,1,2,2
fill matrix 2,0,2
randomize matrix 2,350.0
for t=0 to 25
set matrix height 2,0,t,-100
set matrix height 2,10,t,-100
next t
update matrix 2
rem Bagin game loop
do
rem Set seed for same random numbers
randomize 1
rem Clear cave floor
fill matrix 1,0,1
rem Set lighting, fog and setupset ambient light 20
fog distance 3000
color backdrop 0
fog color 0
fog on
rem Reset speed
x=0
z=0
speed#=0.0
rem Begin main loop
repeat
rem Record old variables
oldx=x
oldgy#=gy#
rem Control key movements
if upkey()=1 then speed#=speed#+1.0 else speed#=speed#-1.0
if leftkey()=1 then rz#=rz#+1.0
if rightkey()=1 then rz#=rz#-1.0
rem Control variables
if speed#>40.0 then speed#=40.0
rz#=rz#/1.1
x=x-(2*rz#)
rem Scroll landscape
z=z+speed#
if z>200
z=z-200
if rnd(3)=0
mp=mp-1
mp=mp+rnd(3)
if mp>4 then mp=4
endif
for t=0 to 0 : set matrix height 1,t,24,450 : set matrix tile 1,t,24,2 : next t
for t=1 to mp : set matrix height 1,t,24,rnd(200) : set matrix tile 1,t,24,2 :
next t
for t=mp+1 to mp+1 : set matrix height 1,t,24,rnd(200) : set matrix tile
1,t,24,3 : next t
for t=mp+2 to mp+3 : set matrix height 1,t,24,rnd(20) : set matrix tile 1,t,24,1
: next t
for t=mp+4 to mp+4 : set matrix height 1,t,24,rnd(200) : set matrix tile
1,t,24,4 : next t
for t=mp+5 to 9 : set matrix height 1,t,24,rnd(200) : set matrix tile 1,t,24,2 :
next t
for t=10 to 10 : set matrix height 1,t,24,450 : next t
update matrix 1
shift matrix up 1
shift matrix up 2
endif
rem Position matrix
position matrix 1,0,0,2500-z
position matrix 2,0,100,2500-z
rem Position camera
gy#=curvevalue(50+get ground height(1,500+x,z),gy#,3)
position camera 500+x,gy#,2500
zrotate camera wrapvalue(rz#)
rem Control sound frequency
set sound speed 1,6000+(speed#*100)
rem Update screen
sync
rem End main loop when collision with ceiling
until get ground height(2,500+x,z)=gy#-75.0
rem Return camera to point before collision
position camera 500+oldx,oldgy#,2500
rem Game Over
play sound 2
for c=0 to 255 step 20
cls rgb(c,0,0)
fog distance ( c*5)
fog color ( c*256*256)
sync
next c
rem End game loop
loop
LECON 4
CREEZ UN EXECUTABLE AUTONOME
Les programmes que vous avez créé jusqu´ici ne sont utilisable que depuis l´éditeur. Si vous voulez donnez vos créations, vous devez créer un exécutable. Les exécutables ne sont pas seulement indépendant, ils protègent aussi votre code source et vos fichiers média.
Les données média sont très importantes spécialement pour les jeux. Les fichiers média sont vos bitmaps, sons, musiques, animations, objets3d et fichiers de données utilisé pour reproduire les visuels et les sons de votre programme.
Il y a deux types d´exécutable. Le premier type ne sauve pas les fichiers média, l´autre oui. Comme notre second programme utilise des fichiers média, nous utiliserons celui-ci.
Votre deuxième programme devrait encore être dans l´éditeur. Pressez F7 et selectionez le Build Final dialogue, et entrez un nom pour votre exécutable. Clickez sur BUILD pour créer votre exécutable et retournez à la page d´aide.
LECON 5
FIND AND RUN YOUR STANDALONE EXECUTABLE
Si vous voulez distribuer vos soft, il est important de savoir retrouver et exécuter son exécutable.
Retrouver un exécutable n´est pas difficile si vous vous rappelez de son nom. Tous les exécutables sont reconnaissable grâce à leur extention: . EXE. Dark Basic ajoute automatiquement l´extension si vous l´oubliez.
Si vous vous rappelez où vous avez installé Dark Basic, vous trouverez votre exécutable dans le fichier DARK BASIC SOFTWARE\DARK BASIC\HELP\FAST\CAVERUN directory. Altérnativement, vous pouvez le chercher: START -> FIND -> FILES OR FOLDERS.. et entrer le nom de votre exécutable. Une fois localisé, double cliquez sur le fichier ou cliquez avec le bouton droite de la souris et choisissez ouvrir. Vous pouvez quitter le programme en appuyant sur la touche ESCAPE.
Pour quitter DarkBasic, cliquez simplement sur le bouton EXIT dans le coin droite de l´écran.
Voila!
j´espère que vous avez du temps à perdre!
allé, je salue toute l´équipe du forum, et je commence la suite ( eh non! pas ce soir!z´ètes fou!)
Timorite j´en profite pour te dire: dans le chapitre fonction, il y a un petit passage non traduit. J´ai pas bien pigé. Si c´est super important, tu peux en faire par aux autres.
sinon, ça roule, ton jeu ?
EH ! prog ! ; ) tu pourrais me corriger ce code de façon a ce que mon monde aparait stp ?
merci bcp ! ; )
do
hide mouse
load bitmap " main.png",1
loadworld("main.png",1,1,1,1,0)
Dim CoucheHaute(100,100)
Dim CoucheBasse(100,100)
open to read 1,"map001.dat"
read byte 1,tx ; read byte 1,ty
for j= 1 to ty
for i= 1 to tx
read word, coucheBasse(i,j)
read word, coucheHaute(i,j)
next i
next j
close file 1
loop
function
loadworld(numerodumonde$,ligne,colone,tailleX,tail
leY,numerodebaseaprendre)
Load bitmap numerodumonde$,1
for L = 1 to ligne
for C = 1 to colone
Get image
(((L-1)*colone)+C+numerodebaseaprendre),(C-1)*tail
leX,(L-1)*tailleY,C*tailleX,L*tailleY,1
next C
next L
set current bitmap 0
endfunction
Timorite??
STP le tuto!!
Oki, je vais t´envoyer ça. Mais ne le paume plus s.t.p.
Salut prog_debutant, merci pour les traductions des tutos. Ce que tu n´as pas su traduire, c´est juste " You will notice that even though no parameter data is required . .."? La traductuion c´est " Vous remarquerez que même si aucun paramètre n´est requis . .." En fait ça veut dire qu´il n´y a pas besoin de mettre de paramètres entre les parenthèses, mais il faut quand même mettre les parenthèse pour qu´on sache que c´est une fonction. Et quant à mon mon jeu ça avance lentement mais surement Là je m´occupe du remplissage de jauges. Et toi tu vas devenir un boss du DarkBasic avec tout ça, tu vas pouvoir nous pondre un super jeu?
jonathan4667, à mon avis tu as pris des lignes de tutos et tu as fait copier-coller, je me trompe? Il vaut vraiment mieux faire commande par commande en étant sur que tout marche et qu´on comprends tout ce qu´on écrit. Si tu veux juste que ton monde s´affiche, il devrait suffire de mettre ça:
load object(...avec ici le chemin d´accès de ton monde et les paramètres)
SET AMBIENT LIGHT 100
do
loop
Mais déjà, dans ton code le nom de fichier de ton monde a une extension d´image et pas d´objet 3D, ça doit être une erreur.
C´est bizar j´ai toujours pas reçu!
Tu as bien envoyer à magenoir00@hotmail.com ?
Car mignon59@hotmail.com ne va pu! ; )
Salut tout le monde !
Tiens du DB Pro sur jv.com ? cool ; )
J´en fais depuis la première version. Alors je me permets quelques petits commentaires après avoir jeté un oeil très rapide sur les codes que j´ai vu sur cette page :
- Il faut déclarer les tableaux AVANT de charger quoi que ce soit !
- La boucle DO-LOOP ( appelée Boucle Principale) ne doit comporter aucun load image ou autre chose, car comme do loop se repete indéfiniment, ca va charger la meme chose à chaque fois, donc erreur, puisque ca aura déjà été chargé une fois !
edit : Mais prog_ tu es sous DarkBasic v1 ? ? Le code et le mini tuto que tu as copié collé en proviennent, je me souviens de Cave Runner... Je te conseille de te procurer DB Pro, DB etant un peu trop lent...
Et aussi : je me suis explosé les yeux à essayer de lire correctement ces sources. Ce forum n´est pas adapté à ca, je vous conseille donc d´utiliser le forum du site de la communauté officielle ( dont je fais partie) : www.games-creator.com/forum3
Sur ce bonne prog !
StraToN
Change la taille de la typo de ton browser, ça t´éclatera un peu moins les yeux. Pour le code de jonathan4667, je lui ai déjà dit tout ça mais il faudrait d´abord qu´il lise le tuto pour bien capter chaque commande, parce qu´avec des gros copier-coller ça m´étonnerait que ça marche. En tout cas heureux de croiser un autre fan de DarkBasic Pro, n´hésite pas à poster tes créations
Salut tout le monde
Comment faire pour charger un . bsp dans dark basic pro svp ?
C´est quoi comme type de fichier ça . bsp? C´est un format 3D?
Ah oki, c´est les fichiers 3D pour les mods de Quake 3? Tu devras sans doute les convertir en . 3DS Je me demande si Milkshape 3D sait importer ce format, tu peux toujours essayer. Je ne peux pas t´aider plus désolé.
jimmymignon désolé je t´avais complêtement oublié. Voilà maintenant c´est posté. Sorry
tiens, un StraTon sur jv.com , tu ne me connais surement pas, mais moi si ( je suis aussi sur le forum de darkbasic )
héhé oui il me semble t´avoir aperçu... Très récemment pout tout dire ^^