海龟画图原理类Pointer类

如本文章标有价格,需议价或其它事情商议请加微信pythonxia

以下是部分代码预览。

"""
  海龟画图原理类Pointer类,
  本程序提供Pointer类,它的移动方式和海龟一样,
  这个程序抽象出Python海龟画图最基本的原理以肆读者。
  
"""

__author__ = '李兴球'
__date__ = '2020/03/30'
__blog__ = 'www.lixingqiu.com'

import math

class Pointer:
    def __init__(self,pos=(0,0),angle=0):
        """
           初始化方法,pos:坐标,angle:角度
        """
        self._angle = angle        # 朝向,也就是和x轴的夹角angle
        self._pos = pos            # 初始坐标               
        
    def setheading(self,angle):
        """设置朝向"""
        self._angle = angle
        
    def heading(self):
        """返回朝向"""
        return self._angle
    
    def right(self,dangle):
        """右转dangle度"""
        self._angle -= dangle
        self.setheading(self._angle)

    def left(self,dangle):
        """左转dangle度"""
        self.right(-dangle)        

    def position(self):
        """返回坐标"""
        return self._pos
    
    def goto(self,x,y=None):
        """到某坐标"""
        if y == None:
            self._pos = x[0],x[1]
        else:
            self._pos = x,y
        
    以下代码省略......



def main():
   """主要执行函数"""
   n = 6
   pos = (100,100)
   angle = 0 
   t = Pointer(pos,angle)           # 实例化一个指针
   points = []                      # 收集坐标点的列表
   for _ in range(n):
       points.append(t.position())  # 把指针当前坐标加到列表
       t.forward(100)               # 指针前进100个单位
       t.left(360/n)                # 指针左转360/n度 
   print(points)
   # 下面新建海龟把每个坐标点都打印出来
   x = Turtle()
   x.penup()
   for p in points:
       x.goto(p)
       x.dot(10)
   x.screen.mainloop()

if __name__ == "__main__":
    
    from turtle import *
    main() 

下载完整源代码与素材,请扫码付款。

VIP免费查看

已有0人支付

本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 海龟画图原理类Pointer类
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页