Hello!
Ive recently tried setting up python/libtcod on one of my Ubuntu machines. It will run the samples.py file fine, good FPS and all. But for some reason when I set up from the first part of the tutorial, it won't run it at all. No error messages or anything, just nothing happens. I went into properties and checked the 'execute as program' box like I had to do with the samples file, but to no avail. Anyone know why this is?
My project folder looks like this;
- arial10x10.png
- FirstRL.py
- libSDL.so
- libtcod.so
- libtcodpy.py
and FirstRL.py looks like this;
import libtcodpy as libtcod
#actual size of the window
SCREEN_WIDTH = 80
SCREEN_HEIGHT = 50
LIMIT_FPS = 20 #20 frames-per-second maximum
libtcod.console_set_custom_font('arial10x10.png', libtcod.FONT_TYPE_GREYSCALE | libtcod.FONT_LAYOUT_TCOD)
libtcod.console_init_root(SCREEN_WIDTH, SCREEN_HEIGHT, 'FirstRL', False)
libtcod.sys_set_fps(LIMIT_FPS)
Hello!
Ive recently tried setting up python/libtcod on one of my Ubuntu machines. It will run the samples.py file fine, good FPS and all. But for some reason when I set up from the first part of the tutorial, it won't run it at all. No error messages or anything, just nothing happens. I went into properties and checked the 'execute as program' box like I had to do with the samples file, but to no avail. Anyone know why this is?
My project folder looks like this;
- arial10x10.png
- FirstRL.py
- libSDL.so
- libtcod.so
- libtcodpy.py
and FirstRL.py looks like this;
[code]import libtcodpy as libtcod
#actual size of the window
SCREEN_WIDTH = 80
SCREEN_HEIGHT = 50
LIMIT_FPS = 20 #20 frames-per-second maximum
def handle_keys():
global playerx, playery
#key = libtcod.console_check_for_keypress() #real-time
key = libtcod.console_wait_for_keypress(True) #turn-based
if key.vk == libtcod.KEY_ENTER and key.lalt:
#Alt+Enter: toggle fullscreen
libtcod.console_set_fullscreen(not libtcod.console_is_fullscreen())
elif key.vk == libtcod.KEY_ESCAPE:
return True #exit game
#movement keys
if libtcod.console_is_key_pressed(libtcod.KEY_UP):
playery -= 1
elif libtcod.console_is_key_pressed(libtcod.KEY_DOWN):
playery += 1
elif libtcod.console_is_key_pressed(libtcod.KEY_LEFT):
playerx -= 1
elif libtcod.console_is_key_pressed(libtcod.KEY_RIGHT):
playerx += 1
#############################################
# Initialization & Main Loop
#############################################
libtcod.console_set_custom_font('arial10x10.png', libtcod.FONT_TYPE_GREYSCALE | libtcod.FONT_LAYOUT_TCOD)
libtcod.console_init_root(SCREEN_WIDTH, SCREEN_HEIGHT, 'python/libtcod tutorial', False)
libtcod.sys_set_fps(LIMIT_FPS)
playerx = SCREEN_WIDTH/2
playery = SCREEN_HEIGHT/2
while not libtcod.console_is_window_closed():
libtcod.console_set_default_foreground(0, libtcod.white)
libtcod.console_put_char(0, playerx, playery, '@', libtcod.BKGND_NONE)
libtcod.console_flush()
libtcod.console_put_char(0, playerx, playery, ' ', libtcod.BKGND_NONE)
#handle keys and exit game if needed
exit = handle_keys()
if exit:
break
edit ::
I updated the source, and found some new info. If I run the script from the terminal, I get this error.
Traceback (most recent call last):
File "/home/***/Documents/Python/projects/FirstRL/FirstRL.py", line 1, in <module>
import libtcodpy as libtcod
File "/home/***/Documents/Python/projects/FirstRL/libtcodpy.py", line 47, in <module>
_lib = ctypes.cdll['./libtcod.so']
File "/usr/lib/python2.7/ctypes/__init__.py", line 428, in __getitem__
return getattr(self, name)
File "/usr/lib/python2.7/ctypes/__init__.py", line 423, in __getattr__
dll = self._dlltype(name)
File "/usr/lib/python2.7/ctypes/__init__.py", line 353, in __init__
self._handle = _dlopen(self._name, mode)
OSError: ./libtcod.so: cannot open shared object file: No such file or directory
..even though libtcod.so is in the same folder.
Another very strange thing. I copied the FirstRL.py file and the font file into the Libtcod-1.5.1 folder, and ran it from the terminal. It produced the same error. However the sample in that same folder runs fine, even if its not launched from the terminal.