这个程序可以生成一个随机位置(范围一定)可移动的字符
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string>
#include <iostream>
#include <time.h>
using namespace std;
template<typename T>
T RandT(T _min, T _max)
{
T temp;
if (_min > _max)
{
temp = _max;
_max = _min;
_min = temp;
}
return rand() / (double)RAND_MAX *(_max - _min) + _min;
}
int main()
{
char c;
int x,y,i,j;
srand((unsigned)time(NULL));
x=RandT<double>(1.0, 20.0);
y=RandT<double>(1.0, 20.0);
while(1)
{
if((c=getch())<0) c=getch();
switch(c)
{
case 72:
if(y>0) y=y-1;
break;
case 75:
if(x>0) x=x-1;
break;
case 77:
if(x<79) x=x+1;
break;
case 80:
if(y<24) y=y+1;
break;
default:
break;
}
system("cls");
for(j=0;j<y;j++)
printf("\n");
for(i=0;i<x;i++)
printf(" ");
printf("P");
//printf("%d,%d",x,y);
}
}