Difference between revisions of "Roguelike Tutorial, using python3+tld, part 1 code"
Jump to navigation
Jump to search
Hari Seldon (talk | contribs) (Reverted changes. Why is the reason to delete the content?) |
|||
Line 1: | Line 1: | ||
<center><table border="0" cellpadding="10" cellspacing="0" style="background:#F0E68C"><tr><td><center> | |||
This is part of a series of tutorials; the main page can be found [[Roguelike Tutorial, using python3+tdl|here]]. | |||
The tutorial uses tld version 1.5.3 and Python 3.5 | |||
</center></td></tr></table></center> | |||
== Showing the @ on screen == | |||
<div style="background-color: #EEEEEE; border-style: dotted"><syntaxhighlight lang="python"> | |||
#!/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() | |||
</syntaxhighlight></div> | |||
== Moving around == | |||
<div style="background-color: #EEEEEE; border-style: dotted"><syntaxhighlight lang="python"> | |||
#!/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 | |||
</syntaxhighlight></div> | |||
[[Category:Developing]] |
Latest revision as of 09:32, 4 December 2018
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