Roguelike Tutorial, using python3+tld, part 1 code
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This is part of a series of tutorials; the main page can be found here. The tutorial uses tld version 1.5.3 and Python 3.5 |
Showing the @ on screen
#!/usr/bin/env python3
import tdl
#actual size of the window
SCREEN_WIDTH = 80
SCREEN_HEIGHT = 65
LIMIT_FPS = 20 #20 frames-per-second maximum
tdl.set_font('arial10x10.png', greyscale=True, altLayout=True)
console = tdl.init(SCREEN_WIDTH, SCREEN_HEIGHT, title="Roguelike", fullscreen=False)
tdl.setFPS(LIMIT_FPS)
while not tdl.event.is_window_closed():
console.draw_char(1, 1, '@', bg=None, fg=(255,255,255))
tdl.flush()
Moving around
#!/usr/bin/env python3
import tdl
#actual size of the window
SCREEN_WIDTH = 80
SCREEN_HEIGHT = 65
LIMIT_FPS = 20 #20 frames-per-second maximum
def handle_keys():
global playerx, playery
'''
#realtime
keypress = False
for event in tdl.event.get():
if event.type == 'KEYDOWN':
user_input = event
keypress = True
if not keypress:
return
'''
#turn-based
user_input = tdl.event.key_wait()
if user_input.key == 'ENTER' and user_input.alt:
#Alt+Enter: toggle fullscreen
tdl.set_fullscreen(True)
elif user_input.key == 'ESCAPE':
return True #exit game
#movement keys
if user_input.key == 'UP':
playery -= 1
elif user_input.key == 'DOWN':
playery += 1
elif user_input.key == 'LEFT':
playerx -= 1
elif user_input.key == 'RIGHT':
playerx += 1
#############################################
# Initialization & Main Loop #
#############################################
tdl.set_font('arial10x10.png', greyscale=True, altLayout=True)
console = tdl.init(SCREEN_WIDTH, SCREEN_HEIGHT, title="Roguelike", fullscreen=False)
tdl.setFPS(LIMIT_FPS)
playerx = SCREEN_WIDTH//2
playery = SCREEN_HEIGHT//2
while not tdl.event.is_window_closed():
console.draw_char(playerx, playery, '@', bg=None, fg=(255,255,255))
tdl.flush()
console.draw_char(playerx, playery, ' ', bg=None)
#handle keys and exit game if needed
exit_game = handle_keys()
if exit_game:
break