65,180
社区成员




#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
using namespace std;
void moveTortoise ( int , char * );
void moveHare ( int , char * );
int positionT = 0;
int positionH = 0;
const int size = 70;
char line[ size ];
int main()
{
int timer = 1;
for( int i = 0; i < size; i++)
line[ i ] = ' ';
srand (time(0));
while ( (positionT < 69) && (positionH < 69) )
{
cout << timer << ". " << endl;
int randNum = 1 + rand() % 10;
cout << "randNum= " << randNum << endl;
moveTortoise ( randNum, line );
moveHare ( randNum, line );
if ( positionT == positionH )
{
line[ positionT ] = 'O';
line[ positionT + 1 ] = 'U';
line[ positionT + 2 ] = 'C';
line[ positionT + 3 ] = 'H';
line[ positionT + 4 ] = '!';
line[ positionT + 5 ] = '!';
line[ positionT + 6 ] = '!';
}
cout << line << "\n" << endl;
timer++;
for( int i = 0; i < size; i++)
line[ i ] = ' ';
}
if( positionT >= 69 )
cout << "TORTOISE WINS!!! YAY!!!" << endl;
if ( positionH >= 69 )
cout << "Hare wins. Yuch." << endl;
system("pause");
}
void moveTortoise ( int ran, char *linePtr )
{
if ( ran <= 5 && ran >= 1 )
{
positionT =positionT + 3;
linePtr[positionT ] = 'T';
}
else if ( ran <= 7 && ran >= 6 )
{
positionT= positionT - 6;
if( positionT < 0 )
positionT = 0;
linePtr[positionT ] = 'T';
}
else if ( ran <= 10 && ran >= 8 )
{
positionT =positionT + 1;
linePtr[ positionT ] = 'T';
}
}
void moveHare ( int ran, char *linePtr )
{
if ( ran <= 2 && ran >= 1)
{
linePtr[ positionH ] = 'H';
}
else if ( ran <= 4 && ran >= 3 )
{
positionH = positionH + 9;
linePtr[ positionH ] = 'H';
}
else if ( ran == 5 )
{
positionH = positionH - 12;
if ( positionH < 0 )
positionH = 0;
linePtr[ positionH ] = 'H';
}
else if ( ran <= 8 && ran >= 6 )
{
positionH = positionH + 1;
linePtr[ positionH ] = 'H';
}
else if ( ran <= 10 && ran >= 9 )
{
positionH = positionH - 2;
if ( positionH < 0 )
positionH = 0;
linePtr[ positionH ] = 'H';
}
}
const int size = 70;
const int addsize =20;
char line[ addsize + size ];
while((positionT < size-1) && (positionH < size-1) )
{
...
if ( positionT == positionH )
{
memcpy(line,"OCH!!!",min(addsize,strlen("OCH!!!")));
//line[ positionT ] = 'O';
//line[ positionT + 1 ] = 'U';
//line[ positionT + 2 ] = 'C';
//line[ positionT + 3 ] = 'H';
//line[ positionT + 4 ] = '!';
//line[ positionT + 5 ] = '!';
//line[ positionT + 6 ] = '!';
}
....
}