05-20-2025, 01:19 PM
Hello Everyone,
I've been having multiple problems with many of my games I've been trying to make The most recent is a C++ Compilation Failed in this game.
When running this game you can choose any of the four Levels, the choose the second option to Choose Cards Yourself. But of coarse, the game won't run.
I need help finding out what is causing this error. It would be nice if the IDE would give a better description of the error so it would be easier for someone to pinpoint and correct the cause.
I am running QB64_2.0.1_win-x64 on a Windows 11 laptop. I can address other coding problems in future treads. However, I will mention here, I-m having trouble running newer versions of QB64. I had no problem extracting files with the older file types. I would right click on the download QB64 file and had the option of Extracting Files Here and it would create a new folder and put QB64 in that folder.
Thank you very much. I don't like asking for help.
Donald
I've been having multiple problems with many of my games I've been trying to make The most recent is a C++ Compilation Failed in this game.
Code: (Select All)
_TITLE "Twizzle Logic Puzzle"
SCREEN _NEWIMAGE(1324, 737, 256): RANDOMIZE TIMER
RANDOMIZE TIMER
_PALETTECOLOR 1, _RGB32(1) ' Black
_PALETTECOLOR 2, _RGB32(50) ' Black
_PALETTECOLOR 3, _RGB32(100) ' Black
_PALETTECOLOR 4, _RGB32(0, 185, 0) ' Green
_PALETTECOLOR 5, _RGB32(0, 159, 255) ' Blue
_PALETTECOLOR 6, _RGB32(169, 0, 165) ' Purple
_PALETTECOLOR 7, _RGB32(225, 0, 0) ' Red
DIM AS _BYTE U, Y, Z, Selected, Selection, Position
DIM AS INTEGER V, W, X
DIM AS INTEGER LevelY(4), KnobX(9), KnobY(9), CardX(10), CardY(10), Rotate1X, Rotate1Y, Rotate2X, Rotate2Y
DIM SHARED AS _BYTE StartCard, EndCard, Level, LevelColor(4), Tile(24), CardPattern(40, 24)
DIM SHARED AS INTEGER TileX(24), TileY(24)
LevelColor(1) = 4: LevelColor(2) = 5: LevelColor(3) = 6: LevelColor(4) = 7
'Setup Card Patterns
DATA 0,0,0,0,1,1,0,0,0,0,3,2,2,3,0,0,0,0,4,4,0,0,0,0: ' Card 01
DATA 0,0,0,4,3,1,2,0,0,0,0,0,0,0,0,0,0,2,1,3,4,0,0,0: ' Card 02
DATA 4,0,3,1,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,3,1,0,4: ' Card 03
DATA 2,0,3,2,0,0,3,0,0,0,0,0,0,0,0,0,0,4,0,0,1,4,0,1: ' Card 04
DATA 0,0,0,0,1,1,0,2,0,3,0,0,0,0,2,0,3,0,4,4,0,0,0,0: ' Card 05
DATA 0,0,0,0,1,3,0,2,0,4,0,0,0,0,3,0,1,0,4,2,0,0,0,0: ' Card 06
DATA 0,0,0,0,0,0,0,2,4,3,1,0,0,1,2,4,3,0,0,0,0,0,0,0: ' Card 07
DATA 0,4,0,0,0,0,0,0,4,0,1,1,2,2,0,3,0,0,0,0,0,0,3,0: ' Card 08
DATA 0,0,1,0,0,2,2,0,0,1,0,0,0,0,4,0,0,3,3,0,0,4,0,0: ' Card 09
DATA 0,0,0,0,0,2,0,3,2,0,0,3,4,0,0,1,4,0,1,0,0,0,0,0: ' Card 10
DATA 0,3,0,1,3,3,2,0,0,0,1,0,0,2,0,0,0,1,4,4,2,0,4,0: ' Card 11
DATA 1,1,1,4,0,0,3,0,0,0,4,0,0,3,0,0,0,4,0,0,3,2,2,2: ' Card 12
DATA 2,1,2,3,0,0,4,0,0,0,4,0,0,3,0,0,0,3,0,0,4,1,2,1: ' Card 13
DATA 2,2,2,0,4,3,0,0,0,0,0,4,3,0,0,0,0,0,4,3,0,1,1,1: ' Card 14
DATA 0,0,0,0,1,4,0,1,1,4,0,3,4,0,3,2,2,0,3,2,0,0,0,0: ' Card 15
DATA 0,0,0,0,3,4,0,1,1,1,0,3,4,0,2,2,2,0,3,4,0,0,0,0: ' Card 16
DATA 3,0,3,2,0,0,1,0,3,0,0,2,1,0,0,4,0,2,0,0,1,4,0,4: ' Card 17
DATA 0,3,0,0,1,1,0,2,0,4,4,0,0,2,2,0,4,0,3,3,0,0,1,0: ' Card 18
DATA 4,0,2,1,3,3,1,2,0,4,0,0,0,0,0,3,0,0,4,2,0,0,1,0: ' Card 19
DATA 3,0,0,4,4,0,0,3,3,0,0,4,1,0,0,2,2,0,0,1,1,0,0,2: ' Card 20
DATA 4,4,4,1,4,4,2,1,0,2,1,0,0,2,1,0,2,1,3,3,2,3,3,3: ' Card 21
DATA 3,3,3,4,4,1,1,3,0,3,4,0,0,1,2,0,2,4,4,1,1,2,2,2: ' Card 22
DATA 4,3,1,2,1,2,2,4,0,3,1,0,0,4,2,0,1,3,3,4,3,4,2,1: ' Card 23
DATA 4,3,1,2,1,2,2,4,0,3,1,0,0,4,2,0,1,3,3,4,3,4,2,1: ' Card 24
DATA 4,2,4,2,3,3,1,1,0,2,1,0,0,4,2,0,3,3,1,2,1,4,3,4: ' card 25
DATA 3,2,2,3,2,0,2,0,2,4,3,3,4,4,3,1,0,1,0,1,4,1,1,4: ' Card 26
DATA 2,2,0,3,2,2,0,3,2,4,3,3,4,4,3,1,4,0,1,1,4,0,1,1: ' Card 27
DATA 3,0,1,4,1,4,3,2,2,2,0,1,4,0,3,3,3,4,1,4,2,2,0,1: ' Card 28
DATA 1,0,3,1,1,2,4,1,2,4,0,2,4,0,2,4,3,2,4,3,3,1,0,3: ' Card 29
DATA 4,0,2,4,4,2,2,4,4,2,0,1,2,0,1,3,3,1,1,3,3,1,0,3: ' Card 30
DATA 1,1,1,4,4,3,3,1,1,1,4,4,3,3,2,2,2,4,4,3,3,2,2,2: ' Card 31
DATA 1,1,1,2,3,3,1,3,3,3,2,4,3,1,4,4,4,2,4,4,1,2,2,2: ' Card 32
DATA 2,1,2,4,1,1,3,3,1,4,3,3,4,4,3,2,4,4,2,2,3,1,2,1: ' Card 33
DATA 4,2,2,1,4,2,2,1,4,2,3,1,4,2,3,1,4,3,3,1,4,3,3,1: ' Card 34
DATA 3,3,3,4,1,1,3,2,2,2,4,1,1,3,2,2,2,4,1,1,3,4,4,4: ' Card 35
DATA 1,1,1,4,2,1,3,4,4,4,4,2,1,3,3,3,3,4,2,1,3,2,2,2: ' Card 36
DATA 2,2,2,4,3,3,1,1,3,4,4,1,4,1,1,2,4,4,2,2,1,3,3,3: ' Card 37
DATA 3,3,3,3,3,1,1,3,1,1,2,2,1,1,2,2,4,2,2,4,4,4,4,4: ' Card 38
DATA 3,3,2,3,3,2,2,3,3,2,1,1,2,2,1,4,4,1,1,4,4,1,4,4: ' Card 39
DATA 1,1,1,3,1,1,4,3,1,4,3,3,4,4,3,2,4,3,2,2,4,2,2,2: ' Card 40
FOR Z = 1 TO 40: FOR Y = 1 TO 24: READ CardPattern(Z, Y): NEXT: NEXT
LevelCursor$ = "R389D55L389U55H1R391D57L391U57"
CardCursor$ = "R165D165L165U165H1R167D167L167U167H1R169D169"
CLS , 15
' Draw Board
CIRCLE (170, 170), 160, 2, 1.4, 3.3: CIRCLE (567, 170), 160, 2, 0, 1.8: CIRCLE (170, 567), 160, 2, 2.9, 4.8: CIRCLE (567, 567), 160, 2, 4.4, 0
LINE (170, 10)-(567, 10), 2: LINE (170, 727)-(567, 727), 2: LINE (10, 170)-(10, 567), 2: LINE (727, 170)-(727, 567), 2: PAINT (170, 170), 2
X = 70: W = 0: U = 0
FOR Z = 1 TO 7
V = 70
FOR Y = 1 TO 7
IF Z = 1 OR Z = 3 OR Z = 5 OR Z = 7 THEN
IF Y = 2 OR Y = 4 OR Y = 6 THEN
CIRCLE (V, X + 100), 138, 1, .81, 2.34: CIRCLE (V, X - 100), 138, 1, 3.96, 5.455: PAINT (V, X), 0, 1
Tile(U) = 0: U = U + 1: TileX(U) = V: TileY(U) = X
END IF
ELSE
IF Y = 1 OR Y = 3 OR Y = 5 OR Y = 7 THEN
CIRCLE (V + 100, X), 138, 1, 2.36, 3.93: CIRCLE (V - 100, X), 138, 1, 5.5, .771: PAINT (V, X), 0, 1
Tile(U) = 0: U = U + 1: TileX(U) = V: TileY(U) = X
END IF
IF Y = 2 OR Y = 4 OR Y = 6 THEN CIRCLE (V, X), 50, 3: PAINT (V, X), 3: W = W + 1: KnobX(W) = V: KnobY(W) = X
END IF
V = V + 100
NEXT
X = X + 100
NEXT
BoldFont$ = ENVIRON$("SYSTEMROOT") + "\fonts\Calibrib.ttf"
COLOR 0, 15: font& = _LOADFONT(BoldFont$, 30): _FONT font&: _PRINTSTRING (820, 10), "T W I Z Z L E L O G I C P U Z Z L E"
font& = _LOADFONT(BoldFont$, 25): _FONT font&:
X = 220
FOR Z = 1 TO 4
COLOR LevelColor(Z), 15
IF Z = 1 THEN _PRINTSTRING (883, X), "L E V E L 1: B E G I N N E R"
IF Z = 2 THEN _PRINTSTRING (850, X), "L E V E L 2: I N T E R M E D I A T E"
IF Z = 3 THEN _PRINTSTRING (883, X), "L E V E L 3: A D V A N C E D"
IF Z = 4 THEN _PRINTSTRING (905, X), "L E V E L 4: E X P E R T"
LevelY(Z) = X: X = X + 100
NEXT
COLOR 0, 15: font& = _LOADFONT(BoldFont$, 25): _FONT font&: _PRINTSTRING (920, 713), "Choose a Level to Play"
ChooseLevel:
DO WHILE _MOUSEINPUT
FOR Z = 1 TO 4
IF _MOUSEX > 830 AND _MOUSEY < 1219 AND _MOUSEY > LevelY(Z) - 20 AND _MOUSEY < LevelY(Z) + 35 THEN Selected = 1 ELSE Selected = 0
IF Selected = 1 THEN PSET (830, LevelY(Z) - 20), 0: DRAW LevelCursor$ ELSE PSET (830, LevelY(Z) - 20), 15: DRAW LevelCursor$
IF _MOUSEBUTTON(1) = -1 AND Selected = 1 THEN GOSUB ReleaseButton: Level = Z: GOTO ClearLevels
NEXT
LOOP
A$ = INKEY$: IF A$ <> "" THEN IF ASC(A$) = 27 AND FullScreen = 0 THEN FullScreen = -1: _FULLSCREEN _SQUAREPIXELS , _SMOOTH ELSE IF ASC(A$) = 27 THEN FullScreen = 0: _FULLSCREEN _OFF
GOTO ChooseLevel
ClearLevels:
LINE (828, 198)-(1220, 560), 15, BF: COLOR 0, 15: font& = _LOADFONT(BoldFont$, 25): _FONT font&: _PRINTSTRING (920, 713), SPACE$(300)
COLOR 0, 15: _PRINTSTRING (905, 320), "Choose Cards Randomly": _PRINTSTRING (915, 420), "Choose Cards Yourself"
COLOR 0, 15: font& = _LOADFONT(BoldFont$, 25): _FONT font&: _PRINTSTRING (920, 713), "Choose Cards Selection"
ChooseCardSelection:
DO WHILE _MOUSEINPUT
FOR Z = 1 TO 2
IF _MOUSEX > 830 AND _MOUSEY < 1219 AND _MOUSEY > LevelY(Z + 1) - 20 AND _MOUSEY < LevelY(Z + 1) + 35 THEN Selected = 1 ELSE Selected = 0
IF Selected = 1 THEN PSET (830, LevelY(Z + 1) - 20), 0: DRAW LevelCursor$ ELSE PSET (830, LevelY(Z + 1) - 20), 15: DRAW LevelCursor$
IF _MOUSEBUTTON(1) = -1 AND Selected = 1 THEN GOSUB ReleaseButton: Selection = Z: GOTO ChooseCards
NEXT
LOOP
A$ = INKEY$: IF A$ <> "" THEN IF ASC(A$) = 27 AND FullScreen = 0 THEN FullScreen = -1: _FULLSCREEN _SQUAREPIXELS , _SMOOTH ELSE IF ASC(A$) = 27 THEN FullScreen = 0: _FULLSCREEN _OFF
GOTO ChooseCardSelection
ChooseCards:
LINE (828, 198)-(1220, 560), 15, BF: COLOR 0, 15: font& = _LOADFONT(BoldFont$, 25): _FONT font&: _PRINTSTRING (920, 713), SPACE$(300)
IF Selection = 2 THEN
IF Level = 1 THEN Card = 1 ELSE IF Level = 2 THEN Card = 11 ELSE IF Level = 3 THEN Card = 21 ELSE Card = 31
X = 118: Position = 1
FOR Z = 1 TO 4
IF Z = 4 THEN W = 1: V = 1025 ELSE W = 3: V = 857
FOR Y = 1 TO W
DrawCard V, X, Card: CardX(Position) = V: CardY(Position) = X
Card = Card + 1: Position = Position + 1: V = V + 168
NEXT
X = X + 168
NEXT
COLOR 0, 15: font& = _LOADFONT(BoldFont$, 25): _FONT font&: _PRINTSTRING (910, 713), "Choose a Starting Card"
StartingCard:
DO WHILE _MOUSEINPUT
IF Level = 1 THEN Card = 1 ELSE IF Level = 2 THEN Card = 11 ELSE IF Level = 3 THEN Card = 21 ELSE Card = 31
FOR Z = 1 TO 10
IF _MOUSEX > CardX(Z) - 80 AND _MOUSEX < CardX(Z) + 80 AND _MOUSEY > CardY(Z) - 80 AND _MOUSEY < CardY(Z) + 80 AND _MOUSEBUTTON(1) = -1 THEN
GOSUB ReleaseButton: StartCard = Card: Position = Z: GOTO PlaceStartCard
END IF
Card = Card + 1
NEXT
LOOP
A$ = INKEY$: IF A$ <> "" THEN IF ASC(A$) = 27 AND FullScreen = 0 THEN FullScreen = -1: _FULLSCREEN _SQUAREPIXELS , _SMOOTH ELSE IF ASC(A$) = 27 THEN FullScreen = 0: _FULLSCREEN _OFF
GOTO StartingCard
PlaceStartCard:
FOR Z = 1 TO 24
IF CardPattern(StartCard, Z) > 0 THEN PAINT (TileX(Z), TileY(Z)), LevelColor(CardPattern(StartCard, Z)), 1: Tile(Z) = CardPattern(StartCard, Z)
NEXT
LINE (CardX(Position) - 80, CardY(Position) - 80)-(CardX(Position) + 80, CardY(Position) + 80), 15, BF
COLOR 0, 15: font& = _LOADFONT(BoldFont$, 25): _FONT font&: _PRINTSTRING (910, 713), "Choose an Ending Card"
EndingCard:
DO WHILE _MOUSEINPUT
IF Level = 1 THEN Card = 1 ELSE IF Level = 2 THEN Card = 11 ELSE IF Level = 3 THEN Card = 21 ELSE Card = 31
FOR Z = 1 TO 10
IF _MOUSEX > CardX(Z) - 80 AND _MOUSEX < CardX(Z) + 80 AND _MOUSEY > CardY(Z) - 80 AND _MOUSEY < CardY(Z) + 80 AND _MOUSEBUTTON(1) = -1 THEN
IF Z <> Position THEN GOSUB ReleaseButton: EndCard = Card: GOTO ClearCards
END IF
Card = Card + 1
NEXT
LOOP
A$ = INKEY$: IF A$ <> "" THEN IF ASC(A$) = 27 AND FullScreen = 0 THEN FullScreen = -1: _FULLSCREEN _SQUAREPIXELS , _SMOOTH ELSE IF ASC(A$) = 27 THEN FullScreen = 0: _FULLSCREEN _OFF
GOTO EndingCard
ClearCards: LINE (777, 38)-(1290, 737), 15, BF
ELSE
END IF
SLEEP
ReleaseButton:
DO WHILE _MOUSEINPUT
IF _MOUSEBUTTON(1) = 0 THEN RETURN
LOOP
GOTO ReleaseButton
SUB DrawCard (X, Y, Card)
DIM AS _BYTE R, S, V, W, Z: V = LevelColor(Level)
DIM AS INTEGER T, U
BoldFont$ = ENVIRON$("SYSTEMROOT") + "\fonts\Calibrib.ttf"
' LOCATE 1, 1: PRINT Card;: SLEEP
CIRCLE (X - 69, Y - 69), 10, V, 1.3, 3.3: CIRCLE (X + 69, Y - 69), 10, V, 0, 1.8: CIRCLE (X - 69, Y + 69), 10, V, 2.9, 4.8: CIRCLE (X + 69, Y + 69), 10, V, 4.4, 0
LINE (X - 69, Y - 79)-(X + 69, Y - 79), V: LINE (X - 69, Y + 79)-(X + 69, Y + 79), V: LINE (X - 79, Y - 69)-(X - 79, Y + 69), V: LINE (X + 79, Y - 69)-(X + 79, Y + 69), V: PAINT (X, Y), V
CIRCLE (X - 65, Y - 65), 7, 15, 1.3, 3.3: CIRCLE (X + 65, Y - 65), 7, 15, 0, 1.8: CIRCLE (X - 65, Y + 65), 7, 15, 2.9, 4.8: CIRCLE (X + 65, Y + 65), 7, 15, 4.4, 0
LINE (X - 65, Y - 72)-(X + 65, Y - 72), 15: LINE (X - 65, Y + 72)-(X + 65, Y + 72), 15: LINE (X - 72, Y - 65)-(X - 72, Y + 65), 15: LINE (X + 72, Y - 65)-(X + 72, Y + 65), 15: PAINT (X, Y), 15
CIRCLE (X, Y - 67), 3, V: PAINT (X, Y - 67), V
CIRCLE (X - 67, Y - 6), 3, V: PAINT (X - 67, Y - 6), V: CIRCLE (X - 67, Y + 6), 3, V: PAINT (X - 67, Y + 6), V
CIRCLE (X, Y + 67), 3, V: PAINT (X, Y + 67), V: CIRCLE (X - 12, Y + 67), 3, V: PAINT (X - 12, Y + 67), V: CIRCLE (X + 12, Y + 67), 3, V: PAINT (X + 12, Y + 67), V
CIRCLE (X + 67, Y - 6), 3, V: PAINT (X + 67, Y - 6), V: CIRCLE (X + 67, Y + 6), 3, V: PAINT (X + 67, Y + 6), V: CIRCLE (X + 67, Y - 18), 3, V: PAINT (X + 67, Y - 18), V: CIRCLE (X + 67, Y + 18), 3, V: PAINT (X + 67, Y + 18), V
CIRCLE (X - 30, Y - 30), 30, 0, 1.3, 3.3: CIRCLE (X + 30, Y - 30), 30, 0, 0, 1.8: CIRCLE (X - 30, Y + 30), 30, 0, 2.9, 4.8: CIRCLE (X + 30, Y + 30), 30, 0, 4.4, 0
LINE (X - 30, Y - 60)-(X + 30, Y - 60), 0: LINE (X - 30, Y + 60)-(X + 30, Y + 60), 0: LINE (X - 60, Y - 30)-(X - 60, Y + 30), 0: LINE (X + 60, Y - 30)-(X + 60, Y + 30), 0: PAINT (X, Y),
U = Y - 51: W = 0
FOR Z = 1 TO 7
T = X - 51
FOR V = 1 TO 7
IF Z = 1 OR Z = 3 OR Z = 5 OR Z = 7 THEN
IF V = 2 OR V = 4 OR V = 6 THEN
W = W + 1: S = CardPattern(Card, W): R = LevelColor(S)
IF S > 0 THEN CIRCLE (T, U + 15), 20, R, .82, 2.33: CIRCLE (T, U - 15), 20, R, 3.97, 5.454: PAINT (T, U), R
END IF
ELSE
IF V = 1 OR V = 3 OR V = 5 OR V = 7 THEN
W = W + 1: S = CardPattern(Card, W): R = LevelColor(S)
IF S > 0 THEN CIRCLE (T + 15, U), 20, R, 2.36, 3.93: CIRCLE (T - 15, U), 20, R, 5.5, .771: PAINT (T, U), R
END IF
' IF V = 2 OR V = 4 OR V = 6 THEN CIRCLE (T, U), 15, 15: ' PAINT (V, u), 3
END IF
T = T + 17:
NEXT
U = U + 17
NEXT
END SUB
I need help finding out what is causing this error. It would be nice if the IDE would give a better description of the error so it would be easier for someone to pinpoint and correct the cause.
I am running QB64_2.0.1_win-x64 on a Windows 11 laptop. I can address other coding problems in future treads. However, I will mention here, I-m having trouble running newer versions of QB64. I had no problem extracting files with the older file types. I would right click on the download QB64 file and had the option of Extracting Files Here and it would create a new folder and put QB64 in that folder.
Thank you very much. I don't like asking for help.
Donald