C語言實現(xiàn)彈跳小球項目
本文實例為大家分享了C語言實現(xiàn)彈跳小球項的具體代碼,供大家參考,具體內容如下
一、項目描述和最終項目展示
項目描述: 使小球來回的跳動,跳動的路徑是一個 "V "字型
效果展示圖:
接下來讓我們一步步的來實現(xiàn)上圖效果。
二、輸出一個小球
一開始就達到最終的目的是有點難度的,所以我們一步步的來
先輸出一個靜態(tài)的小球
代碼如下:
#include<stdio.h> //靜止的小球 int main(void) { ?? ?int i,j; ?? ?for(i=0;i<6;i++) ?? ??? ?printf("\n"); ?? ?for(j=0;j<6;j++) ?? ??? ?printf(" "); ?? ?printf("①\n"); ?? ?return 0; }
效果圖如下:
接下來讓小球動起來
三、下落的小球
在上一步的基礎上 我們要實現(xiàn)一個動態(tài)下落的一個效果
代碼如下:
//下降的小球 #include<stdio.h> #include<windows.h> int main(void) { ?? ?int i,j; ?? ?int x,y; ?? ?int sum=0; ?? ?x=10; ?? ?y=10; ?? ?for(x=1;x<10;x++)//控制行數(shù),即下落的距離 ?? ?{ ?? ??? ?system("cls"); ?? ??? ?sum=0; ?? ??? ?for(i=0;i<x;i++)//輸出行數(shù) ?? ??? ?{ ?? ??? ??? ?printf("\n"); ?? ??? ??? ?sum++; ?? ??? ?} ?? ??? ?for(j=0;j<y;j++)//距離原點的橫著的距離 ?? ??? ?{ ?? ??? ??? ?printf(" "); ?? ??? ?} ?? ??? ?printf("①\n"); ?? ?} ?? ?return 0; }
效果圖如下:
四、來回彈跳的小球
代碼如下:
//上下彈跳的小球 #include<stdio.h> #include<stdlib.h> int main(void) { ?? ?int i,j; ?? ?int x=0; ?? ?int y=10; ?? ?int height=20;//最大高度 ?? ?int velocity=1;//你的加速度 ?? ?while(1) ?? ?{ ?? ??? ?x=x+velocity;//高度是越來越高 ?? ??? ?system("cls"); ?? ??? ?//輸出小球前的空行 ?? ??? ?for(i=0;i<x;i++) ?? ??? ?{ ?? ??? ??? ?printf("\n"); ?? ??? ?} ?? ??? ?for(j=0;j<y;j++) ?? ??? ?{ ?? ??? ??? ?printf(" "); ?? ??? ?} ?? ??? ?printf("①"); ?? ??? ?printf("\n"); ?? ??? ?if( x == height )//到底的時候,加速度變?yōu)樨摂?shù) ?? ??? ??? ?velocity = -velocity; ?? ??? ?if( x == 0 )//到頂?shù)臅r候,加速度變?yōu)檎龜?shù) ?? ??? ??? ?velocity = -velocity; ?? ?} }
效果圖如下:
五、最終項目實現(xiàn)
代碼如下:
#include<stdio.h> #include<stdlib.h> int main(void) { ?? ?int i,j; ?? ?int x=0; ?? ?int y=0; ?? ?int velocity_x=1;//x加速度 ?? ?int velocity_y=1;//y加速度 ?? ?int left=0;//左邊的邊 ?? ?int right=20;//右邊的邊 ?? ?int top=0;//頂部 ?? ?int bottom=10;//底部 ?? ?while(1) ?? ?{ ?? ??? ?x = x+velocity_x; ?? ??? ?y = y+velocity_y; ?? ??? ?system("cls"); ?? ??? ?for(i=0;i<x;i++) ?? ??? ?{ ?? ??? ??? ?printf("\n"); ?? ??? ?} ?? ??? ?for(j=0;j<y;j++) ?? ??? ?{ ?? ??? ??? ?printf(" "); ?? ??? ?} ?? ??? ?printf("①"); ?? ??? ?printf("\n"); ?? ??? ?if( (x==top) || (x==bottom) ) ?? ??? ??? ?//加速度正負的變化 ?? ??? ?{ ?? ??? ??? ?velocity_x=-velocity_x; ?? ??? ?} ?? ??? ?if( (y==left) || (y==right) ) ?? ??? ?{ ?? ??? ??? ?velocity_y=-velocity_y; ?? ??? ?} ?? ?} }
效果圖:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
解析C++的線性表鏈式存儲設計與相關的API實現(xiàn)
這篇文章主要介紹了解析C++中的線性表鏈式存儲設計與相關的API實現(xiàn),文中的實例很好地體現(xiàn)了如何創(chuàng)建和遍歷鏈表等基本操作,需要的朋友可以參考下2016-03-03C++ 使用PrintWindow實現(xiàn)窗口截圖功能
這篇文章主要介紹了C++ 如何使用PrintWindow實現(xiàn)窗口截圖功能,文中示例代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下2020-08-08C++使用Kruskal和Prim算法實現(xiàn)最小生成樹
這篇文章主要介紹了C++使用Kruskal和Prim算法實現(xiàn)最小生成樹,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01