From 2ba6cf12eda44e257c3a4b5c28da02ca6707dd3c Mon Sep 17 00:00:00 2001 From: schneefux Date: Sun, 29 Jun 2014 15:23:38 +0200 Subject: initial commit --- ant.py | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 ant.py (limited to 'ant.py') diff --git a/ant.py b/ant.py new file mode 100644 index 0000000..7d8d050 --- /dev/null +++ b/ant.py @@ -0,0 +1,77 @@ +#!/usr/bin/python + +# +# 10th October 2013 +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +import pygame +from pygame.locals import * + +# init pygame +pygame.init() + +# the main game +def game_loop(): + # set properties + displaysize = (90, 90) + display = pygame.display.set_mode(displaysize) + + # get a pixel array + pxarr = pygame.PixelArray(display) + + display.fill((255, 255, 255)) + + # init the ant + antdir = 0 + antx = displaysize[0] // 2 + anty = displaysize[1] // 2 + + loop = True + + # start the main loop + while loop: + # check window events + for event in pygame.event.get(): + if event.type == QUIT: + loop = False + + # check if the ant is inside the window + if antx > 0 and anty > 0 and antx < displaysize[0] and anty < displaysize[1]: + # operate + if pxarr[antx][anty] == 0: + # if white, set black and turn right + pxarr[antx][anty] = (255, 255, 255) + antdir += 1 + if antdir == 4: + antdir = 0 + else: + # if black, set the pixel white and turn left + pxarr[antx][anty] = (0, 0, 0) + antdir -= 1 + if antdir == -1: + antdir = 3 + + # move the ant in its direction + if antdir % 2 == 0: + antx += antdir - 1 + else: + anty += antdir - 2 + + # update the display + pygame.display.update() + +if __name__ == '__main__': + game_loop() -- cgit v1.3.1