海龟做图代码.doc

上传人:hw****26 文档编号:3888435 上传时间:2019-08-17 格式:DOC 页数:34 大小:52.50KB
下载 相关 举报
海龟做图代码.doc_第1页
第1页 / 共34页
海龟做图代码.doc_第2页
第2页 / 共34页
海龟做图代码.doc_第3页
第3页 / 共34页
海龟做图代码.doc_第4页
第4页 / 共34页
海龟做图代码.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

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;i128;i+)key_statei=key_pressedi=0;OldInt9Handler=getvect(9);setvect(9,NewInt9);void ShutDownKeyboard(void)setvect(9,OldInt9Handler);int GetKey(int ScanCode)int res;res=key_stateScanCode|key_pressedScanCode;key_pressedScanCode=0;return res;void Ini

11、tMyGraph(MODE m)int graphdriver, graphmode;if(m=AUTO)graphdriver=DETECT;else if(m=HIGH)graphdriver=VGA;graphmode=VGAHI;elseprintf(“Wrong prameter of “init_mygraph();“);return ;/*registerbgidriver(EGAVGA_driver);*/initgraph(;int GetKey1()union REGS rg;rg.h.ah=0;int86(0x16, return rg.h.ah;void InputNote()while(bioskey(1)=0)setcolor(9);line(467, 270, 472, 270);setcolor(0);line(467, 270, 472, 270);void GetACmd()int i, j;window(60, 17, 60, 17);InputNote();for(i=0;i4;i+)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲资料库 > 生活指南

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。