-#!/usr/bin/python2.3
+#!/usr/bin/python2
# Gnome-hextris; a free rewrite of the xhextris game in Python for Gnome
# Copyright 2004 Mikko Rauhala <mjr@iki.fi>
import os
import sys
-import pygtk
-pygtk.require("2.0")
-
-import gtk
-import gnome.canvas
-import gnome
-import gobject
-import gtk.glade
+from gi.repository import Gtk
+from gi.repository import GObject
import gettext
-import whrandom
+import random
class Hextris:
def __init__(self):
self.rowgroups.append(self.board.add("GnomeCanvasGroup", x = 0,
y = i * self.pieceheight))
- self.nextnum = whrandom.randint(0, 9)
+ self.nextnum = random.randint(0, 9)
self.next_piece()
if self.running == False:
- gobject.timeout_add(self.speed, self.timer_handler)
+ GObject.timeout_add(self.speed, self.timer_handler)
self.running = True
else:
self.speed_reset = True
return True
def on_about_activate(self, event):
- aTree = gtk.glade.XML(self.glade, "about")
+ aTree = self.builder.get_object("about")
about = aTree.get_widget("about")
about.set_property("name", "Ghextris")
about.set_property("version", VERSION)
return True
def on_quit_activate(self, event):
- gtk.main_quit()
+ Gtk.main_quit()
def main(self):
gnome.init("Ghextris", VERSION)
gettext.install("ghextris")
- self.glade = os.path.join(SHAREDIR, "ghextris.glade")
-
- wTree = gtk.glade.XML(self.glade, "GhextrisApp")
+ self.builder = Gtk.Builder()
+ self.builder.add_from_file(os.path.join(SHAREDIR, "ghextris.builder"))
+ wTree =self.builder.get_object("GhextrisApp")
dic = {"on_new_activate": self.on_new_activate,
"on_pause_game_activate": self.on_pause_game_activate,
"on_quit_activate": self.on_quit_activate,
win.connect("key-press-event", self.key_handler)
self.init_board()
- whrandom.seed()
+ random.seed()
self.update_appbar()
def next_piece(self):
self.piecenum = self.nextnum
- self.nextnum = whrandom.randint(0, 9)
+ self.nextnum = random.randint(0, 9)
self.attitude = 0
self.piece_x = (self.cols/2)-1 + self.deltax[self.piecenum]
self.piece_y = -3 + self.deltax[self.piecenum]
if self.speed_reset == True:
self.speed_reset = False
- gobject.timeout_add(int(self.speed), self.timer_handler)
+ GObject.timeout_add(int(self.speed), self.timer_handler)
return False
return True
if self.lost == True:
return False
- if event.keyval == gtk.keysyms.p and self.lost == False:
+ if event.keyval == Gdk.KEY_p and self.lost == False:
if self.paused == True:
self.paused = False
else:
if self.paused == True:
return False
- if event.keyval == gtk.keysyms.Up or event.keyval == gtk.keysyms.Down:
- if event.keyval == gtk.keysyms.Up:
+ if event.keyval == Gdk.KEY_Up or event.keyval == Gdk.KEY_Down:
+ if event.keyval == Gdk.KEY_Up:
attitude_change = 1
else:
attitude_change = -1
self.piece_x, self.piece_y);
return True
- if event.keyval == gtk.keysyms.Left or event.keyval == gtk.keysyms.Right:
- if event.keyval == gtk.keysyms.Left:
+ if event.keyval == Gdk.KEY_Left or event.keyval == Gdk.KEY_Right:
+ if event.keyval == Gdk.KEY_Left:
deltax = -1
else:
deltax = 1
self.piece.move(deltax*(self.piecewidth+self.piecenarrow)/2, deltay)
return True
- if event.keyval == gtk.keysyms.space:
+ if event.keyval == Gdk.KEY_space:
orig_piece_y = self.piece_y
while self.check_collisions() == False:
self.piece_y += 1
if __name__ == '__main__':
h = Hextris()
h.main()
- gtk.main()
+ Gtk.main()