Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 max id error with sprites... CONTINUED
Index -> Programming, Turing -> Turing Help
Goto page Previous  1, 2, 3
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
programmer_needs_help




PostPosted: Thu Jun 08, 2017 7:56 pm   Post subject: RE:max id error with sprites... CONTINUED

elsif arrowInput (' ') and playerYValue <= ground then
Sprite.ChangePic (playerSprite, playerAttack)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

View.Update
Sprite.ChangePic (playerSprite, player)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

end if

because this crashes
Sponsor
Sponsor
Sponsor
sponsor
Insectoid




PostPosted: Thu Jun 08, 2017 8:04 pm   Post subject: RE:max id error with sprites... CONTINUED

Is it giving the same error message? Because as long as all images have been loaded, that should run fine.
programmer_needs_help




PostPosted: Thu Jun 08, 2017 8:07 pm   Post subject: RE:max id error with sprites... CONTINUED

Process "enemyOneAttack": Cannot allocate item. Out of id numbers (max 1000)
programmer_needs_help




PostPosted: Thu Jun 08, 2017 8:07 pm   Post subject: RE:max id error with sprites... CONTINUED

Now it's an error for a new process !!!!

Here's the whole code:

% Indicate Screen Size and Background Image
View.Set ("graphics,offscreenonly")
var window : int := Window.Open ("graphics:930;605,nobuttonbar")
cls

% Indicate Variables
var swordQuestLogoImage : int
var forestBackground : int
const CENTREX : int := maxx div 2
const CENTREY : int := maxy div 2
var msSerifFont : int
var startOption : char
var player : int
var playerSprite : int
var playerYValue : int := 290
var ground : int := 290
var playerXValue : int := CENTREX - 400
var playerXValueOriginal : int
var enemyOne : int
var enemyOneSprite : int
var enemyOneYValue : int := ground
var enemyOneXValue : int := CENTREX + 400
var enemyTwo : int
var enemyThree : int
var lordZolton : int
var pressSToStartPic : int
var pressSToStartSprite : int
var arrowInput : array char of boolean
var arrowInputTwo : array char of boolean
var arrowInputThree : array char of boolean
var mainMenu : int
var levelOneBackground : int
var aboutGameButtonPic : int
var controlsButtonPic : int
var startButtonPic : int
var quitGameButtonPic : int
var aboutGameButton : int
var controlsButton : int
var startButton : int
var quitGameButton : int
var aboutGameScreenOne : int
var controlsScreen : int
var fireball : int
var fireballSprite : int
var fireballXValue : int
var enemyOnePlayerDistance : real := 0
var attackChance : int
var numLives : int := 3
var gameOver : int
var lifeHearts : int
var lifeHeartsSprite : int
var playerAttack : int

% Level One

% Import Level Background
levelOneBackground := Pic.FileNew ("levelOneBackground.bmp")
levelOneBackground := Pic.Scale (levelOneBackground, 930, 605)
Pic.Draw (levelOneBackground, 0, 0, picMerge)

% Import Player and Convert To Sprite
player := Pic.FileNew ("playerBlaze.bmp")
player := Pic.Scale (player, 155, 165)
playerSprite := Sprite.New (player)
Sprite.Show (playerSprite)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)
playerAttack := Pic.FileNew ("playerBlazeSword.bmp")
playerAttack := Pic.Scale (playerAttack, 152, 165)

% Import Enemy One and Convert To Sprite
enemyOne := Pic.FileNew ("enemyOne.bmp")
enemyOne := Pic.Scale (enemyOne, 155, 166)
enemyOneSprite := Sprite.New (enemyOne)
Sprite.Show (enemyOneSprite)
Sprite.SetPosition (enemyOneSprite, 500, 290, true)


% Import Fireball and Convert To Sprite
fireball := Pic.FileNew ("fireball.bmp")
fireball := Pic.Scale (fireball, 40, 30)
fireballSprite := Sprite.New (fireball)

% Import Life Hearts and Convert To Sprite
lifeHearts := Pic.FileNew ("lifeHeartsThree.bmp")
lifeHearts := Pic.Scale (lifeHearts, 120, 40)
lifeHeartsSprite := Sprite.New (lifeHearts)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)
Sprite.Show (lifeHeartsSprite)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)

% Begin Process For Player Movement
process playerMovement
loop

% Arrow Key Input

% Player Movement With Down Key
Input.KeyDown (arrowInput)

% Player Movement With Up Key

if arrowInput (KEY_UP_ARROW) and playerYValue = ground then
playerXValueOriginal := playerXValue
loop
playerYValue := floor (-0.015 * ((playerXValue - playerXValueOriginal) div 2) ** 2 + 420)
playerXValue := playerXValue + 1
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, false)
Sprite.Show (playerSprite)
delay (2)
exit when playerYValue <= ground
end loop
% Reset Player To Bottom Of Screen When Top of Screen Reached


% Player Movement With Right Key
elsif arrowInput (KEY_RIGHT_ARROW) then
playerXValue := playerXValue + 1

% Restrict Player Movement on Right Side of Screen
if playerXValue >= maxx then
playerXValue := 0
end if

% Player Movement With Left Key
elsif arrowInput (KEY_LEFT_ARROW) then
playerXValue := playerXValue - 1

% Restrict Player Movement on Left Side of Screen
if playerXValue = 0 then
playerXValue := maxx
end if

% Sword Attack
elsif arrowInput (' ') and playerYValue <= ground then
Sprite.ChangePic (playerSprite, playerAttack)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

View.Update
Sprite.ChangePic (playerSprite, player)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

end if
% Reposition The Player On The Screen According To Input
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

delay (2)
end loop
end playerMovement


% Fireball Attack
process fireballMoving
loop
Input.KeyDown (arrowInputTwo)
if arrowInputTwo (KEY_DOWN_ARROW) and playerYValue <= ground then
fireballXValue := playerXValue
for fireballMovement2 : 1 .. 940
Sprite.SetPosition (fireballSprite, fireballXValue + fireballMovement2, ground, true)
delay (2)
end for
Sprite.Show (fireballSprite)
end if
end loop
end fireballMoving

% Enemy AI
[color=darkred]process enemyOneAttack
var a : int := 0
loop
enemyOnePlayerDistance := Math.Distance (playerXValue, playerYValue, enemyOneXValue, enemyOneYValue)
if enemyOnePlayerDistance >= 15 then
a := 0
end if
if enemyOnePlayerDistance > 0 and playerXValue < enemyOneXValue then
enemyOneXValue := enemyOneXValue - 2
Sprite.SetPosition (enemyOneSprite, enemyOneXValue, enemyOneYValue, true)
delay (7)
elsif enemyOnePlayerDistance > 0 and playerXValue > enemyOneXValue then
enemyOneXValue := enemyOneXValue + 2
Sprite.SetPosition (enemyOneSprite, enemyOneXValue, enemyOneYValue, true)
elsif enemyOnePlayerDistance < 15 then
randint (attackChance, 1, 4)
if attackChance = 1 then
Sprite.Hide (enemyOneSprite)
enemyOne := Pic.FileNew ("enemyOneSword.bmp")
Sprite.ChangePic (enemyOneSprite, enemyOne)
enemyOne := Pic.Scale (enemyOne, 152, 165)

enemyOneSprite := Sprite.New (enemyOne)
Sprite.Show (enemyOneSprite)
Sprite.SetPosition (enemyOneSprite, enemyOneXValue, enemyOneYValue, true)
delay (20)
View.Update
if a = 0 then
numLives := numLives - 1
if numLives = 2 then
Sprite.Hide (lifeHeartsSprite)
lifeHearts := Pic.FileNew ("lifeHeartsTwo.bmp")
lifeHearts := Pic.Scale (lifeHearts, 80, 40)
Sprite.ChangePic (lifeHeartsSprite, lifeHearts)
Sprite.Show (lifeHeartsSprite)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)
elsif numLives = 1 then
Sprite.Hide (lifeHeartsSprite)
lifeHearts := Pic.FileNew ("lifeHeartsOne.bmp")
lifeHearts := Pic.Scale (lifeHearts, 40, 40)
Sprite.ChangePic (lifeHeartsSprite, lifeHearts)
Sprite.Show (lifeHeartsSprite)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)
end if
a := 1
end if
exit when numLives = 0
end if
end if
delay (7)
end loop

Sprite.Hide (enemyOneSprite)
Sprite.Hide (playerSprite)
gameOver := Pic.FileNew ("gameOver.bmp")
gameOver := Pic.Scale (gameOver, 930, 605)
Pic.Draw (gameOver, 0, 0, picMerge)
loop
Sprite.Hide (lifeHeartsSprite)
Sprite.Hide (enemyOneSprite)
Sprite.Hide (playerSprite)
Sprite.Hide (fireballSprite)
end loop
end enemyOneAttack

[/color]

fork enemyOneAttack
fork fireballMoving
fork playerMovement
programmer_needs_help




PostPosted: Thu Jun 08, 2017 8:10 pm   Post subject: RE:max id error with sprites... CONTINUED

Sorry some of that isn't readable, Here read this:

% Indicate Screen Size and Background Image
View.Set ("graphics,offscreenonly")
var window : int := Window.Open ("graphics:930;605,nobuttonbar")
cls

% Indicate Variables
var swordQuestLogoImage : int
var forestBackground : int
const CENTREX : int := maxx div 2
const CENTREY : int := maxy div 2
var msSerifFont : int
var startOption : char
var player : int
var playerSprite : int
var playerYValue : int := 290
var ground : int := 290
var playerXValue : int := CENTREX - 400
var playerXValueOriginal : int
var enemyOne : int
var enemyOneSprite : int
var enemyOneYValue : int := ground
var enemyOneXValue : int := CENTREX + 400
var enemyTwo : int
var enemyThree : int
var lordZolton : int
var pressSToStartPic : int
var pressSToStartSprite : int
var arrowInput : array char of boolean
var arrowInputTwo : array char of boolean
var arrowInputThree : array char of boolean
var mainMenu : int
var levelOneBackground : int
var aboutGameButtonPic : int
var controlsButtonPic : int
var startButtonPic : int
var quitGameButtonPic : int
var aboutGameButton : int
var controlsButton : int
var startButton : int
var quitGameButton : int
var aboutGameScreenOne : int
var controlsScreen : int
var fireball : int
var fireballSprite : int
var fireballXValue : int
var enemyOnePlayerDistance : real := 0
var attackChance : int
var numLives : int := 3
var gameOver : int
var lifeHearts : int
var lifeHeartsSprite : int
var playerAttack : int

% Level One

% Import Level Background
levelOneBackground := Pic.FileNew ("levelOneBackground.bmp")
levelOneBackground := Pic.Scale (levelOneBackground, 930, 605)
Pic.Draw (levelOneBackground, 0, 0, picMerge)

% Import Player and Convert To Sprite
player := Pic.FileNew ("playerBlaze.bmp")
player := Pic.Scale (player, 155, 165)
playerSprite := Sprite.New (player)
Sprite.Show (playerSprite)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)
playerAttack := Pic.FileNew ("playerBlazeSword.bmp")
playerAttack := Pic.Scale (playerAttack, 152, 165)

% Import Enemy One and Convert To Sprite
enemyOne := Pic.FileNew ("enemyOne.bmp")
enemyOne := Pic.Scale (enemyOne, 155, 166)
enemyOneSprite := Sprite.New (enemyOne)
Sprite.Show (enemyOneSprite)
Sprite.SetPosition (enemyOneSprite, 500, 290, true)


% Import Fireball and Convert To Sprite
fireball := Pic.FileNew ("fireball.bmp")
fireball := Pic.Scale (fireball, 40, 30)
fireballSprite := Sprite.New (fireball)

% Import Life Hearts and Convert To Sprite
lifeHearts := Pic.FileNew ("lifeHeartsThree.bmp")
lifeHearts := Pic.Scale (lifeHearts, 120, 40)
lifeHeartsSprite := Sprite.New (lifeHearts)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)
Sprite.Show (lifeHeartsSprite)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)

% Begin Process For Player Movement
process playerMovement
loop

% Arrow Key Input

% Player Movement With Down Key
Input.KeyDown (arrowInput)

% Player Movement With Up Key

if arrowInput (KEY_UP_ARROW) and playerYValue = ground then
playerXValueOriginal := playerXValue
loop
playerYValue := floor (-0.015 * ((playerXValue - playerXValueOriginal) div 2) ** 2 + 420)
playerXValue := playerXValue + 1
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, false)
Sprite.Show (playerSprite)
delay (2)
exit when playerYValue <= ground
end loop
% Reset Player To Bottom Of Screen When Top of Screen Reached


% Player Movement With Right Key
elsif arrowInput (KEY_RIGHT_ARROW) then
playerXValue := playerXValue + 1

% Restrict Player Movement on Right Side of Screen
if playerXValue >= maxx then
playerXValue := 0
end if

% Player Movement With Left Key
elsif arrowInput (KEY_LEFT_ARROW) then
playerXValue := playerXValue - 1

% Restrict Player Movement on Left Side of Screen
if playerXValue = 0 then
playerXValue := maxx
end if

% Sword Attack
elsif arrowInput (' ') and playerYValue <= ground then
Sprite.ChangePic (playerSprite, playerAttack)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

View.Update
Sprite.ChangePic (playerSprite, player)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

end if
% Reposition The Player On The Screen According To Input
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

delay (2)
end loop
end playerMovement


% Fireball Attack
process fireballMoving
loop
Input.KeyDown (arrowInputTwo)
if arrowInputTwo (KEY_DOWN_ARROW) and playerYValue <= ground then
fireballXValue := playerXValue
for fireballMovement2 : 1 .. 940
Sprite.SetPosition (fireballSprite, fireballXValue + fireballMovement2, ground, true)
delay (2)
end for
Sprite.Show (fireballSprite)
end if
end loop
end fireballMoving

% Enemy AI
process enemyOneAttack
var a : int := 0
loop
enemyOnePlayerDistance := Math.Distance (playerXValue, playerYValue, enemyOneXValue, enemyOneYValue)
if enemyOnePlayerDistance >= 15 then
a := 0
end if
if enemyOnePlayerDistance > 0 and playerXValue < enemyOneXValue then
enemyOneXValue := enemyOneXValue - 2
Sprite.SetPosition (enemyOneSprite, enemyOneXValue, enemyOneYValue, true)
delay (7)
elsif enemyOnePlayerDistance > 0 and playerXValue > enemyOneXValue then
enemyOneXValue := enemyOneXValue + 2
Sprite.SetPosition (enemyOneSprite, enemyOneXValue, enemyOneYValue, true)
elsif enemyOnePlayerDistance < 15 then
randint (attackChance, 1, 4)
if attackChance = 1 then
Sprite.Hide (enemyOneSprite)
enemyOne := Pic.FileNew ("enemyOneSword.bmp")
Sprite.ChangePic (enemyOneSprite, enemyOne)
enemyOne := Pic.Scale (enemyOne, 152, 165)

enemyOneSprite := Sprite.New (enemyOne)
Sprite.Show (enemyOneSprite)
Sprite.SetPosition (enemyOneSprite, enemyOneXValue, enemyOneYValue, true)
delay (20)
View.Update
if a = 0 then
numLives := numLives - 1
if numLives = 2 then
Sprite.Hide (lifeHeartsSprite)
lifeHearts := Pic.FileNew ("lifeHeartsTwo.bmp")
lifeHearts := Pic.Scale (lifeHearts, 80, 40)
Sprite.ChangePic (lifeHeartsSprite, lifeHearts)
Sprite.Show (lifeHeartsSprite)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)
elsif numLives = 1 then
Sprite.Hide (lifeHeartsSprite)
lifeHearts := Pic.FileNew ("lifeHeartsOne.bmp")
lifeHearts := Pic.Scale (lifeHearts, 40, 40)
Sprite.ChangePic (lifeHeartsSprite, lifeHearts)
Sprite.Show (lifeHeartsSprite)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)
end if
a := 1
end if
exit when numLives = 0
end if
end if
delay (7)
end loop

Sprite.Hide (enemyOneSprite)
Sprite.Hide (playerSprite)
gameOver := Pic.FileNew ("gameOver.bmp")
gameOver := Pic.Scale (gameOver, 930, 605)
Pic.Draw (gameOver, 0, 0, picMerge)
loop
Sprite.Hide (lifeHeartsSprite)
Sprite.Hide (enemyOneSprite)
Sprite.Hide (playerSprite)
Sprite.Hide (fireballSprite)
end loop
end enemyOneAttack


fork enemyOneAttack
fork fireballMoving
fork playerMovement
Insectoid




PostPosted: Thu Jun 08, 2017 8:13 pm   Post subject: RE:max id error with sprites... CONTINUED

The error is happening for the same reason as before. You have made the same mistake.
programmer_needs_help




PostPosted: Thu Jun 08, 2017 8:18 pm   Post subject: RE:max id error with sprites... CONTINUED

omg I can't believe it! Alright lol i'll try and fix that.
programmer_needs_help




PostPosted: Thu Jun 08, 2017 8:57 pm   Post subject: RE:max id error with sprites... CONTINUED

upon testing, the following doesn't crash:

% Indicate Screen Size and Background Image
View.Set ("graphics,offscreenonly")
var window : int := Window.Open ("graphics:930;605,nobuttonbar")
cls

% Indicate Variables
var swordQuestLogoImage : int
var forestBackground : int
const CENTREX : int := maxx div 2
const CENTREY : int := maxy div 2
var msSerifFont : int
var startOption : char
var player : int
var playerSprite : int
var playerYValue : int := 290
var ground : int := 290
var playerXValue : int := CENTREX - 400
var playerXValueOriginal : int
var enemyOne : int
var enemyOneSprite : int
var enemyOneYValue : int := ground
var enemyOneXValue : int := CENTREX + 400
var enemyTwo : int
var enemyThree : int
var lordZolton : int
var pressSToStartPic : int
var pressSToStartSprite : int
var arrowInput : array char of boolean
var arrowInputTwo : array char of boolean
var arrowInputThree : array char of boolean
var mainMenu : int
var levelOneBackground : int
var aboutGameButtonPic : int
var controlsButtonPic : int
var startButtonPic : int
var quitGameButtonPic : int
var aboutGameButton : int
var controlsButton : int
var startButton : int
var quitGameButton : int
var aboutGameScreenOne : int
var controlsScreen : int
var fireball : int
var fireballSprite : int
var fireballXValue : int
var enemyOnePlayerDistance : real := 0
var attackChance : int
var numLives : int := 3
var gameOver : int
var lifeHearts : int
var lifeHeartsSprite : int
var playerAttack : int
var enemyOneSword : int

% Level One

% Import Level Background
levelOneBackground := Pic.FileNew ("levelOneBackground.bmp")
levelOneBackground := Pic.Scale (levelOneBackground, 930, 605)
Pic.Draw (levelOneBackground, 0, 0, picMerge)

% Import Player and Convert To Sprite
player := Pic.FileNew ("playerBlaze.bmp")
player := Pic.Scale (player, 155, 165)
playerSprite := Sprite.New (player)
Sprite.Show (playerSprite)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)
playerAttack := Pic.FileNew ("playerBlazeSword.bmp")
playerAttack := Pic.Scale (playerAttack, 152, 165)

% Import Enemy One and Convert To Sprite
enemyOne := Pic.FileNew ("enemyOne.bmp")
enemyOne := Pic.Scale (enemyOne, 155, 166)
enemyOneSprite := Sprite.New (enemyOne)
Sprite.Show (enemyOneSprite)
Sprite.SetPosition (enemyOneSprite, 500, 290, true)
enemyOneSword := Pic.FileNew ("enemyOneSword.bmp")
enemyOneSword := Pic.Scale (enemyOneSword, 152, 165)

% Import Fireball and Convert To Sprite
fireball := Pic.FileNew ("fireball.bmp")
fireball := Pic.Scale (fireball, 40, 30)
fireballSprite := Sprite.New (fireball)

% Import Life Hearts and Convert To Sprite
lifeHearts := Pic.FileNew ("lifeHeartsThree.bmp")
lifeHearts := Pic.Scale (lifeHearts, 120, 40)
lifeHeartsSprite := Sprite.New (lifeHearts)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)
Sprite.Show (lifeHeartsSprite)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)

% Begin Process For Player Movement
process playerMovement
loop

% Arrow Key Input

% Player Movement With Down Key
Input.KeyDown (arrowInput)

% Player Movement With Up Key

if arrowInput (KEY_UP_ARROW) and playerYValue = ground then
playerXValueOriginal := playerXValue
loop
playerYValue := floor (-0.015 * ((playerXValue - playerXValueOriginal) div 2) ** 2 + 420)
playerXValue := playerXValue + 1
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, false)
Sprite.Show (playerSprite)
delay (2)
exit when playerYValue <= ground
end loop
% Reset Player To Bottom Of Screen When Top of Screen Reached


% Player Movement With Right Key
elsif arrowInput (KEY_RIGHT_ARROW) then
playerXValue := playerXValue + 1

% Restrict Player Movement on Right Side of Screen
if playerXValue >= maxx then
playerXValue := 0
end if

% Player Movement With Left Key
elsif arrowInput (KEY_LEFT_ARROW) then
playerXValue := playerXValue - 1

% Restrict Player Movement on Left Side of Screen
if playerXValue = 0 then
playerXValue := maxx
end if

% Sword Attack
elsif arrowInput (' ') and playerYValue <= ground then
Sprite.ChangePic (playerSprite, playerAttack)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

View.Update
Sprite.ChangePic (playerSprite, player)
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

end if
% Reposition The Player On The Screen According To Input
Sprite.SetPosition (playerSprite, playerXValue, playerYValue, true)

delay (2)
end loop
end playerMovement


% Fireball Attack
process fireballMoving
loop
Input.KeyDown (arrowInputTwo)
if arrowInputTwo (KEY_DOWN_ARROW) and playerYValue <= ground then
fireballXValue := playerXValue
for fireballMovement2 : 1 .. 940
Sprite.SetPosition (fireballSprite, fireballXValue + fireballMovement2, ground, true)
delay (2)
end for
Sprite.Show (fireballSprite)
end if
end loop
end fireballMoving

% Enemy AI
process enemyOneAttack
var a : int := 0
loop
enemyOnePlayerDistance := Math.Distance (playerXValue, playerYValue, enemyOneXValue, enemyOneYValue)
if enemyOnePlayerDistance >= 15 then
a := 0
end if
if enemyOnePlayerDistance > 0 and playerXValue < enemyOneXValue then
enemyOneXValue := enemyOneXValue - 2
Sprite.SetPosition (enemyOneSprite, enemyOneXValue, enemyOneYValue, true)
delay (7)
elsif enemyOnePlayerDistance > 0 and playerXValue > enemyOneXValue then
enemyOneXValue := enemyOneXValue + 2
Sprite.SetPosition (enemyOneSprite, enemyOneXValue, enemyOneYValue, true)
elsif enemyOnePlayerDistance < 15 then
randint (attackChance, 1, 4)
if attackChance = 1 then
Sprite.ChangePic (enemyOneSprite, enemyOneSword)
Sprite.SetPosition (enemyOneSprite, enemyOneXValue, enemyOneYValue, true)
View.Update

if a = 0 then
numLives := numLives - 1
if numLives = 2 then
Sprite.Hide (lifeHeartsSprite)
lifeHearts := Pic.FileNew ("lifeHeartsTwo.bmp")
lifeHearts := Pic.Scale (lifeHearts, 80, 40)
Sprite.ChangePic (lifeHeartsSprite, lifeHearts)
Sprite.Show (lifeHeartsSprite)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)
elsif numLives = 1 then
Sprite.Hide (lifeHeartsSprite)
lifeHearts := Pic.FileNew ("lifeHeartsOne.bmp")
lifeHearts := Pic.Scale (lifeHearts, 40, 40)
Sprite.ChangePic (lifeHeartsSprite, lifeHearts)
Sprite.Show (lifeHeartsSprite)
Sprite.SetPosition (lifeHeartsSprite, CENTREX - 370, CENTREY + 250, true)
end if
a := 1
end if
exit when numLives = 0
end if
end if
delay (7)
end loop

Sprite.Hide (enemyOneSprite)
Sprite.Hide (playerSprite)
gameOver := Pic.FileNew ("gameOver.bmp")
gameOver := Pic.Scale (gameOver, 930, 605)
Pic.Draw (gameOver, 0, 0, picMerge)
loop
Sprite.Hide (lifeHeartsSprite)
Sprite.Hide (enemyOneSprite)
Sprite.Hide (playerSprite)
Sprite.Hide (fireballSprite)
end loop
end enemyOneAttack



fork enemyOneAttack
fork fireballMoving
fork playerMovement


however, when I press and hold the attack button (space bar) the enemy AI movements slow down
Sponsor
Sponsor
Sponsor
sponsor
programmer_needs_help




PostPosted: Thu Jun 08, 2017 8:58 pm   Post subject: RE:max id error with sprites... CONTINUED

sorry for the late message!
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 3 of 3  [ 39 Posts ]
Goto page Previous  1, 2, 3
Jump to:   


Style:  
Search: