Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #36735

Re: problem with exam task for college

Newsgroups comp.lang.python
Date 2013-01-13 05:57 -0800
References <6f3c7fdf-7439-43b1-b3a2-da9da019b1ec@googlegroups.com>
Message-ID <02d0ea1d-e810-4f30-8af1-320d675a2c65@googlegroups.com> (permalink)
Subject Re: problem with exam task for college
From jeltedeproft@hotmail.com

Show all headers | View raw


this is again a newer version, right now the velocity does in fact turn, but the view doesn't follow, it keeps the ship vertical.

i'm also having trouble letting the flame appear when pressing the "up" button

and when the ship rotates the horizontal velocity keeps getting bigger and bigger

i also have to make the game end when the ship hits the moon on the wrong place

i'm kinda stressed out because this has to be done by the 15th i've been studying like crazy the past week. If anyone could help me out i will deeply appreciate it, here is the code 


from visual import *
import time
import math
import random
from datetime import datetime
import operator 


class lunar_lander(object):
    def __init__(self):
        scene.title = 'mini star wars'
        scene.width = 375
        scene.height = 550
        scene.center = (0,0)
        self.pos = (0,0)
        self.axis = 0
        self.brandstofmeter = brandstofmeter()
        self.ruimteschip = ruimteschip()
        self.view = game_view(self)
        
        

    def play(self):
        t=0
        dt=0.01
        self.ruimteschip.updatemeter = False
        while t<999999999:
            time.sleep(0.01)
            self.ruimteschip.update(dt)
            t = t + dt
            if self.ruimteschip.updatemeter == True:
                self.brandstofmeter.update
                
                

            
            
class game_view(object):
    def __init__(self,owner):
        autoscale=True
        box(pos=( 0, -375, 0), length=500, height=5, width=0, color = color.white)
        box(pos=(0,375, 0), length=500, height=5, width=0, color = color.white)
        box(pos=(-250,0, 0), length=5, height=750, width=0, color = color.white)
        box(pos=(250,0, 0), length=5, height=750, width=0, color = color.white)
    
        maan = curve(pos=[(-250,-353),(-240,-341),(-210,-354),(-199.5,-374)],color=color.red)
        maana = curve(pos=[(-199.5,-374),(-166,-374)],color=color.green)
        maanb = curve(pos=[(-166,-374),(-140,-357),(-80,-319),(-40,-361),(0,-321),(40,-329),(80,-347)],color=color.red)
        maanc = curve(pos=[(80,-347),(140,-347)],color=color.green)
        maand = curve(pos=[(140,-347),(162,-337),(189.5,-365),(210,-355),(240,-372),(250,-338)],color=color.red)

        for i in random.sample(range (-250,250),20):
            for j in random.sample(range (-375,375),20):
                sterren = points(pos = [i,j,0],size = 2, color=color.white)



                
class brandstofmeter(object):
    def __init__(self):
        axis = 0
        self.pos = (210,345)
        self.length = 25
        self.height = 45
        self.meter = box(pos = self.pos, length = self.length, height = self.height,color = color.green)
    def update(self):
        self.height = self.height - 0.2
        print "ok"
        
                    
                    
        
class ruimteschip(object):
    def __init__(self):
        self.pos = vector(0,330)
        self.acceleration = vector(0,-20,0)
        self.axis = (1,0,0)
        self.hoek = (90*math.pi)/180
        self.graden = math.degrees(self.hoek)
        self.gas = vector(10 * cos(self.hoek),10 * sin (self.hoek))
        self.velocity = vector(0,0,0)
        self.angle = pi / 2
        self.updatemeter = False
        self.view = ruimteschip_view(self)
        self.vlam = self.view.vlam
        self.frame = self.view.frame
        self.zicht = brandstofmeter()
        
        

    def update(self,dt):
        self.velocity = self.velocity + (self.acceleration * dt)
        self.pos = self.pos + self.velocity * dt
        print self.velocity
        
        if scene.kb.keys:
            key = scene.kb.getkey()
            if key == "left":
                # linkerafwijking
                self.frame.axis -= (0, 0, 0.05)
                self.gas = vector(-sin(self.angle), cos(self.angle))
                self.vlam.visible = True
                self.updatemeter = True

            elif key == "right":
                # rechterafwijking
                self.frame.axis += (0, 0, 0.05)
                self.gas = vector(sin(self.angle), cos(self.angle))

            elif key == "up":
                self.velocity += self.gas
                self.frame.pos += self.velocity
        else:
            self.vlam.visible = False
            self.updatemeter = False
            self.velocity -= self.gas

        if self.pos.x > 250:
            self.pos.x = -250
        if self.pos.x < -250:
            self.pos.x = 250
        self.view.update(self)
             
        
                    
class ruimteschip_view(object):
    def __init__(self,owner):
        self.owner = owner
        self.frame = frame(pos = owner.pos,axis = owner.axis, velocity = owner.velocity)
        self.motor = curve(frame = self.frame,pos=[(0,24.0),(22.0,24.0),(22.0,39.0),(-22.0,39.0),(-22,24),(0,24)])
        self.capsule = curve(frame = self.frame,color = color.blue ,pos=[(0,39),(-3,39),(-9,44),(-12,46),(-18,48),(-22,50),(-18,52),(-12,54),(-9,56),(-3,61),(0,61),(3,59),(9,56),(12,54),(18,52),(22,50),(18,48),(12,46),(9,44),(3,39),(0,39)])
        self.poota = curve(frame = self.frame,pos = [(-18,24),(-20,24),(-20,0),(-18,0),(-18,24)])
        self.pootb = curve(frame = self.frame,pos = [(18,24),(20,24),(20,0),(18,0),(18,24)])
        self.vlam = curve(frame = self.frame,color = color.orange , visible=false,pos = [(0,24.0),(-9.0,14.0),(0,-5.0),(9,14.0),(0,24.0)])
        
    def update(self,owner):
        self.frame.axis = owner.axis  
        self.frame.pos = owner.pos
        self.frame.velocity = owner.velocity
        

                          

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

problem with exam task for college jeltedeproft@hotmail.com - 2013-01-04 10:23 -0800
  Re: problem with exam task for college Chris Angelico <rosuav@gmail.com> - 2013-01-05 05:59 +1100
  Re: problem with exam task for college Chris Angelico <rosuav@gmail.com> - 2013-01-05 06:00 +1100
  Re: problem with exam task for college MRAB <python@mrabarnett.plus.com> - 2013-01-04 19:17 +0000
  Re: problem with exam task for college Joshua Landau <joshua.landau.ws@gmail.com> - 2013-01-04 19:18 +0000
  Re: problem with exam task for college Chris Angelico <rosuav@gmail.com> - 2013-01-05 06:30 +1100
    Re: problem with exam task for college jeltedeproft@hotmail.com - 2013-01-04 12:01 -0800
      Re: problem with exam task for college Chris Angelico <rosuav@gmail.com> - 2013-01-05 07:36 +1100
      Re: problem with exam task for college Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-01-05 16:09 -0500
    Re: problem with exam task for college jeltedeproft@hotmail.com - 2013-01-04 12:01 -0800
  Re: problem with exam task for college Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-01-04 17:11 -0500
  Re: problem with exam task for college jeltedeproft@hotmail.com - 2013-01-05 04:24 -0800
    Re: problem with exam task for college Chris Angelico <rosuav@gmail.com> - 2013-01-05 23:39 +1100
  Re: problem with exam task for college jeltedeproft@hotmail.com - 2013-01-05 05:14 -0800
    Re: problem with exam task for college Chris Angelico <rosuav@gmail.com> - 2013-01-06 00:32 +1100
  Re: problem with exam task for college jeltedeproft@hotmail.com - 2013-01-07 08:22 -0800
    Re: problem with exam task for college Vincent Vande Vyvre <vincent.vandevyvre@swing.be> - 2013-01-07 18:40 +0100
    Re: problem with exam task for college Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-01-07 15:36 -0500
  Re: problem with exam task for college jeltedeproft_8@hotmail.com - 2013-01-13 04:29 -0800
  Re: problem with exam task for college jeltedeproft@hotmail.com - 2013-01-13 04:48 -0800
  Re: problem with exam task for college jeltedeproft@hotmail.com - 2013-01-13 05:57 -0800
    Re: problem with exam task for college Oscar Benjamin <oscar.j.benjamin@gmail.com> - 2013-01-13 17:28 +0000
  Re: problem with exam task for college stefaang@gmail.com - 2013-01-14 04:57 -0800
  Re: problem with exam task for college jeltedeproft@hotmail.com - 2013-01-14 08:01 -0800
    Re: problem with exam task for college Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2013-01-14 13:54 -0500

csiph-web