分享
分享赚钱 收藏 举报 版权申诉 / 34

类型海龟做图代码.doc

  • 上传人:weiwoduzun
  • 文档编号:5717633
  • 上传时间:2019-03-14
  • 格式:DOC
  • 页数:34
  • 大小:52.50KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    海龟做图代码.doc
    资源描述:

    1、#include “graphics.h“#include “math.h“#include “stdio.h“#include “conio.h“#include “bios.h“#include “dos.h“#include “io.h“char key_state128,key_pressed128;void interrupt far (*OldInt9Handler)();enum modes AUTO, HIGH;enum bool FALSE=0, TRUE=1;#define MODE enum modes#define BOOL enum bool#define K_ENT

    2、ER 0x1c#define K_DOWN 0x50#define K_UP 0x48#define K_SPACE 0x39#define K_ESC 0x01#define K_C 0x2e#define K_A 0x1e#define K_X 0x2d#define UP 0#define DOWN 1#define PI 3.1415#define MODE_KEY 0#define MODE_CMD 1#define MAX_CMD_NUM 15/*Instruction define*/#define EXIT 0#define CHM 1#define PU 2#define P

    3、D 3#define CHC 4#define CHHT 5#define ADTH 6#define FW 7#define BW 8#define CLR 9#define CHP 10enum hlpmsgALL_CMD, IN_ERROR, PU_OK, PD_OK, CHC_OK, CHP_OK, CHM_OK,FW_OK, BW_OK, CHHT_OK, ADTH_OK, CLR_OK, M_KEY, IN_COLOR,IN_POS, IN_HEAD, IN_STEPS;#define HLPMSG enum hlpmsgtypedef int penState;typedef s

    4、tructfloat v,h;aPoint;typedef structfloat heading;penState pen;int color;aPoint Pos;newTurtle;newTurtle turtle;char GMODE=MODE_CMD;char CmdWordsMAX_CMD_NUM4=E, X, I, T, C, H, M, ,P, U, , , P, D, , ,C, H, C, , C, H, H, T,A, D, T, H, F, W, , ,B, W, , , C, L, R, ,C, H, P, ,;char CmdTmp4;unsigned char N

    5、umTmp4;unsigned char NumTmp14;typedef struct nodeint color;int x1, x2, y1, y2;NODE;/*-*/*other functions*/void OpenSecCmdWnd()setcolor(2);rectangle(510, 250, 595, 275);while(bioskey(1)=0)setcolor(2);line(513, 270, 518, 270);setcolor(0);line(513, 270, 518, 270);window(66, 17, 66, 17);void CloseSecCmd

    6、Wnd()setfillstyle(SOLID_FILL, 0);bar(511, 250, 595, 275);int Cvt4CToInt(int i)if(i=0)return NumTmp0+NumTmp1*10+NumTmp2*100+NumTmp3*1000-53328;elsereturn NumTmp10+NumTmp11*10+NumTmp12*100+NumTmp13*1000-53328;int GetAn4BInterger()int i, j;union REGS regs;unsigned char t;regs.h.ah=0x07;IN_AGAIN:for(i=0

    7、;i57 | t0;j-)NumTmpj=NumTmpj-1;NumTmp0=t;printf(“%c“, t);while(bioskey(1)=0) ;if(bioskey(1)!=0x1c0d)bioskey(0);CloseSecCmdWnd();OpenSecCmdWnd();goto IN_AGAIN;OUT:return Cvt4CToInt(0);void StoreTwo4BInterger()int i, j;union REGS regs;unsigned char t;regs.h.ah=0x07;IN_AGAIN1:for(i=0;i57 | t0;j-)NumTmp

    8、j=NumTmpj-1;NumTmp0=t;printf(“%c“, t);while(bioskey(1)=0) ;if(bioskey(1)!=0x1c0d)int86(0x21, t=regs.h.al;if(t=44)printf(“%c“, t);goto OUT1;CloseSecCmdWnd();OpenSecCmdWnd();goto IN_AGAIN1;OUT1:for(i=0;i57 | t0;j-)NumTmp1j=NumTmp1j-1;NumTmp10=t;printf(“%c“, t);while(bioskey(1)=0) ;if(bioskey(1)!=0x1c0

    9、d)bioskey(0);CloseSecCmdWnd();OpenSecCmdWnd();goto IN_AGAIN1;OVER: ;void far interrupt NewInt9(void)unsigned char ScanCode,temp;ScanCode=inportb(0x60);temp=inportb(0x61);outportb(0x61,temp | 0x80);outportb(0x61,temp if(ScanCodekey_stateScanCode=0;elsekey_stateScanCode=1;key_pressedScanCode=1;outport

    10、b(0x20,0x20);void InstallKeyboard(void)int i;for(i=0;i425) newPos.h=65;if(newPos.h425) newPos.v=75;if(newPos.v425)if(turtle.pen=DOWN) sc=TRUE;p.h=65; turtle.pen=UP;if(p.h425)if(turtle.pen=DOWN) sc=TRUE;p.v=75; turtle.pen=UP;if(p.v360)while(turtle.heading360) turtle.heading-=360;if(turtle.heading0)wh

    11、ile(turtle.heading0) turtle.heading+=360;void TurnTTo(float angle)turtle.heading=angle;void SetTurtleColor(int color)turtle.color=color;main()int i, j, size;float t;FILE* fp;NODE n;aPoint p;BOOL quit=FALSE;HLPMSG hm=ALL_CMD;InitMyGraph(HIGH);StartTurtleGraphics();DisHelpMenu();StartTurtle();DisTStat

    12、e();RenovateTState();RenovateDArea();while(quit=FALSE)hm=ALL_CMD;HelpMsg(hm);GetACmd();if(GetKey1()=K_ENTER)i=DecideCmd();switch(i)case EXIT:ClearDrawing();quit=TRUE;break;case MAX_CMD_NUM:HelpMsg(IN_ERROR);sleep(1);break;case PU:PenUp();hm=PU_OK;break;case PD:PenDown();hm=PD_OK;break;case CHM:if(GM

    13、ODE=MODE_KEY) GMODE=MODE_CMD;else GMODE=MODE_KEY;for(i=0;i4;i+)CmdTmpi=0;window(60, 17, 60, 17);printf(“ “);HelpMsg(M_KEY);InstallKeyboard();while(1)RenovateDArea();RenovateTState();delay(1000);if(GetKey(K_ESC) break;if(GetKey(K_UP)Move(10);if(GetKey(K_DOWN)Move(-10);if(GetKey(K_SPACE)t=1.0;setcolor(0); DisTurtle();Turn(t);setcolor(2); DisTurtle();if(GetKey(K_A)

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:海龟做图代码.doc
    链接地址:https://www.docduoduo.com/p-5717633.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开