欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實現(xiàn)彈跳小球

 更新時間:2020年03月19日 15:03:26   作者:beamstar  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)彈跳小球,設置了小球分數(shù)及過關難度,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

這是一個簡單的c語言源代碼,C語言實現(xiàn)彈跳小球,設置了小球的分數(shù)及過關的難度。

#include "graphics.h"
#include "math.h"
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define ESC 0x011b
int x,y,x1,y1,key,t1,t2,keyx,keylong,keymove,over=0,i,tt=0,fast;
int ballx[9]={53,103,263,120,236,390,410,450,600};
int bally[9]={158,239,120,113,30,313,120,263,231},ballz[9]={0};
float ls;
 win()
{float lx,ly,ll;
 for(i=0;i<9;i++)
 {
 if(ballz[i]==1)/*假如球體已經(jīng)消失就不判定*/
 continue;
 lx=(float)(ballx[i]-x);
 ly=(float)bally[i]-y;
 ll=lx*lx+ly*ly;
 ls=sqrt(ll);
 if((int)ls<17)/*判定兩球是否碰到*/
 {tt++;/*記錄消失幾個球*/
 fast-=50;/*速度加快*/
 if(i%2==0)/*移動加快*/
 keymove+=5;
 else
 {
 setcolor(0);
 rectangle(keyx,460,keyx+keylong,470);
 keylong-=10;/*長條變短*/
 setcolor(YELLOW);
 rectangle(keyx,460,keyx+keylong,470);
 }
 ballz[i]=1;
 setcolor(0);
 circle(ballx[i],bally[i],10);
 if(y<bally[i])
 if(x<ballx[i])
 {t1=-1;t2=-1;}
 else
 {t1=1;t2=-1;}
 else
 if(x<ballx[i])
 {t1=-1;t2=1;}
 else
 {t1=1;t2=1;}
 }
 }
}
 fungo()
{ x=100,y=50,keyx=200,keylong=100,keymove=15,fast=5000;
 for(i=0;i<9;i++)
 {
 setcolor(i+1);
 circle(ballx[i],bally[i],10);
 }
 sleep(1);
 t1=t2=1;
 while(1)
 {
 while(!kbhit())
 {
 setcolor(YELLOW);
 rectangle(keyx,460,keyx+keylong,470);
 x1=x;
 y1=y;
 x+=t1;
 y+=t2;
 setcolor(4);
 circle(x,y,6);
 delay(fast);
 setcolor(0);
 circle(x,y,6);
 win();
 if(tt==9)/*勝利*/
 {
 cleardevice();
 over=1;
 setcolor(RED);
 settextstyle(0,0,4);
 setusercharsize(3,1,3,1);
 outtextxy(200,200," YOU WIN! ");
 break;
 }
 if(y>480)/*失敗*/
 {
 cleardevice();
 over=1;
 setcolor(RED);
 settextstyle(0,0,4);
 setusercharsize(3,1,3,1);
 outtextxy(200,200,"GAME OVER");
 break;
 }
 else if(x==11&&y==11)/*判定碰到東西*/
 {t1=1;t2=1;}
 else if(x==629&&y==11)
 {t1=-1;t2=1;}
 else if(x==11)
 {
 if(y<y1)
 {t1=1;t2=-1;}
 else
 {t1=1;t2=1;}
 }
 else if(y==11)
 {
 if(x<x1)
 {t1=-1;t2=1;}
 else
 {t1=1;t2=1;}
 }
 else if(x==629)
 {
 if(y1>y)
 {t1=-1;t2=-1;}
 else
 {t1=-1;t2=1;}
 }
 else if(y==449)
 {
 if(x>=keyx&&x<=keyx+keylong)
 {
  if(x<(keyx+keylong/4))
  {t1=-1;t2=-1;}
  else if(x>=(keyx+keylong/4)&&x<(keyx+keylong/2))
  {t1=-1;t2=-2;}
  else if(x>=(keyx+keylong/2)&&x<(keyx+keylong/4*3))
  {t1=1;t2=-2;}
  else
  {t1=1;t2=-1;}
 }
 }
 }
 if(over)
 break;
 key=bioskey(0);
 setcolor(0);
 rectangle(keyx,460,keyx+keylong,470);
 if(key==ESC)
 {cleardevice();break;}
 else if(key==LEFT)
 keyx-=keymove;
 else if(key==RIGHT)
 keyx+=keymove;
 }
} 


 main()
{int gd=DETECT,gr;
 initgraph(&gd,&gr,"c:\\tc");
 fungo();
 getch();
 sleep(1);
 closegraph();
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C語言 以字符形式讀寫文件詳解及示例代碼

    C語言 以字符形式讀寫文件詳解及示例代碼

    本文主要介紹C語言 以字符形式讀寫文件,這里整理了讀寫文件的一些資料并附示例代碼,供大家學習參考,有需要的小伙伴可以參考下
    2016-08-08
  • C++字符串類的封裝你真的了解嗎

    C++字符串類的封裝你真的了解嗎

    這篇文章主要為大家詳細介紹了C++字符串類的封裝,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C語言數(shù)據(jù)結(jié)構(gòu)之單鏈表的實現(xiàn)

    C語言數(shù)據(jù)結(jié)構(gòu)之單鏈表的實現(xiàn)

    鏈表是一種物理存儲結(jié)構(gòu)上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。本文將用C語言實現(xiàn)單鏈表,需要的可以參考一下
    2022-06-06
  • C++ 數(shù)據(jù)結(jié)構(gòu)二叉樹(前序/中序/后序遞歸、非遞歸遍歷)

    C++ 數(shù)據(jù)結(jié)構(gòu)二叉樹(前序/中序/后序遞歸、非遞歸遍歷)

    這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)二叉樹(前序/中序/后序遞歸、非遞歸遍歷)的相關資料,這里提供實例代碼來幫助大家理解掌握二叉樹,需要的朋友可以參考下
    2017-07-07
  • C++中constexpr與模板元編程的基礎、常見問題、易錯點及其規(guī)避策略

    C++中constexpr與模板元編程的基礎、常見問題、易錯點及其規(guī)避策略

    C++編譯時計算允許程序在編譯階段完成計算任務,constexpr與模板元編程是C編譯時計算的兩把利劍,它們不僅能夠提升程序的性能,還能增強代碼的健壯性和可維護性,通過避開本文闡述的易錯點,開發(fā)者可以更加得心應手地運用這些特性,編寫出既高效又優(yōu)雅的C代碼
    2024-06-06
  • 基于Matlab實現(xiàn)有雪花飄落的圣誕樹的繪制

    基于Matlab實現(xiàn)有雪花飄落的圣誕樹的繪制

    圣誕節(jié)快到了(雖然還有十天),一起來用MATLAB畫個簡單圣誕樹叭~代碼幾乎取消了全部的循環(huán),因此至少需要17b之后的版本,僅存的循環(huán)用來讓樹旋轉(zhuǎn)起來,讓雪花飄落起來,讓樹頂上的星光搖曳起來~感興趣的可以試一試
    2022-12-12
  • 微軟Detours Hook庫編譯與使用教程

    微軟Detours Hook庫編譯與使用教程

    Detours 是一個兼容多個Windows系列操作系統(tǒng)版本(包括 Windows XP 到 Windows 11)的工具庫,Detours 是微軟開發(fā)的一個強大的Windows API鉤子庫,用于監(jiān)視和攔截函數(shù)調(diào)用,這篇文章給大家介紹微軟Detours Hook庫編譯與使用,感興趣的朋友一起看看吧
    2024-08-08
  • C++模擬實現(xiàn)string的方法詳解

    C++模擬實現(xiàn)string的方法詳解

    標準庫類型string表示可變長的字符序列,使用string類型必須首先包含string的頭文件。本文將利用C++模擬實現(xiàn)string,需要的可以參考一下
    2022-11-11
  • 基于OpenCV讀取攝像頭實現(xiàn)單個人臉驗證MFC程序

    基于OpenCV讀取攝像頭實現(xiàn)單個人臉驗證MFC程序

    這篇文章主要為大家詳細介紹了基于OpenCV讀取攝像頭實現(xiàn)單個人臉驗證MFC程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 全面解析C++中的new,operator new與placement new

    全面解析C++中的new,operator new與placement new

    以下是C++中的new,operator new與placement new進行了詳細的說明介紹,需要的朋友可以過來參考下
    2013-09-09

最新評論