|  |  | @ -2,16 +2,6 @@ | 
		
	
		
			
			|  |  |  | * | 
		
	
		
			
			|  |  |  | *   raylib game - Floppy Bird | 
		
	
		
			
			|  |  |  | * | 
		
	
		
			
			|  |  |  | *   Welcome to raylib! | 
		
	
		
			
			|  |  |  | * | 
		
	
		
			
			|  |  |  | *   To test examples, just press F6 and execute raylib_compile_execute script | 
		
	
		
			
			|  |  |  | *   Note that compiled executable is placed in the same folder as .c file | 
		
	
		
			
			|  |  |  | * | 
		
	
		
			
			|  |  |  | *   You can find all basic examples on C:\raylib\raylib\examples folder or | 
		
	
		
			
			|  |  |  | *   raylib official webpage: www.raylib.com | 
		
	
		
			
			|  |  |  | * | 
		
	
		
			
			|  |  |  | *   Enjoy using raylib. :) | 
		
	
		
			
			|  |  |  | * | 
		
	
		
			
			|  |  |  | *   This game has been created using raylib 1.1 (www.raylib.com) | 
		
	
		
			
			|  |  |  | *   raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) | 
		
	
		
			
			|  |  |  | * | 
		
	
	
		
			
				|  |  | @ -86,10 +76,21 @@ int main() | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | // Update | 
		
	
		
			
			|  |  |  | //---------------------------------------------------------------------------------- | 
		
	
		
			
			|  |  |  | backScroll--; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Background scroll logic | 
		
	
		
			
			|  |  |  | backScroll--; | 
		
	
		
			
			|  |  |  | if (backScroll <= -800) backScroll = 0; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Player movement logic | 
		
	
		
			
			|  |  |  | if (!gameover) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | if (IsKeyDown(KEY_SPACE)) floppyPos.y -= 3; | 
		
	
		
			
			|  |  |  | else floppyPos.y += 1; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | if (IsKeyPressed(KEY_SPACE)) PlaySound(jump); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Tubes moving logic | 
		
	
		
			
			|  |  |  | for (int i = 0; i < MAX_TUBES; i++) tubesPos[i].x -= tubesSpeedX; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | for (int i = 0; i < MAX_TUBES*2; i += 2) | 
		
	
	
		
			
				|  |  | @ -98,12 +99,7 @@ int main() | 
		
	
		
			
			|  |  |  | tubesRecs[i+1].x = tubesPos[i/2].x; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | if (IsKeyDown(KEY_SPACE) && !gameover) floppyPos.y -= 3; | 
		
	
		
			
			|  |  |  | else floppyPos.y += 1; | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | if (IsKeyPressed(KEY_SPACE) && !gameover) PlaySound(jump); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Check Collisions | 
		
	
		
			
			|  |  |  | // Check collisions player-tubes | 
		
	
		
			
			|  |  |  | for (int i = 0; i < MAX_TUBES*2; i++) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | if (CheckCollisionCircleRec((Vector2){ floppyPos.x + floppy.width/2, floppyPos.y + floppy.height/2 }, floppy.width/2, tubesRecs[i])) | 
		
	
	
		
			
				|  |  | @ -122,6 +118,7 @@ int main() | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Gameover logic for reset | 
		
	
		
			
			|  |  |  | if (gameover && IsKeyPressed(KEY_ENTER)) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | for (int i = 0; i < MAX_TUBES; i++) | 
		
	
	
		
			
				|  |  | @ -147,7 +144,6 @@ int main() | 
		
	
		
			
			|  |  |  | gameover = false; | 
		
	
		
			
			|  |  |  | score = 0; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | //---------------------------------------------------------------------------------- | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Draw | 
		
	
	
		
			
				|  |  | @ -156,32 +152,39 @@ int main() | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | ClearBackground(RAYWHITE); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Draw scrolling background | 
		
	
		
			
			|  |  |  | DrawTexture(background, backScroll, 0, WHITE); | 
		
	
		
			
			|  |  |  | DrawTexture(background, screenWidth + backScroll, 0, WHITE); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | if (!gameover) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | DrawTextureEx(floppy, floppyPos, 0, 1.0, WHITE); | 
		
	
		
			
			|  |  |  | //DrawCircleLines(floppyPos.x + floppy.width/2, floppyPos.y + floppy.height/2, floppy.width/2, RED); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Draw moving tubes | 
		
	
		
			
			|  |  |  | for (int i = 0; i < MAX_TUBES; i++) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | if (tubesPos[i].x <= 800) DrawTextureEx(tubes, tubesPos[i], 0, 1.0, WHITE); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Draw collision recs | 
		
	
		
			
			|  |  |  | //DrawRectangleLines(tubesRecs[i*2].x, tubesRecs[i*2].y, tubesRecs[i*2].width, tubesRecs[i*2].height, RED); | 
		
	
		
			
			|  |  |  | //DrawRectangleLines(tubesRecs[i*2 + 1].x, tubesRecs[i*2 + 1].y, tubesRecs[i*2 + 1].width, tubesRecs[i*2 + 1].height, RED); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Draw scores | 
		
	
		
			
			|  |  |  | DrawText(FormatText("%04i", score), 20, 20, 40, PINK); | 
		
	
		
			
			|  |  |  | DrawText(FormatText("HI-SCORE: %04i", hiscore), 20, 70, 20, VIOLET); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | if (gameover) | 
		
	
		
			
			|  |  |  | // Draw player or game over messages | 
		
	
		
			
			|  |  |  | if (!gameover) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | DrawTextureEx(floppy, floppyPos, 0, 1.0, WHITE); | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Draw collision circle | 
		
	
		
			
			|  |  |  | //DrawCircleLines(floppyPos.x + floppy.width/2, floppyPos.y + floppy.height/2, floppy.width/2, RED); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | DrawText("GAME OVER", 100, 180, 100, MAROON); | 
		
	
		
			
			|  |  |  | DrawText("PRESS ENTER to RETRY!", 280, 280, 20, RED); | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  |  | 
		
	
		
			
			|  |  |  | // Draw screen light flash when passing through a tube | 
		
	
		
			
			|  |  |  | if (superfx) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | DrawRectangle(0, 0, screenWidth, screenHeight, GOLD); | 
		
	
	
		
			
				|  |  |  |