2011年12月18日

键盘、游戏、ASCII码引出的一系列问题

摘要: 初学者就爱开发点小游戏,比如贪吃蛇、俄罗斯方块等,开发这种小游戏就必须有按键控制,一般情况下我们是直接用getch()函数接收按键,然后转换成对应的ASCII码,再通过与ASCII码比较判断用户到底是按了什么键,然后根据按键去执行相应的操作,比如移动、旋转。 但是最近实践我发现这其实没那么简单,举个例子:比如贪吃蛇,当用户按下“向上的方向键”时,要控制蛇往上走,为了说明问题,简化一点,如果按了向上的方向键则输出“up”,其他方向键类似。一般我们会去查ASCII码表(下面有),如图,向上的方向键是38,然后我们就会写出这么一个小程序:#include<stdio.h>#include 阅读全文

posted @ 2011-12-18 14:31 ma6174 阅读(4054) 评论(2) 推荐(2) 编辑

计算二重定积分

摘要: 计算二重定积分(1)建立一个函数文件fxy.m Function f=fxy(x,y) Global ki; Ki=ki+1; F=exp(-x.^2/2).^sin(x.^2+y); (2)调用dblquad函数求解 Global ki;ki=0; I=dblquad(‘fxy’,-2,2,-1,1) Ki 解得: I= 1.5745 Ki= 1038 阅读全文

posted @ 2011-12-18 10:13 ma6174 阅读(1393) 评论(0) 推荐(0) 编辑

绘制函数z = x2 + y2所表示的三维网格图

摘要: [X,Y] = meshgrid(-3:0.1:3); %定义要画的范围和间隔 Z=(X.*X+Y.*Y); mesh(X,Y,Z) 阅读全文

posted @ 2011-12-18 10:06 ma6174 阅读(2807) 评论(0) 推荐(0) 编辑

C++类模版------STL的原理

摘要: #include<iostream>usingnamespacestd;template<classT>classcompare{public:compare(Ta,Tb){x=a;y=b;}Tmax(){return(x>y)?x:y;}Tmin();private:Tx,y;};template<classT>Tcompare<T>::min(){return(x>y)?y:x;}intmain(){compare<int>cmp(3,7);cout<<cmp.max();compare<float& 阅读全文

posted @ 2011-12-18 09:41 ma6174 阅读(491) 评论(0) 推荐(0) 编辑

C++运算符重载

摘要: #include<iostream>usingnamespacestd;classcomplex{doublereal,imag;public:complex(doubler=0,doublei=0){real=r;imag=i;}complexoperator+(complex&c2);voiddisplay();};complexcomplex::operator+(complex&c2){complexc;c.real=real+c2.real;c.imag=imag+c2.imag;returnc;}voidcomplex::display(){cout&l 阅读全文

posted @ 2011-12-18 09:38 ma6174 阅读(247) 评论(0) 推荐(0) 编辑

导航