c++實現圖形程式設計
1.傳奇動態小介面
素材:連結:https://pan.baidu.com/s/1qLAuEH4mO4sWYj50e6ppyw 密碼:fria
2.不知火舞的動態圖#include<stdio.h> #include<graphics.h> #include<conio.h> //#include<MMSystem.h> #include <mmsystem.h> #pragma comment(lib,"winmm.lib") IMAGE img[24]; void loadResource() { char filename[20] = ""; for(int i = 0; i<24 ; i++) { if(i < 10) { sprintf(filename,"00%d.bmp",i); } else { sprintf(filename,"0%d.bmp",i); } loadimage(&img[i],filename); } } void putimageMyWindows() { initgraph(570,650); int i = 0; mciSendString("open 傳奇霸業.mp3 alias song",0,0,0); mciSendString("play song repeat",0,0,0); while(!_kbhit() )//1 { putimage(0,0,&img[i]); Sleep(50); i++; if(i == 24) i = 0; } closegraph(); } int main() { loadResource(); putimageMyWindows(); return 0; }
連結:https://pan.baidu.com/s/1BK_4o7lefwKwRI_IbAk9_Q 密碼:ropi
#include<stdio.h> #include<conio.h> #include<graphics.h> IMAGE background,mm[16],mmy[16]; int imgNum = 0; void loadResource() { loadimage(&background,"background.jpg"); char filenamebk[20] = ""; char filenameym[20] = ""; for(int i= 0 ;i <16 ;i++) { if(i < 9) { sprintf(filenamebk,"10%d.bmp",i+1); loadimage(&mm[i] , filenamebk); sprintf(filenameym,"10d%y.bmp",i+1); loadimage(&mmy[i],filenameym); } else { sprintf(filenamebk,"1%d.bmp",i+1); loadimage(&mm[i] , filenamebk); sprintf(filenameym,"1d%y.bmp",i+1); loadimage(&mmy[i],filenameym); } } } int startX = 410, startY = 300; void putimageMyWindows() { initgraph(640,480); int i = 0; while(1) { putimage(0,0,&background); putimage(410,300,&mmy[i],SRCAND); putimage(410,300,&mm[i],SRCPAINT); Sleep(50); i++; if(i == 16) i = 0; } closegraph(); } int main() { loadResource(); putimageMyWindows(); return 0; }
3.c++實現鍵盤控制人物行走
W,A,S,D,Q,E,Z,X實現8個方向行走 素材:連結:https://pan.baidu.com/s/1jT0k8lGE5Y-1mrNMv6iftg 密碼:7922
#include<stdio.h> #include<graphics.h> #include<conio.h> #include<stdlib.h> IMAGE background,boy1,boy2; int startX = 95 , startY=450; int imgNum = 0; void loadResource() { loadimage(&background , "background.jpg"); loadimage(&boy1,"boy1.bmp"); loadimage(&boy2,"boy2.bmp"); } void putimageFirstImg() { initgraph(1024,768); putimage(0,0,&background); // 70 // 992 / 8 putimage(startX,startY,70,124,&boy2,70*imgNum,124*2,SRCAND); putimage(startX,startY,70,124,&boy1,70*imgNum,124*2,SRCPAINT); } void key_down() { int user = _getch(); switch(user) { case 'w': case 'W': case 72: BeginBatchDraw(); putimage(0,0,&background); putimage(startX,startY,70,124,&boy2,70 * imgNum,124*3,SRCAND); putimage(startX,startY,70,124,&boy1,70 * imgNum,124*3,SRCPAINT); startY -= 10; imgNum++; if(imgNum == 4) { imgNum = 0; } EndBatchDraw(); break; case 'S': case 's': case 80: BeginBatchDraw(); putimage(0,0,&background); putimage(startX,startY,70,124,&boy2,70 * imgNum,124*0,SRCAND); putimage(startX,startY,70,124,&boy1,70 * imgNum,124*0,SRCPAINT); startY += 10; imgNum++; if(imgNum == 4) { imgNum = 0; } EndBatchDraw(); break; case 'a': case 'A': case 75: BeginBatchDraw(); putimage(0,0,&background); putimage(startX,startY,70,124,&boy2,70 * imgNum,124*1,SRCAND); putimage(startX,startY,70,124,&boy1,70 * imgNum,124*1,SRCPAINT); startX -= 10; imgNum++; if(imgNum == 4) { imgNum = 0; } EndBatchDraw(); break; case 'd': case 'D': case 77: BeginBatchDraw(); putimage(0,0,&background); putimage(startX,startY,70,124,&boy2,70 * imgNum,124*2,SRCAND); putimage(startX,startY,70,124,&boy1,70 * imgNum,124*2,SRCPAINT); startX += 10; imgNum++; if(imgNum == 4) { imgNum = 0; } EndBatchDraw(); break; case 'e': case 'E': case 45: BeginBatchDraw(); putimage(0,0,&background); putimage(startX,startY,70,124,&boy2,70 * imgNum,124*7,SRCAND); putimage(startX,startY,70,124,&boy1,70 * imgNum,124*7,SRCPAINT); startX += 10; startY -= 10; imgNum++; if(imgNum == 4) { imgNum = 0; } EndBatchDraw(); break; case 'q': case 'Q': BeginBatchDraw(); putimage(0,0,&background); putimage(startX,startY,70,124,&boy2,70 * imgNum,124*6,SRCAND); putimage(startX,startY,70,124,&boy1,70 * imgNum,124*6,SRCPAINT); startX -= 10; startY -= 10; imgNum++; if(imgNum == 4) { imgNum = 0; } EndBatchDraw(); break; case 'z': case 'Z': BeginBatchDraw(); putimage(0,0,&background); putimage(startX,startY,70,124,&boy2,70 * imgNum,124*4,SRCAND); putimage(startX,startY,70,124,&boy1,70 * imgNum,124*4,SRCPAINT); startX -= 10; startY += 10; imgNum++; if(imgNum == 4) { imgNum = 0; } EndBatchDraw(); break; case 'X': case 'x': BeginBatchDraw(); putimage(0,0,&background); putimage(startX,startY,70,124,&boy2,70 * imgNum,124*5,SRCAND); putimage(startX,startY,70,124,&boy1,70 * imgNum,124*5,SRCPAINT); startX += 10; startY += 10; imgNum++; if(imgNum == 4) { imgNum = 0; } EndBatchDraw(); break; } } int main() { loadResource(); putimageFirstImg(); //system("pause"); while(1) { key_down(); } return 0; }
相關推薦
c++實現圖形程式設計
1.傳奇動態小介面 素材:連結:https://pan.baidu.com/s/1qLAuEH4mO4sWYj50e6ppyw 密碼:fria #include<stdio.h> #include<graphics.h> #include<co
C語言+圖形程式設計——自制象棋
用C語言做個象棋是不容易的,涉及到的知識點有很多方面,C語言裡面的基本資料型別、運算子、順序,分支,迴圈結構。還有運用到陣列,函式,指標,以及我們的位運算等。 做出來的象棋程式,自然的話程式碼也不少的,下面的話我就發一部分吧,把棋盤的話,棋子的程式碼寫出來,自然的話,各
C++實現跨平臺程式設計
最近由於windows系統上安裝的是vs編譯器,但是程式碼需要放在linux上進行編譯,但是vs和g++上一些函式不同,為了實現不用過多的程式碼修改 #ifdef _WIN32//vs能夠識別 #elif linux//g++能夠識別
[轉]C語言圖形程式設計(六) -圖形程式設計例項:零件圖形的繪製
第一框 輸入資料,用下面一個函式實現:void Enterdata(){ clrscr(); gotoxy(1,6); printf("Enter the radius of the circles./n"); gotoxy(1,8); printf(Enter in_circle rad
C語言圖形程式設計--俄羅斯方塊製作(二)原始碼
所有原始碼檔案,此為本人2年前所作,設計上還有些缺陷。希望大家不吝指正。 下面是標頭檔案head.h /************************ (C) COPYRIGHT 2013 yang_yulei ************************ *
.Net(C#)實現非同步程式設計
最近編寫了一個檢查伺服器叢集的客戶端程式,用於檢查API介面是否可用,由於當時沒有使用多執行緒技術,所有操作均在主程序中執行,這樣就導致了2個問題: 1)由於要傳送HTTP請求,導致主程序無響應,UI卡死 2)使用迴圈輪詢叢集的伺服器列表,逐個請求傳送到伺服器,時間複雜度為
用C++實現網路程式設計---抓取網路資料包的實現方法
做過網管或協議分析的人一般都熟悉sniffer這個工具,它可以捕捉流經本地網絡卡的所有資料包。抓取網路資料包進行分析有很多用處,如分析網路是否有網路病毒等異常資料,通訊協議的分析(資料鏈路層協議、IP、UDP、TCP、甚至各種應用層協議),敏感資料的捕捉等。下面我們就來看
C語言圖形程式設計(二、圖形顯示)
一、確定顯示卡 二、選擇顯示模式 三、圖形顯示 20. detectgraph() 顯示卡檢測函式 21. initgraph() 圖形初始化函式 22. getdrivername() 獲取圖形驅動程式名的指標 23. getgraphmode() 獲取圖形模式函式
Leetcode程式設計練習(C++實現)
7、反轉整數 /* 題目描述: 給定一個 32 位有符號整數,將整數中的數字進行反轉。 基本思想: 1、類似於字串的逆置,取x的最低位(個位)數字:pop = x % 10; 2、求結果: rev = rev * 10 + pop; 3、將 x 更新為: x
簡單遠端遙控程式【網路程式設計 - 簡單遠端遙控程式,C實現】
實驗內容 基於Windows下Winsocket程式設計 實現 1.list (顯示伺服器端當前路徑下所有檔案) 2.get 遠端檔案路徑 本地檔案路徑 (下載遠端檔案 到 本地檔案路徑 ) 3.port 本地檔案路徑 遠端檔案路徑 (上傳 本地檔案 到 本地檔案路徑下 ) 4.quit (退出程式) 參
C語言:程式設計實現兩個矩陣
輸入一個3乘4矩陣✖️4乘5矩陣,輸出一個3乘5的矩陣 #include<stdio.h> int main() { int matrix1[3][4],matrix2[4][5],matrix3[3][5]; int i,j,k; int jz3[
1036 跟奧巴馬一起程式設計 ——c實現
1036 跟奧巴馬一起程式設計 (15 分) 美國總統奧巴馬不僅呼籲所有人都學習程式設計,甚至以身作則編寫程式碼,成為美國曆史上首位編寫計算機程式碼的總統。2014 年底,為慶祝“電腦科學教育周”正式啟動,奧巴馬編寫了很簡單的計算機程式碼:在螢幕上畫一個正方形。現在你也跟他一起畫吧
【一篇文章帶你讀完《C++遊戲與圖形程式設計基礎 第2版》】
《C++遊戲與圖形程式設計基礎 第2版》 下載地址:https://download.csdn.net/download/qq_23996157/10745496 AGK(App Game Kit)下載地址:https://download.csdn.net/download/qq_2
1047 程式設計團體賽——c實現
1047 程式設計團體賽 (20 分) 程式設計團體賽的規則為:每個參賽隊由若干隊員組成;所有隊員獨立比賽;參賽隊的成績為所有隊員的成績和;成績最高的隊獲勝。 現給定所有隊員的比賽成績,請你編寫程式找出冠軍隊。 輸入格式: 輸入第一行給出一個正整數 N(≤104
基於udp協議的字串計數【網路程式設計 - 基於udp協議的字串計數,C實現】
udp_server.c #include <stdio.h> #include <winsock2.h> #pragma comment(lib, "ws2_32.lib") typedef struct sockaddr_in sockaddr_in ; typedef s
簡單圖形程式設計的學習(2)---點 Qt實現
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
c++模板超程式設計:std::invoke原始碼分析及其實現
在實現invoke之前,我們先看一下標準庫種invoke的使用方式 template< class F, class... Args>std::invoke_result_t<F, Args...> invoke(F&& f, Args&&... ar
基於硬體的C(C++)語言程式設計教程12:用函式實現2數之和
本系列文章希望探討以硬體為平臺講述C(C++)知識的一個新的途徑,改變目前大多數C語言教程僅注重C語言本身的語法規則,而脫離其應用環境的現狀。希望讀者通過本教程的學習,能夠立刻學以致用,真正將所學知識應用到專案實踐中。 開發環境:Atmel Studio 7.0 硬體平臺:Microch
Python C/S 網路程式設計(一)之 三種方法實現天氣預報小程式
1. 首先明白下協議棧和庫的概念: 協議棧(Protocol Stack): 是指網路中各層協議的總和,其形象的反映了一個網路中檔案傳輸的過程:由上層協議到底層協議,再由底層協議到上層協議。 庫(Library):主要用來解析要使用的網路通訊協議,包含Python內建標準庫
《程式設計珠璣》程式碼之路12:如何用C/C++實現array[-1]並利用它寫出優美的程式碼
我們就以最大子陣列和為例: 最大子段和問題:給一組數,計算最大子段和。 在部落格:最大欄位和的6種解法,解法三中,我們提到了儲存前i項和的操作: cache[i]代表前i-1項之和,因為在c/c++中,cache[-1]會越界,所以如果用cache[i]代表前i項和的話,那麼在用遞推公式