91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用C++實現簡易的彈球小游戲

發布時間:2021-10-11 09:20:17 來源:億速云 閱讀:173 作者:iii 欄目:開發技術

本篇內容主要講解“如何用C++實現簡易的彈球小游戲”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何用C++實現簡易的彈球小游戲”吧!

操作說明:鍵盤A和D鍵控制左右移動,讓球不要落下。

#include <graphics.h>
#include <conio.h>
#include <time.h>
int i;
int xx=0;
int yy = 0;
class Ball
{
public:
 int x, y;
 clock_t b;
 void draw()
 {
  setfillcolor(RGB(200, 399, 100));
  fillcircle(x, y, 10);
 }
 void null()
 {
  setfillcolor(0);
  setlinecolor(0);
  fillcircle(x, y, 10);
 
 }
};
 
class Board
{
public:
 int x, y;
 void draw()
 {
  setlinecolor(RGB(100, 209, 150));
  setfillcolor(RGB(200, 399, 100));
  fillrectangle(x, y, x+60,y+10);
 
 }
 void null()
 {
  setfillcolor(0);
  setlinecolor(0);
  fillrectangle(x, y, x + 60, y + 10);
 
 }
 
};
 
 
void wall()
{
 setlinecolor(RGB(300, 109, 650));
 setfillcolor(RGB(200, 409, 300));
 POINT pts[] = { {1, 1}, {1, 350}, {10,350 }, {10,10 }, {600, 10}, {600, 350}, {610,350}, {610,1 } };
 fillpolygon(pts, 8);
}
 
 
int main()
{
 
 // 初始化圖形窗口
 initgraph(640, 480,4);
 wall();
 Board board;
 board.x = 200;
 board.y = 400;
 Ball ball;
 clock_t f = clock();
 clock_t d = clock();
 
 while (1)
 {
  int i=3 ;
  if (GetAsyncKeyState('A') & 0x8000)//木板移動
  {
   if (board.x > 2 && (clock() - d) >= 10)
   {
    board.null(); board.x -= 3; board.draw(); d = clock();
   }
  }
  if (GetAsyncKeyState('a') & 0x8000)//木板移動
  {
   if (board.x > 2 && (clock() - d) >= 10)
   {
    board.null(); board.x -= 3; board.draw(); d = clock();
   }
  }
 
  if (GetAsyncKeyState('D') & 0x8000)//木板移動
  {
   if (board.x < 600 && (clock() - d) >= 10)
   {
    board.null(); board.x += 3; board.draw(); d = clock();
   }
  }
  if (GetAsyncKeyState('d') & 0x8000)//木板移動
  {
   if (board.x <600 && (clock() - d) >= 10)
   {
    board.null(); board.x += 3; board.draw(); d = clock();
   }
  }
 
  if (GetAsyncKeyState('K') & 0x8000)//發球
  {
    if  (yy==0&&xx==0&&(clock() - f) >= 10)
    {
     yy = 1;
     xx = 1;
     ball.x = board.x + 50;
     ball.y = board.y - 21;
     ball.draw();
     f = clock();
    }
  }
  if (GetAsyncKeyState('k') & 0x8000)//發球
  {
    if (yy==0&&xx==0&& (clock() - f) >= 10)
    {
     yy = 1;
     xx = 1;
     ball.x = board.x + 50;
     ball.y = board.y - 21;
     ball.draw();
     f = clock();
    }
  }
 
   //球的彈射//
  if (yy==1&&xx==1&&clock()-ball.b>5)
  {
   ball.null();
   ball.x -= 2;
   ball.y -= 2;
   ball.draw();
   ball.b = clock();
   if (ball.y <= 21)
   {
    ball.y = 21;
    ball.null();
    xx = 4;
   }
   
   if (ball.x <= 24)
   {
    ball.x = 24;
    ball.null();
    xx = 2;
   }
   
  }
 
 
  if (yy==1&&xx == 2 && clock() - ball.b > 5)
  {
   ball.null();
   ball.x += 2;
   ball.y -= 2;
   ball.draw();
   ball.b = clock();
   if (ball.y <= 21)
   {
    ball.y = 21;
    ball.null();
    xx = 3;
   }
   if (ball.x >= 580)
   {
    ball.x = 580;
    ball.null();
    xx = 1;
   }
   
  }
  if (yy==1&&xx == 3 && clock() - ball.b > 5)
  {
   ball.null();
   ball.x += 2;
   ball.y += 2;
   ball.draw();
   ball.b = clock();
   
   if (ball.x >= 580)
   {
    ball.x = 580;
    ball.null();
    xx = 4;
   }
   
   if (ball.x >= board.x && ball.x <= board.x + 60 && ball.y <= board.y + 9 && ball.y >= board.y - 11)
   {
    ball.null();
    ball.y = board.y - 21;
    ball.draw();
    xx = 2;
   }
  }
 
  if (yy==1&&xx == 4 && clock() - ball.b > 5)
  {
   ball.null();
   ball.x -= 2;
   ball.y += 2;
   ball.draw();
   ball.b = clock();
   
   
   if (ball.x <= 24)
   {
    ball.x = 24;
    ball.null();
    xx = 3;
   }
   if (ball.x >= board.x && ball.x <= board.x + 60 && ball.y <= board.y + 9 && ball.y >= board.y - 11)
   {
    ball.null();
    ball.y = board.y - 21;
    ball.draw();
    xx = 1;
   }
  }
 
  if (ball.y >= 440)
  {
   yy = 0;
   xx = 0;
   ball.null();
  }
 
 }
 
    closegraph();
 return 0;
}

小編再為大家分享一段代碼:C語言實現簡單的控制臺彈跳小球

#include <stdio.h>
 
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
 
 
// 全局變量
 int x,y;     //小球坐標 
 int velocity_x,velocity_y ; //速度 
 int left,right,top,bottom; //邊界 
 
 
void gotoxy(int x,int y)  //光標移動到(x,y)位置
{
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos;
    pos.X = x;
    pos.Y = y;
    SetConsoleCursorPosition(handle,pos);
}
 
 
void HideCursor() // 用于隱藏光標
{
 CONSOLE_CURSOR_INFO cursor_info = {1, 0};  // 第二個值為0表示隱藏光標
 SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void startup() // 數據初始化
{
 x = 1;
 y = 5;
 velocity_x = 1;   //速度方向 
 velocity_y = 1;
 left = 0;
 right = 30;
 top = 0;
 bottom = 15;
 
 
 HideCursor();  // 隱藏光標
}
 
 
void show()  // 顯示畫面
{
 
 int i,j;
 for (i=0;i<=bottom;i++)
 {
  for (j=0;j<=right;j++)
  {
 
 
 
   if((i==x) && (j==y))
    {
     printf("o");    //打印小球 
    }
   else if ((i==0)||(i==bottom)||(j==0)||(j==right))  //打印邊界 
    {
     printf("#");
    }
   else printf(" ");
  }
  printf("\n");
 }
} 
void automation()  // 與用戶輸入無關的更新
{ 
 x = x + velocity_x;    
 y = y + velocity_y;
 if ((x==top)||(x==bottom))
 {
  velocity_x = -velocity_x;
  printf("\a");
 }
  
 else if ((y==left)||(y==right))
 {
  velocity_y = -velocity_y;
  printf("\a");
 }
   
 Sleep(100);  //調低小球速度 
}
int main()
{
 system("color 2f");  //改變控制臺顏色 
 startup();     // 數據初始化 
 while (1)     //  游戲循環執行
 {
  gotoxy(0,0);    // 清屏 
  show();     // 顯示畫面
  automation();    // 與用戶輸入無關的更新
 }
 return 0;
}

到此,相信大家對“如何用C++實現簡易的彈球小游戲”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

安阳市| 资讯| 新泰市| 中阳县| 青冈县| 汝南县| 凯里市| 巨野县| 巴彦县| 甘德县| 唐河县| 磐安县| 来宾市| 阿巴嘎旗| 习水县| 正定县| 白玉县| 淳安县| 镇原县| 扬州市| 泗洪县| 鄢陵县| 西峡县| 连城县| 荥阳市| 清涧县| 扶风县| 大港区| 绥中县| 西城区| 昌黎县| 恩平市| 平潭县| 新和县| 海口市| 沈阳市| 盈江县| 长丰县| 琼结县| 乡宁县| 荣成市|