? Spooky Scary Programming Contest 2018 (Page 6) ● SmileBASIC Source Forums

Sign In

Register
*Usernames are case-sensitive
Forgot my password
[Help Wanted] SmileBASIC Documentation Project

📣 🔒 Spooky Scary Programming Contest 2018

1 2 3 4 5 6 7 8 9 10 11
  • #101 ✎ 554 IAmRalsei Forum Leader Hidden Achievements First Year My account is over 1 year old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength
    The rest of my game should be pretty easy from here, I finished world generation/loading.
    Have you finished saving yet?
    Posted
  • #102 ✎ 522 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Zelda Is Awesome! I love The Legend Of Zelda! Express Yourself Video Games I like to play video games! Hobbies
    The rest of my game should be pretty easy from here, I finished world generation/loading.
    Have you finished saving yet?
    Yes. My player sprites are based off of swan's sprites for Celestrium. My world generator generates worlds in about a minute, and the game can properly load maps. You can see the ice biome in my profile picture.
    Posted Edited by random_god
  • #103 ✎ 554 IAmRalsei Forum Leader Hidden Achievements First Year My account is over 1 year old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength
    The rest of my game should be pretty easy from here, I finished world generation/loading.
    Have you finished saving yet?
    Yes. My player sprites are based off of swan's sprites for Celestrium. My world generator generates worlds in about a minute, and the game can properly load maps. You can see the ice biome in my profile picture.
    Oh cool! Also, you based your sprites off Celestrium’s which were in turn based off Terraria’s sprites? Okay.
    Posted
  • #104 ✎ 522 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Zelda Is Awesome! I love The Legend Of Zelda! Express Yourself Video Games I like to play video games! Hobbies
    The rest of my game should be pretty easy from here, I finished world generation/loading.
    Have you finished saving yet?
    Yes. My player sprites are based off of swan's sprites for Celestrium. My world generator generates worlds in about a minute, and the game can properly load maps. You can see the ice biome in my profile picture.
    Oh cool! Also, you based your sprites off Celestrium’s which were in turn based off Terraria’s sprites? Okay.
    Yep. Everything works well now. I will submit it after I add the inventory menus and the ability to use some items.
    Posted
  • #105 ✎ 83 seggiepants I assume that SIM.3D is ok, to use right? (http://smilebasicsource.com/page?pid=1053 Key = HEAEP3). I have been playing with that one a little bit. What about code you find and port over from the internet. Something like say https://www.youtube.com/watch?v=Y37-gB83HKE Javidx9's maze generation algorithm for example? Good? Bad? By the way, if anyone is interested, the code I ported over and a screen shot is right below. Anyone else a fan? OPTION STRICT VAR SCREEN_W = 400 VAR SCREEN_H = 240 VAR CONSOLE_W = 200 'DIFFERENT NUMBERS FOR VAR CONSOLE_H = 120 'INTEGER CHARACTER SIZE VAR CHAR_W = SCREEN_W / CONSOLE_W VAR CHAR_H = SCREEN_H / CONSOLE_H VAR MAZE_W, MAZE_H, MAZE[0], VISITED_CELLS VAR CELL_PATH_N = &H01 VAR CELL_PATH_E = &H02 VAR CELL_PATH_S = &H04 VAR CELL_PATH_W = &H08 VAR CELL_VISITED = &H10 '16 VAR PATH_W = 3 'UNLIKE THE VIDEO I WILL JUST PUSH 'TWO ENTRIES PER XY PAIR. JUST NEED TO 'REMEMBER TO POP AND PUSH IN REVERSE ORDER 'PUSH X,Y THEN POP Y,X VAR STACK[0] 'Maze algorithm adapted from the video '"Programming Mazes" by javidx9 on Youtube 'https://www.youtube.com/watch?v=Y37-gB83HKE ' MAIN END DEF MAIN VAR B, GAME_OVER = FALSE, T1, T2, DT VAR PAGE_DRAW = 0, PAGE_SHOW = 1 ACLS GPAGE PAGE_SHOW, PAGE_DRAW ON_USER_CREATE T2 = MILLISEC - 16 WHILE !GAME_OVER T1 = T2 T2 = MILLISEC DT = T2 - T1 B = BUTTON() ON_USER_UPDATE DT, B IF (B AND #X) != 0 THEN GAME_OVER = TRUE SWAP PAGE_SHOW, PAGE_DRAW GPAGE PAGE_SHOW, PAGE_DRAW 'VSYNC WEND END DEF ON_USER_CREATE VAR I MAZE_W = 50 MAZE_H = 30 'Allocate maze 'Remove if too many WHILE LEN(MAZE) > (MAZE_W * MAZE_H) I = POP(MAZE) WEND 'Add if too small WHILE LEN(MAZE) < (MAZE_W * MAZE_H) PUSH MAZE, 0 WEND 'Now zero everything out FOR I = 0 TO (MAZE_W * MAZE_H) - 1 MAZE[I] = 0 NEXT I 'Clear out the stack WHILE LEN(STACK) > 0 I = POP(STACK) WEND 'Add the starting position PUSH STACK, 0 'Start at 0, 0 PUSH STACK, 0 'Mark it visited MAZE[0] = CELL_VISITED VISITED_CELLS = 1 END DEF ON_USER_UPDATE DT, B VAR I, J, PX, PY, X, Y, CLR VAR NEIGHBORS[0] VAR NORTH = 1 VAR EAST = 2 VAR SOUTH = 3 VAR WEST = 4 VAR NEXT_DIR 'Do Maze Algorithm IF VISITED_CELLS < (MAZE_W * MAZE_H) THEN 'Peek top of stack for current x, y Y = STACK[LEN(STACK) - 1] X = STACK[LEN(STACK) - 2] 'Step 1: Create a set of unvisited neighbors ' 'North neighbor IF Y > 0 THEN IF (MAZE[((Y - 1) * MAZE_W) + X] AND CELL_VISITED) == 0 THEN PUSH NEIGHBORS, NORTH ENDIF ENDIF 'East neighbor IF X < MAZE_W - 1 THEN IF (MAZE[(Y * MAZE_W) + X + 1] AND CELL_VISITED) == 0 THEN PUSH NEIGHBORS, EAST ENDIF ENDIF 'South neighbor IF Y < MAZE_H - 1 THEN IF (MAZE[((Y + 1) * MAZE_W) + X] AND CELL_VISITED) == 0 THEN PUSH NEIGHBORS, SOUTH ENDIF ENDIF 'West neighbor IF X > 0 THEN IF (MAZE[(Y * MAZE_W) + X - 1] AND CELL_VISITED) == 0 THEN PUSH NEIGHBORS, WEST ENDIF ENDIF IF LEN(NEIGHBORS) > 0 THEN 'Choose one available neighbor at random NEXT_DIR = NEIGHBORS[RND(LEN(NEIGHBORS))] 'Create a path between the neighbor and 'the current cell IF NEXT_DIR == NORTH THEN MAZE[Y * MAZE_W + X] = (MAZE[Y * MAZE_W + X] OR CELL_PATH_N) MAZE[(Y - 1) * MAZE_W + X] = (MAZE[(Y - 1) * MAZE_W + X] OR CELL_PATH_S) PUSH STACK, X PUSH STACK, Y - 1 ELSEIF NEXT_DIR == EAST THEN MAZE[Y * MAZE_W + X] = (MAZE[Y * MAZE_W + X] OR CELL_PATH_E) MAZE[Y * MAZE_W + X + 1] = (MAZE[Y * MAZE_W + X + 1] OR CELL_PATH_W) PUSH STACK, X + 1 PUSH STACK, Y ELSEIF NEXT_DIR == SOUTH THEN MAZE[Y * MAZE_W + X] = (MAZE[Y * MAZE_W + X] OR CELL_PATH_S) MAZE[(Y + 1) * MAZE_W + X] = (MAZE[(Y + 1) * MAZE_W + X] OR CELL_PATH_N) PUSH STACK, X PUSH STACK, Y + 1 ELSEIF NEXT_DIR == WEST THEN MAZE[Y * MAZE_W + X] = (MAZE[Y * MAZE_W + X] OR CELL_PATH_W) MAZE[Y * MAZE_W + X - 1] = (MAZE[Y * MAZE_W + X - 1] OR CELL_PATH_E) PUSH STACK, X - 1 PUSH STACK, Y ELSE ENDIF 'New cell 'Mark new cell visited and increase count 'Peek top of stack for current x, y Y = STACK[LEN(STACK) - 1] X = STACK[LEN(STACK) - 2] 'Mark it visited MAZE[Y * MAZE_W + X] = (MAZE[Y * MAZE_W + X] OR CELL_VISITED) VISITED_CELLS = VISITED_CELLS + 1 ELSE Y = POP(STACK) X = POP(STACK) ENDIF ENDIF 'IF VISITED_CELLS < MAZE_W * MAZE_H THEN RETURN GCLS FOR J = 0 TO MAZE_H - 1 FOR I = 0 TO MAZE_W - 1 IF MAZE[J * MAZE_W + I] AND CELL_VISITED THEN CLR = #WHITE ELSE CLR = #BLUE ENDIF IF I == X && J == Y AND VISITED_CELLS < MAZE_W * MAZE_H THEN CLR = #LIME ENDIF DRAW_CELL I * (PATH_W + 1), J * (PATH_W + 1), CLR 'South wall IF (MAZE[J * MAZE_W + I] AND CELL_PATH_S) != 0 THEN CLR = #WHITE ELSE CLR = #BLACK ENDIF FOR PX = 0 TO PATH_W - 1 DRAW_PIXEL I * (PATH_W + 1) + PX, J * (PATH_W + 1) + PATH_W, CLR NEXT PX 'East wall IF (MAZE[J * MAZE_W + I] AND CELL_PATH_E) != 0 THEN CLR = #WHITE ELSE CLR = #BLACK ENDIF FOR PY = 0 TO PATH_W - 1 DRAW_PIXEL I * (PATH_W + 1) + PATH_W, J * (PATH_W + 1) + PY, CLR NEXT PX NEXT I NEXT J END DEF DRAW_PIXEL X, Y, CLR GFILL X * CHAR_W, Y * CHAR_H, (X + 1) * CHAR_W - 1, (Y + 1) * CHAR_H - 1, CLR END DEF DRAW_CELL X, Y, CLR GFILL X * CHAR_W, Y * CHAR_H, (X + 1 + PATH_W) * CHAR_W - CHAR_W - 1, (Y + 1 + PATH_W) * CHAR_H - CHAR_H - 1, CLR END Posted
  • #106 ✎ 554 IAmRalsei Forum Leader Hidden Achievements First Year My account is over 1 year old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength I know for sure Sim.3D is fine, but I don’t know about the other stuff Posted
  • #107 ✎ 302 spaceturtles Video Games I like to play video games! Hobbies Avatar Block I didn't change my avatar for 30 days. Website Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength
    I assume that SIM.3D is ok, to use right? (http://smilebasicsource.com/page?pid=1053 Key = HEAEP3). I have been playing with that one a little bit. What about code you find and port over from the internet. Something like say https://www.youtube.com/watch?v=Y37-gB83HKE Javidx9's maze generation algorithm for example? Good? Bad? By the way, if anyone is interested, the code I ported over and a screen shot is right below. Anyone else a fan? OPTION STRICT VAR SCREEN_W = 400 VAR SCREEN_H = 240 VAR CONSOLE_W = 200 'DIFFERENT NUMBERS FOR VAR CONSOLE_H = 120 'INTEGER CHARACTER SIZE VAR CHAR_W = SCREEN_W / CONSOLE_W VAR CHAR_H = SCREEN_H / CONSOLE_H VAR MAZE_W, MAZE_H, MAZE[0], VISITED_CELLS VAR CELL_PATH_N = &H01 VAR CELL_PATH_E = &H02 VAR CELL_PATH_S = &H04 VAR CELL_PATH_W = &H08 VAR CELL_VISITED = &H10 '16 VAR PATH_W = 3 'UNLIKE THE VIDEO I WILL JUST PUSH 'TWO ENTRIES PER XY PAIR. JUST NEED TO 'REMEMBER TO POP AND PUSH IN REVERSE ORDER 'PUSH X,Y THEN POP Y,X VAR STACK[0] 'Maze algorithm adapted from the video '"Programming Mazes" by javidx9 on Youtube 'https://www.youtube.com/watch?v=Y37-gB83HKE ' MAIN END DEF MAIN VAR B, GAME_OVER = FALSE, T1, T2, DT VAR PAGE_DRAW = 0, PAGE_SHOW = 1 ACLS GPAGE PAGE_SHOW, PAGE_DRAW ON_USER_CREATE T2 = MILLISEC - 16 WHILE !GAME_OVER T1 = T2 T2 = MILLISEC DT = T2 - T1 B = BUTTON() ON_USER_UPDATE DT, B IF (B AND #X) != 0 THEN GAME_OVER = TRUE SWAP PAGE_SHOW, PAGE_DRAW GPAGE PAGE_SHOW, PAGE_DRAW 'VSYNC WEND END DEF ON_USER_CREATE VAR I MAZE_W = 50 MAZE_H = 30 'Allocate maze 'Remove if too many WHILE LEN(MAZE) > (MAZE_W * MAZE_H) I = POP(MAZE) WEND 'Add if too small WHILE LEN(MAZE) < (MAZE_W * MAZE_H) PUSH MAZE, 0 WEND 'Now zero everything out FOR I = 0 TO (MAZE_W * MAZE_H) - 1 MAZE[I] = 0 NEXT I 'Clear out the stack WHILE LEN(STACK) > 0 I = POP(STACK) WEND 'Add the starting position PUSH STACK, 0 'Start at 0, 0 PUSH STACK, 0 'Mark it visited MAZE[0] = CELL_VISITED VISITED_CELLS = 1 END DEF ON_USER_UPDATE DT, B VAR I, J, PX, PY, X, Y, CLR VAR NEIGHBORS[0] VAR NORTH = 1 VAR EAST = 2 VAR SOUTH = 3 VAR WEST = 4 VAR NEXT_DIR 'Do Maze Algorithm IF VISITED_CELLS < (MAZE_W * MAZE_H) THEN 'Peek top of stack for current x, y Y = STACK[LEN(STACK) - 1] X = STACK[LEN(STACK) - 2] 'Step 1: Create a set of unvisited neighbors ' 'North neighbor IF Y > 0 THEN IF (MAZE[((Y - 1) * MAZE_W) + X] AND CELL_VISITED) == 0 THEN PUSH NEIGHBORS, NORTH ENDIF ENDIF 'East neighbor IF X < MAZE_W - 1 THEN IF (MAZE[(Y * MAZE_W) + X + 1] AND CELL_VISITED) == 0 THEN PUSH NEIGHBORS, EAST ENDIF ENDIF 'South neighbor IF Y < MAZE_H - 1 THEN IF (MAZE[((Y + 1) * MAZE_W) + X] AND CELL_VISITED) == 0 THEN PUSH NEIGHBORS, SOUTH ENDIF ENDIF 'West neighbor IF X > 0 THEN IF (MAZE[(Y * MAZE_W) + X - 1] AND CELL_VISITED) == 0 THEN PUSH NEIGHBORS, WEST ENDIF ENDIF IF LEN(NEIGHBORS) > 0 THEN 'Choose one available neighbor at random NEXT_DIR = NEIGHBORS[RND(LEN(NEIGHBORS))] 'Create a path between the neighbor and 'the current cell IF NEXT_DIR == NORTH THEN MAZE[Y * MAZE_W + X] = (MAZE[Y * MAZE_W + X] OR CELL_PATH_N) MAZE[(Y - 1) * MAZE_W + X] = (MAZE[(Y - 1) * MAZE_W + X] OR CELL_PATH_S) PUSH STACK, X PUSH STACK, Y - 1 ELSEIF NEXT_DIR == EAST THEN MAZE[Y * MAZE_W + X] = (MAZE[Y * MAZE_W + X] OR CELL_PATH_E) MAZE[Y * MAZE_W + X + 1] = (MAZE[Y * MAZE_W + X + 1] OR CELL_PATH_W) PUSH STACK, X + 1 PUSH STACK, Y ELSEIF NEXT_DIR == SOUTH THEN MAZE[Y * MAZE_W + X] = (MAZE[Y * MAZE_W + X] OR CELL_PATH_S) MAZE[(Y + 1) * MAZE_W + X] = (MAZE[(Y + 1) * MAZE_W + X] OR CELL_PATH_N) PUSH STACK, X PUSH STACK, Y + 1 ELSEIF NEXT_DIR == WEST THEN MAZE[Y * MAZE_W + X] = (MAZE[Y * MAZE_W + X] OR CELL_PATH_W) MAZE[Y * MAZE_W + X - 1] = (MAZE[Y * MAZE_W + X - 1] OR CELL_PATH_E) PUSH STACK, X - 1 PUSH STACK, Y ELSE ENDIF 'New cell 'Mark new cell visited and increase count 'Peek top of stack for current x, y Y = STACK[LEN(STACK) - 1] X = STACK[LEN(STACK) - 2] 'Mark it visited MAZE[Y * MAZE_W + X] = (MAZE[Y * MAZE_W + X] OR CELL_VISITED) VISITED_CELLS = VISITED_CELLS + 1 ELSE Y = POP(STACK) X = POP(STACK) ENDIF ENDIF 'IF VISITED_CELLS < MAZE_W * MAZE_H THEN RETURN GCLS FOR J = 0 TO MAZE_H - 1 FOR I = 0 TO MAZE_W - 1 IF MAZE[J * MAZE_W + I] AND CELL_VISITED THEN CLR = #WHITE ELSE CLR = #BLUE ENDIF IF I == X && J == Y AND VISITED_CELLS < MAZE_W * MAZE_H THEN CLR = #LIME ENDIF DRAW_CELL I * (PATH_W + 1), J * (PATH_W + 1), CLR 'South wall IF (MAZE[J * MAZE_W + I] AND CELL_PATH_S) != 0 THEN CLR = #WHITE ELSE CLR = #BLACK ENDIF FOR PX = 0 TO PATH_W - 1 DRAW_PIXEL I * (PATH_W + 1) + PX, J * (PATH_W + 1) + PATH_W, CLR NEXT PX 'East wall IF (MAZE[J * MAZE_W + I] AND CELL_PATH_E) != 0 THEN CLR = #WHITE ELSE CLR = #BLACK ENDIF FOR PY = 0 TO PATH_W - 1 DRAW_PIXEL I * (PATH_W + 1) + PATH_W, J * (PATH_W + 1) + PY, CLR NEXT PX NEXT I NEXT J END DEF DRAW_PIXEL X, Y, CLR GFILL X * CHAR_W, Y * CHAR_H, (X + 1) * CHAR_W - 1, (Y + 1) * CHAR_H - 1, CLR END DEF DRAW_CELL X, Y, CLR GFILL X * CHAR_W, Y * CHAR_H, (X + 1 + PATH_W) * CHAR_W - CHAR_W - 1, (Y + 1 + PATH_W) * CHAR_H - CHAR_H - 1, CLR END
    I know for sure Sim.3D is fine, but I don’t know about the other stuff
    They should both be fine since they've been posted online for others to use
    Posted Edited by spaceturtles
  • #108 ✎ 931 Y_ack SIM.3D is fine, porting is more or less "original code" so you're fine. Posted
  • #109 ✎ 522 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Zelda Is Awesome! I love The Legend Of Zelda! Express Yourself Video Games I like to play video games! Hobbies If I really wanted to, I could give you 240 spaces. EDIT: I just decided to make XL worlds available for all 3DS systems. *half of SBS cheers* Posted Edited by random_god
  • #110 ✎ 229 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Forum Contributor Hidden Achievements
    I just decided to make XL worlds available for all 3DS systems.
    Wait, so were you trying to make 3DS XL-exclusive worlds for your game or something? They both have the same screen resolution, so all programs look and perform the same between the two systems. You can try making New 3DS-exclsuive levels by using the HARDWARE variable (0 on 3DS, 1 on New 3DS), although there's really no point to it.
    Posted Edited by HTV04
  • #111 ✎ 522 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Zelda Is Awesome! I love The Legend Of Zelda! Express Yourself Video Games I like to play video games! Hobbies
    I just decided to make XL worlds available for all 3DS systems.
    Wait, so were you trying to make 3DS XL-exclusive worlds for your game or something? They both have the same screen resolution, so all programs look and perform the same between the two systems. You can try making New 3DS-exclsuive levels by using the HARDWARE variable (0 on 3DS, 1 on New 3DS), although there's really no point to it.
    I know. That's why I made it not n3DS exclusive. Also, the game has awesome music, thanks to RWIIUG0129.
    Posted Edited by random_god
  • #112 ✎ 192 TheV360 Third Year My account is over 3 years old Website First Day Joined on the very first day of SmileBASIC Source Website Night Person I like the quiet night and sleep late. Express Yourself Unfortunately, my project may not be completed on time. I spent too much of my time trying to get a 2D camera working that I forgot to add... the game. Also, I have something more important that I need to work on: my grades. Sorry, and good luck to everyone else Posted
  • #113 ✎ 522 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Zelda Is Awesome! I love The Legend Of Zelda! Express Yourself Video Games I like to play video games! Hobbies
    Unfortunately, my project may not be completed on time. I spent too much of my time trying to get a 2D camera working that I forgot to add... the game. Also, I have something more important that I need to work on: my grades. Sorry, and good luck to everyone else
    Cool. Good luck!
    Posted
  • #114 ✎ 83 seggiepants Sorry, looks like I won't have time to work on anything this week. I wanted to make something, but I am pretty much already out of free time until next week. Posted
  • #115 ✎ 522 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Zelda Is Awesome! I love The Legend Of Zelda! Express Yourself Video Games I like to play video games! Hobbies
    Sorry, looks like I won't have time to work on anything this week. I wanted to make something, but I am pretty much already out of free time until next week.
    Ah... guess there won't be much entries :'(
    Posted
  • #116 ✎ 117 RGamesOffical Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Minecraft Is Awesome! I love Minecraft! Express Yourself Video Games I like to play video games! Hobbies I may not be able to participate this time... Posted
  • #117 ✎ 419 kenchic Avatar Taboo I didn't change my avatar for 180 days Website Third Year My account is over 3 years old Website osu! Is Awesome! I love osu! Express Yourself ^ Posted
  • #118 ✎ 219 ProKuku Avatar Taboo I didn't change my avatar for 180 days Website Final(?) Contest Runner Up I placed 2nd in the (possibly) final SmileBASIC Source Contest! October 2018 Programming Contest First Year My account is over 1 year old Website
    I may not be able to participate this time...
    Can’t say I’m surprised, with that sonic game concept. That’s just too much of a game for SB.
    ^
    Can’t say I’m surprised
    Posted
  • #119 ✎ 302 spaceturtles Video Games I like to play video games! Hobbies Avatar Block I didn't change my avatar for 30 days. Website Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength If I had started later and my motivation for completely coding an emulator stayed this month I'd have a 16 fake computer running an operating system uploaded as my entry but oh well Posted
  • #120 ✎ 522 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Zelda Is Awesome! I love The Legend Of Zelda! Express Yourself Video Games I like to play video games! Hobbies My game is looking sparkly and fresh and doesn't in any way look crusty. Please note that you shouldn't jump off of the side of worlds. We call that suicide. Posted
1 2 3 4 5 6 7 8 9 10 11