제4차 실험 보고서

2565 단어
2019 프로그램 설계 보고서 프로젝트 이름: 튕기는 작은 공 실험 프로젝트 기능 설명: 작은 공과 패널을 보여줍니다. 작은 공은 지정된 속도에 따라 궤적 운동을 합니다. 패널에 부딪힌 후에 작은 공이 튕기고 원래의 속도로 운동을 계속합니다. 떨어질 때까지 게임이 멈춥니다!랩 코드: #include

include


include


include


define High 15


define Width 20


//게임 화면 크기
int ball_x,ball_y; int ball_vx,ball_vy; int position_x,position_y; int ridus; int left,right; int canvas[High][Width] = {0};//0은 공백, 1은 작은 공, 2는 베젤*
void gotoxy(int x,int y) { HANDLE handle = GetStdHandle(std_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle,pos); }
void startup() { ball_x = 0; ball_y = Width/2; ball_vx = 1; ball_vy = 1; canvas[ball_x][ball_y] = 1;
ridus = 5;
position_x = High - 1;
position_y = Width/2;
left = position_y - ridus;
 right = position_y + ridus;
 
 int k;
 for(k=left;k<=right;k++)
 canvas[position_x][k] = 2; 

}
void show() { gotoxy(0,0); int i,j; for(i==0;i { for(j=0;j { if(canvas[i][j]==0) printf(""); else if(canvas[i][j]==1) printf("0"); else if(canvas[i][j]==2) printf("*"); } printf("|"); } for(j=0;j printf("-"); }
void updateWithoutInput() { if(ball_x==High-2) { if((ball_y>=left)&&(ball_y<=right)) { printf(""); system("pause"); exit(0); } }
 canvas[ball_x][ball_y] = 0;
 
 ball_x = ball_x + ball_vx;
 ball_y = ball_y + ball_vy;
 
 if((ball_x==0)||(ball_x==High-2))
   ball_vx = -ball_vx;
 if((ball_y==0)||(ball_y==Width-1))
   ball_vy = -ball_vy;  
   
 canvas[ball_x][ball_y] = 1;  
 Sleep(150);

}
void updateWithInput() { char input; if(kbhit()) { input = getch(); if(input == 'a'&&left>0) { canvas[position_x][right] = 0; position_y--; left = position_y - ridus; right = position_y + ridus; canvas[position_x][left] = 2; } if(input == 'd'&&right < Width - 1) { canvas[position_x][left] = 0; position_y++; left = position_y - ridus; right = position_y + ridus; canvas[position_x][right] = 2; } } }
int main() { startup(); while(1) { show(); updateWithoutInput(); updateWithInput(); } return 0; } 모듈 설명:
실현 인터페이스
코드 관리형 링크:https://gitee.com/website_jianing/wen/commit/120440fb3d2dac785e5323abf190626c3405d1ea
실험 총결산: 본 문제는 사실 비행기 게임과 유사한 것이 많다. 처음에 인터페이스에 작은 공이 튕기지 않았는데 나중에 부딪힌 후에 작은 공을 운동시키지 않았다는 것을 발견했다. 다른 문제는 크지 않다. 책에 따라 치면 문제가 크지 않다. 더 열심히 하자!하하

좋은 웹페이지 즐겨찾기