C++编程 ,定义交通类,实现简单的汽车移动
来源:互联网 发布:交换机telnet端口 编辑:程序博客网 时间:2024/04/27 14:16
#include <iostream>#include <Windows.h>#include <conio.h>using namespace std ;class Vehicle //交通工具类Vehicle{public : Vehicle(){x = 0 ; y = 0 ; } //无参构造函数 Vehicle(int x,int y):x(x),y(y) {} //含参构造函数 void Move(int newX,int newY) ; void show() ; int GetX(){return x ;} int GetY(){return y ;}private : int x ; int y ;} ;Vehicle car(0,0) ; //定义全局对象car,初始坐标在原点void Vehicle::Move(int newX,int newY) //全局函数 Move ,移动光标到指定坐标 ,同时更新成员变量x ,y{ //判断x轴坐标是否合理 if(newX>=71) newX = 71 ; else if(newX<=0) newX = 0 ; //判断y轴坐标是否合理 if(newY>=299) newY = 299 ; else if(newY<=0) newY = 0 ; //移动光标到指定坐标 CONSOLE_SCREEN_BUFFER_INFO csbiInfo; HANDLE hConsoleOut; hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo); csbiInfo.dwCursorPosition.X = newX; csbiInfo.dwCursorPosition.Y = newY; x = newX ; //同时更新成员变量x y = newY ; //同时更新成员变量y SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition); }void Vehicle::show() //显示输出:表示汽车的五角星{ //显示符号,直观地看到在屏幕中的位置 //切换颜色,使得输出的界面比较和谐 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |FOREGROUND_INTENSITY | BACKGROUND_RED|FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); cout<<"☆" ; //输出符号 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),BACKGROUND_INTENSITY |FOREGROUND_INTENSITY | FOREGROUND_RED|BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE); cout<<"("<<car.GetX()<<","<<car.GetY()<<")" ; //输出当前位置的坐标信息 //切换颜色,换回去 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);}//主函数部分代码int main(){ //输出提示信息 MessageBox( NULL,(LPCWSTR)L"通过方向键可以移动五角星(代表交通工具)。当五角星在坐标轴中移动时,其后的括弧中会显示当前五角星的坐标信息 !", (LPCWSTR)L"温馨提示 !", MB_OK) ; unsigned char Key ; //储存捕获的键 car.show() ; while(1) { Key = getch() ; //捕获键位 if(Key==224) //如果是否是方向键中的一个 { Key = getch() ; //继续判断具体是哪个方向键 switch(Key) { case 72 : //up system("cls") ; car.Move(car.GetX(),car.GetY()-1) ; car.show() ; break ; case 80 : //down system("cls") ; car.Move(car.GetX(),car.GetY()+1) ; car.show() ; break ; case 75 : //left system("cls") ; car.Move(car.GetX()-1,car.GetY()) ; car.show() ; break ; case 77 : //right system("cls") ; car.Move(car.GetX()+1,car.GetY()) ; car.show() ; break ; default : system("cls") ; car.Move(car.GetX(),car.GetY()) ; car.show() ; break ; } } } return 0 ;}
0 0
- C++编程 ,定义交通类,实现简单的汽车移动
- Objective-C 编程语言(3) 定义类--- 类的实现
- Object-C编程:类定义与实现
- 汽车租赁系统的简单实现
- 自动驾驶汽车 实现实时交通信号灯检测和分类
- C实现部分面向对象的简单宏定义
- 商业研究(8):汽车交通
- Object C 类的定义和实现
- Objective-C类的定义和实现
- 交通模拟系统 (看到网上的题目自己用简单的方法实现了一下)
- 移动端车牌识别实现交通自动化管理
- 最简单的单片机交通信号灯
- VisionMobile:2016年IoT大趋势(笔记)(四)从联网汽车到软件定义交通
- C实现字符串的移动
- unity3D简单的汽车游戏
- Objective-C 编程语言(3) 定义类---分配并初始化对象,init方法的返回值,初始化方法的实现
- Objective-C 编程语言(3) 定义类---分配并初始化对象,init方法的返回值,初始化方法的实现
- 汽车的移动互联网应用臆想
- 限定不同随机数存数组
- 关机小程序
- C语言宏替换
- 十进制数转换为二进制
- EOF
- C++编程 ,定义交通类,实现简单的汽车移动
- ubuntu密码破解
- ubuntu解压缩命令
- ubuntu系统的ftp文件传输工具
- ubuntu安装搜狗输入法
- ubuntu 14.04 卸载IBus输入法框架
- grub命令行引导系统
- 安装grub2,修复ubuntu引导
- ubuntu11.04版的grub2的两个说明