lorsque le programme s'exécute, il renvoie OUT OF DATA
à read nw
IF tz1 > 0 OR tz2 > 0 THEN CALL intersect(tx1, tx1, tx2, tz2, -0.0001, 0.0001, -20, 5, ix1, iz1) CALL intersect(tx1, tz1, tx2, tz2, 0.0001, 0.0001, 20, 5, ix2, iz2) IF tz1 <= 0 THEN IF iz1 > 0 THEN tx1 = ix1: tz1 = iz1 ELSE tx1 = tx2: tz1 = iz2 IF tz2 <= 0 THEN IF iz1 > 0 THEN tx2 = ix1: tz2 = iz1 ELSE tx2 = ix2: tz2 = iz2 END IF
et def fn
n'est pas encore implémenté
SCREEN 0, 1, 0, 0: WIDTH 80, 25 def fncross (x1, y1, x2, y2) = x1 * y2 - y1 * x2 SUB intersect (x1, y1, x2, y2, x3, y3, x4, y4, x, y) x = fncross(x1, y1, x2, y2) y = fncross(x3, y3, x4, y4) det = fncross(x1 - x2, y1 - y2, x3 - x4, y3 - y4) x = fncross(x, x1 - x2, y, x3 - x4) / det y = fncross(x, y1 - y2, y, y3 - y4) / det END SUB
et intersect est appelé ici
DIM vx1(15), vx2(20), vy1(20), vy2(20) DIM tx1(20), tz1(20), tx2(20), tz2(20), wc(20) AS INTEGER DIM w AS INTEGER DIM nw AS INTEGER READ nw FOR w = 1 TO nw: READ vx1(w), vy1(w), vx2(w), vy2(w), wc(w): NEXT vx1 = 70: vy1 = 20 vx2 = 70: vy2 = 70 px = 50 py = 50 angle = 0
3 Réponses :
Comment utiliser les fonctions READ / DATA dans QB64:
DIM nw AS INTEGER READ nw FOR w = 1 TO nw: READ vx1(w), vy1(w), vx2(w), vy2(w), wc(w): NEXT DATA 2 DATA 1,2,3,4,5 DATA 6,7,8,9,10
Vous devez associer READ aux valeurs DATA correspondantes.
la vidéo que j'ai regardée (que je ne trouve pas) ne montre pas l'ensemble de données, mais après avoir fait quelques recherches, il avait un ensemble de données mais a oublié de le montrer dans la vidéo,
Vous devez déboguer certaines structures avant de poser des questions.
De plus, selon votre question sur DEF FN dans QB, ce qui suit est valide:
Une fonction sur une seule ligne peut être déclarée dans QB11, QB45, BC7 et VBDOS:
PRINT FNcross(10, 20, 30, 40) FUNCTION FNcross (x1, y1, x2, y2) FNcross = x1 * y2 - y1 * x2 END FUNCTION
Si vous trouvez l'une de mes réponses utile, un vote positif serait apprécié pour me garder intéressé :)
J'ai essayé de changer ma def fn en fonction fn mais elle revient avec la compilation c ++ a échoué
Cela ne devrait pas arriver. La vérification de la syntaxe est-elle désactivée?
je ne sais pas comment donc je suppose que non
Pour autant que je sache, pour obtenir l'erreur de compilation C ++, utilisez ceci dans un fichier batch:
@echo off ECHO. ECHO Diagnosing Latest Compilation Error ECHO. ECHO Please wait... ECHO. cd .\internal\c .\bin\g -w -Wall -I.\i -I..\..\ -L.\l qbx.cpp libqbx.o -mwindows .\i686-w64-mingw32\lib\libimm32.a -lwinspool -lmingw32 -ln -lmix -limg -lttf -lmn -lSDL -s -o ..\..\ >..\..\0utput64.txt 2>&1 cd ..\.. ECHO. ECHO 0utput64.txt created! ECHO. PAUSE