Difference between revisions of "Roguelike Tutorial, using python3+tld, part 1 code"

From RogueBasin
Jump to navigation Jump to search
(Blanked the page)
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]]

Revision as of 10:59, 13 November 2016