效果:
代码:
#include <stdio.h>
#include <windows.h>
const int WIDTH = 40 ;
const int HEIGHT = 20 ;
void displayArrayWall ( int arrayWall[ ] [ WIDTH] , int height) {
for ( int i = 0 ; i < HEIGHT; i++ ) {
for ( int j = 0 ; j < WIDTH; j++ ) {
if ( arrayWall[ i] [ j] == - 1 ) {
printf ( "#" ) ;
}
else if ( arrayWall[ i] [ j] == 0 ) {
printf ( " " ) ;
}
else if ( arrayWall[ i] [ j] == 1 ) {
printf ( "O" ) ;
}
}
printf ( "\n" ) ;
}
}
void initArrayWall ( int arrayWall[ ] [ WIDTH] , int height) {
for ( int i = 0 ; i < HEIGHT; i++ ) {
for ( int j = 0 ; j < WIDTH; j++ ) {
if ( i == 0 || j == 0 || i == HEIGHT - 1 || j == WIDTH - 1 ) {
arrayWall[ i] [ j] = - 1 ;
}
else {
arrayWall[ i] [ j] = 0 ;
}
}
}
}
int main ( )
{
int arrayWall[ HEIGHT] [ WIDTH] ;
initArrayWall ( arrayWall, HEIGHT) ;
int h = 15 ;
int w = 20 ;
int vh = 1 ;
int vw = 1 ;
while ( 1 ) {
system ( "cls" ) ;
if ( h <= 1 || h >= HEIGHT - 2 ) {
vh = - vh;
}
if ( w <= 1 || w >= WIDTH - 2 ) {
vw = - vw;
}
arrayWall[ h] [ w] = 0 ;
h + = vh;
w + = vw;
arrayWall[ h] [ w] = 1 ;
displayArrayWall ( arrayWall, HEIGHT) ;
Sleep ( 100 ) ;
}
return 0 ;
}