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

Sign In

Register
*Usernames are case-sensitive
Forgot my password

📣 🔒 Spooky Scary Programming Contest 2018

1 2 3 4 5 6 7 8 9 10 11
  • #101 ✎ 751 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! 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
  • #102 ✎ 153 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
  • #103 ✎ 655 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
  • #104 ✎ 333 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
  • #105 ✎ 1013 Yttria SIM.3D is fine, porting is more or less "original code" so you're fine. Posted
  • #106 ✎ 751 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! 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
  • #107 ✎ 333 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 Second Year My account is over 2 years old Website
    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
  • #108 ✎ 751 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! 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
  • #109 ✎ 226 TheV360 Pokemon Is Awesome! I love Pokemon! Express Yourself 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
  • #110 ✎ 751 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! 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
  • #111 ✎ 153 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
  • #112 ✎ 751 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! 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
  • #113 ✎ 141 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
  • #114 ✎ 475 auceps ^ Posted
  • #115 ✎ 295 ProKuku QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! Night Person I like the quiet night and sleep late. Express Yourself Pokemon Is Awesome! I love Pokemon! Express Yourself
    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
  • #116 ✎ 333 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
  • #117 ✎ 751 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! 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
  • #118 ✎ 175 MochaProbably Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Night Person I like the quiet night and sleep late. Express Yourself Drawing I like to draw! Hobbies Why did the week i was going to actually implement the game part of my game since i finished the main mechanic of it have to be the week where i literally have 4 or 5 school projects due ahhhG Posted
  • #119 ✎ 751 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! Video Games I like to play video games! Hobbies
    Why did the week i was going to actually implement the game part of my game since i finished the main mechanic of it have to be the week where i literally have 4 or 5 school projects due ahhhG
    Just do them before that week. Or is that this week? (duh) Or were they assigned the same week? I have to write a 7 page legal brief for history, but that's not due until December.
    Posted Edited by random_god
  • #120 ✎ 295 ProKuku QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! Night Person I like the quiet night and sleep late. Express Yourself Pokemon Is Awesome! I love Pokemon! Express Yourself What would happen if there were only 3 or 4 entries, or even just 2? There’s not looking to be very many by the 27th. Posted
1 2 3 4 5 6 7 8 9 10 11