【easyx】快速入門——彈球小游戲(第一代)

目錄

1.需求

2.運動的小球

3.碰到邊緣反彈

4.圓周撞擊或越過邊界反彈

5.繪制和移動擋板

 6.小球碰到擋板反彈

7.游戲失敗時該如何處理

8.隨機初始條件

9.完整代碼


我們這一節將結合動畫和鍵盤交互的知識來做一個小游戲

1.需求

我們先看需求:小球在窗體內運動,撞到除了底邊外的另外三個邊緣就反彈一次,如果小球撞到底邊,游戲結束。玩家可以控制在底邊上的一個擋板,讓小球撞擊到擋板上而反彈,阻止小球撞到底邊

2.運動的小球

這里我們先繪制好一個圓形

#include<easyx.h>
#include<stdio.h>int main()
{initgraph(800, 600);setorigin(400, 300);setaspectratio(1, -1);setbkcolor(RGB(164, 225, 202));cleardevice();setfillcolor(WHITE);solidcircle(0, 0, 40);getchar();return 0;}

接下來我們想讓小球一開始就往右上方運動,也就是說它的速度和x軸的夾角是45度 

我們假設vx=5,vy=5,則

 我們再考慮一下幀率的問題

這樣子,小球就可以往右上方運動了

我們看代碼

#include<easyx.h>
#include<stdio.h>int main()
{initgraph(800, 600);setorigin(400, 300);setaspectratio(1, -1);setbkcolor(RGB(164, 225, 202));cleardevice();setfillcolor(WHITE);solidcircle(0, 0, 40);int x = 0, y = 0;int vx = 5, vy = 5;int r = 40;while (1){cleardevice();solidcircle(x, y, r);Sleep(40);x += vx;y +

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/13928.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13928.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13928.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從入門到精通:詳解Linux環境基礎開發工具的使用

前言 在這篇文章中&#xff0c;我將深入學習和理解Linux環境基礎開發工具的使用。無論你是初學者還是有一定經驗的開發者&#xff0c;相信這篇文章都會對你有所幫助。我們將詳細講解軟件包管理器、編輯器、編譯器、調試器、自動化構建工具以及版本控制工具的使用。 Linux軟件…

后端數據庫開發JDBC編程Mybatis之用基于XML文件的方式映射SQL語句實操

之前的SQL語句是基于注解 以后開發中一般是一個接口對應一個映射文件 書寫映射文件 基本結構 框架 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.or…

盡在掌握:Android 13 通知新功能詳解

盡在掌握&#xff1a;Android 13 通知新功能詳解 在移動應用開發中&#xff0c;通知扮演著至關重要的角色&#xff0c;它如同應用程序與用戶之間的橋梁&#xff0c;及時傳遞關鍵信息&#xff0c;提升用戶體驗。Android 13 作為最新的安卓版本&#xff0c;在通知方面帶來了諸多…

Rom應用開發遇到得一些小bug

記錄一些細碎得bug ROM時間類問題 問題描述&#xff1a; 設備拔電重啟&#xff0c;ROM時間為默認時間如1970年1月1日&#xff0c;與某些業務場景互斥 問題原因&#xff1a; 后臺接口校驗https證書校驗失敗&#xff0c;要求是2年內得請求頭校驗了時間戳&#xff0c;時間戳過期…

QLExpress入門及實戰總結

文章目錄 1.背景2.簡介3.QLExpress實戰3.1 基礎例子3.2 低代碼實戰3.2.1 需求描述3.2.1 使用規則引擎3.3.2 運行結果 參考文檔 1.背景 最近研究低代碼實現后端業務邏輯相關功能&#xff0c;使用LiteFlow作為流程編排后端service服務, 但是LiteFlow官方未提供圖形界面編排流程。…

使用RAG和文本轉語音功能,我構建了一個 QA 問答機器人

節前&#xff0c;我們星球組織了一場算法崗技術&面試討論會&#xff0c;邀請了一些互聯網大廠朋友、參加社招和校招面試的同學. 針對算法崗技術趨勢、大模型落地項目經驗分享、新手如何入門算法崗、該如何準備、面試常考點分享等熱門話題進行了深入的討論。 匯總合集&…

代碼隨想錄算法訓練營第36期DAY37

DAY37 先二刷昨天的3道題目&#xff0c;每種方法都寫&#xff1a;是否已完成&#xff1a;是。 報告&#xff1a;134加油站的樸素法沒寫對。原因是&#xff1a;在if中缺少了store>0的判斷&#xff0c;只給出了indexi的判斷。前進法沒寫出來。因為忘記了總油量的判斷。Sum。…

基于springboot圖書個性化推薦系統源碼數據庫

基于springboot圖書個性化推薦系統源碼數據庫 本論文主要論述了如何使用JAVA語言開發一個圖書個性化推薦系統&#xff0c;本系統將嚴格按照軟件開發流程進行各個階段的工作&#xff0c;采用B/S架構&#xff0c;面向對象編程思想進行項目開發。在引言中&#xff0c;作者將論述圖…

K8s 運維架構師實戰課程

阿良課程收益 掌握Kubernetes企業運維管理 掌握部署、運維、存儲、網絡、監控、日志、CICD、服務網格等實戰全面搞定&#xff01; 獨立將公司任何項目容器化遷移到K8s平臺 生產環境真實案例 大廠企業實戰經驗 學習最新版、最佳實踐 K8s 運維架構師實戰【初中級】&#xff1a;ht…

docker 方式gost代理搭建以及代理鏈實施

一、項目地址&#xff1a;https://github.com/ginuerzh/gost 二、實施 環境信息 主機名公網IP地址內網IP地址角色beijing101.200.xxx.xxx192.168.0.160單層代理serverbeijing101.200.xxx.xxx192.168.0.160鏈式代理下游serverhk47.238.xxx.xxx172.31.94.207鏈式代理上游serve…

linux誤刪crontab定時任務后的補救措施(隨手記)

起因 想看一眼定時任務的時候&#xff0c;手誤打成了-r&#xff0c;接著我的定時任務就全沒了…… 補救措施 我們都知道&#xff0c;crontab的幾個關鍵目錄中有一個是/var/log/cron&#xff0c;這個目錄記錄了crontab執行的日志。 如果平時沒有備份crontab的習慣的話&#x…

【MySQL精通之路】InnoDB-內存結構-自適應哈希索引

1.作用 自適應哈希索引使InnoDB能夠在具有適當的工作負載組合和足夠的緩沖池內存的系統上執行更像內存中的數據庫&#xff0c;而不會犧牲事務特性或可靠性。 2.設置 自適應哈希索引由innodb_adaptive_hash_index變量啟用 或在服務器啟動時由--skip-innodb-adaptive-has…

VMware 安裝Windows Server 2008 R2

1.下載鏡像 迅雷&#xff1a;ed2k://|file|cn_windows_server_2008_r2_standard_enterprise_datacenter_and_web_with_sp1_x64_dvd_617598.iso|3368839168|D282F613A80C2F45FF23B79212A3CF67|/ 2.安裝過程 自定義名字&#xff0c;點擊【瀏覽】選擇安裝路徑 點擊【瀏覽】選擇前…

鴻蒙應用開發系列 篇三:ArkTS語言

文章目錄 系列文章概述基本語法基本結構概念釋疑聲明式UI描述高級特性自定義組件頁面和自定義組件生命周期狀態管理渲染控制ArkTS語言基礎類庫系列文章 鴻蒙應用開發系列 篇一:鴻蒙系統概述 鴻蒙應用開發系列 篇二:鴻蒙系統開發工具與環境

(Oracle)SQL優化基礎(三):看懂執行計劃順序

往期內容&#xff1a; &#xff08;Oracle&#xff09;SQL優化基礎&#xff08;一&#xff09;&#xff1a;獲取執行計劃 &#xff08;Oracle&#xff09;SQL優化基礎&#xff08;二&#xff09;&#xff1a;統計信息 獲取到執行計劃后&#xff0c;對于新手朋友來講可能不知道…

Qt筆記:動態處理多個按鈕點擊事件以更新UI

問題描述 在開發Qt應用程序時&#xff0c;經常需要處理多個按鈕的點擊事件&#xff0c;并根據點擊的按鈕來更新用戶界面&#xff08;UI&#xff09;&#xff0c;如下圖。例如&#xff0c;你可能有一個包含多個按鈕的界面&#xff0c;每個按鈕都與一個文本框和一個復選框相關聯…

基于springboot+vue+Mysql的逍遙大藥房管理系統

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;數據庫工具&#xff1a;Navicat11開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

Flutter 中的 FormField 小部件:全面指南

Flutter 中的 FormField 小部件&#xff1a;全面指南 在Flutter的世界里&#xff0c;表單是用戶輸入數據的基本方式之一。FormField是一個強大的小部件&#xff0c;它將表單字段的創建、驗證和管理集成到了一個易于使用的抽象中。本文將為您提供一個全面的指南&#xff0c;幫助…

AWS安全性身份和合規性之AWS Firewall Manager

AWS Firewall Manager是一項安全管理服務&#xff0c;可讓您在AWS Organizations中跨賬戶和應用程序集中配置和管理防火墻規則。在創建新應用程序時&#xff0c;您可以借助Firewall Manager實施一套通用的安全規則&#xff0c;更輕松地讓新應用程序和資源從一開始就達到合規要求…

【flutter】 Running Gradle task ‘assembleDebug‘...超時問題

關聯搜索&#xff1a;flutter下載gradle失敗、AndroidStudio下載gradle失敗 構建Flutter項目時遇到控制臺一直卡在 Running Gradle task ‘assembleDebug’… 解決方案 1. 修改gradle-wrapper.properties 文件 如果找不到就直接搜索&#xff1a; 把https\://services.gradl…