C語(yǔ)言實(shí)現(xiàn)彈跳小球項(xiàng)目
本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)彈跳小球項(xiàng)的具體代碼,供大家參考,具體內(nèi)容如下
一、項(xiàng)目描述和最終項(xiàng)目展示
項(xiàng)目描述: 使小球來回的跳動(dòng),跳動(dòng)的路徑是一個(gè) "V "字型
效果展示圖:

接下來讓我們一步步的來實(shí)現(xiàn)上圖效果。
二、輸出一個(gè)小球
一開始就達(dá)到最終的目的是有點(diǎn)難度的,所以我們一步步的來
先輸出一個(gè)靜態(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;
}效果圖如下:

接下來讓小球動(dòng)起來
三、下落的小球
在上一步的基礎(chǔ)上 我們要實(shí)現(xiàn)一個(gè)動(dòng)態(tài)下落的一個(gè)效果
代碼如下:
//下降的小球
#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++)//距離原點(diǎn)的橫著的距離
?? ??? ?{
?? ??? ??? ?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 )//到底的時(shí)候,加速度變?yōu)樨?fù)數(shù)
?? ??? ??? ?velocity = -velocity;
?? ??? ?if( x == 0 )//到頂?shù)臅r(shí)候,加速度變?yōu)檎龜?shù)
?? ??? ??? ?velocity = -velocity;
?? ?}
}效果圖如下:

五、最終項(xiàng)目實(shí)現(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) )
?? ??? ??? ?//加速度正負(fù)的變化
?? ??? ?{
?? ??? ??? ?velocity_x=-velocity_x;
?? ??? ?}
?? ??? ?if( (y==left) || (y==right) )
?? ??? ?{
?? ??? ??? ?velocity_y=-velocity_y;
?? ??? ?}
?? ?}
}效果圖:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C語(yǔ)言用函數(shù)實(shí)現(xiàn)反彈球消磚塊
- C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單反彈球消磚塊游戲
- C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單彈跳小球
- C語(yǔ)言實(shí)現(xiàn)反彈球消磚塊游戲
- C語(yǔ)言實(shí)現(xiàn)反彈球游戲
- C語(yǔ)言實(shí)現(xiàn)彈跳小球
- C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單彈跳球游戲
- C語(yǔ)言實(shí)現(xiàn)反彈球小游戲
- C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單彈球游戲
- C語(yǔ)言實(shí)現(xiàn)彈跳小球動(dòng)畫
相關(guān)文章
關(guān)于C++靜態(tài)成員函數(shù)訪問非靜態(tài)成員變量的問題
靜態(tài)成員函數(shù)不能訪問非靜態(tài)成員,這是因?yàn)殪o態(tài)函數(shù)屬于類而不是屬于整個(gè)對(duì)象,靜態(tài)函數(shù)中的 member可能都沒有分配內(nèi)存。靜態(tài)成員函數(shù)沒有隱含的this自變量。所以,它就無法訪問自己類的非靜態(tài)成員2013-10-10
C++Node類Cartographer開始軌跡的處理深度詳解
這篇文章主要介紹了C++Node類Cartographer開始軌跡的處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-03-03
用C# 實(shí)現(xiàn)鼠標(biāo)框選效果的實(shí)現(xiàn)代碼
本篇文章是對(duì)用C#實(shí)現(xiàn)鼠標(biāo)框選效果的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
C語(yǔ)言實(shí)現(xiàn)堆的簡(jiǎn)單操作的示例代碼
堆(heap)是計(jì)算機(jī)科學(xué)中一類特殊的數(shù)據(jù)結(jié)構(gòu)的統(tǒng)稱。堆通常是一個(gè)可以被看做一棵樹的數(shù)組對(duì)象。本文介紹了C語(yǔ)言中堆的一些簡(jiǎn)單操作,需要的可以參考一下2022-11-11
一文讓你不再害怕指針之C指針詳解(經(jīng)典,非常詳細(xì))
這篇文章主要給大家介紹了C指針的相關(guān)資料,文中介紹的很經(jīng)典,非常詳細(xì),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C指針具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
C語(yǔ)言如何在字符數(shù)組中插入一個(gè)字符
這篇文章主要介紹了C語(yǔ)言如何在字符數(shù)組中插入一個(gè)字符,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06

