小遊戲 吃豆子2 windows部分

2021-06-27 17:48:23 字數 3966 閱讀 6135

// eatbean.cpp : 定義應用程式的入口點。

//#include "stdafx.h"

#include "eatbean.h"

#include "gmap.h"

#include "stageone.h"

#include "player.h"

#include "gobject.h"

#include "redenermy.h"

#include "greenenermy.h"

#include "blueenermy.h"

#define wlenth 700

#define whight 740

#define max_loadstring 100

// 全域性變數:

hinstance hinst; // 當前例項

tchar sztitle[max_loadstring]; // 標題欄文字

tchar szwindowclass[max_loadstring]; // 主視窗類名

// 此**模組中包含的函式的前向宣告:

atom myregisterclass(hinstance hinstance);

bool initinstance(hinstance, int , hwnd &);

lresult callback wndproc(hwnd, uint, wparam, lparam);

int_ptr callback about(hwnd, uint, wparam, lparam);

templatevoid relese(t t)

stageone *sg ;

player *p ;

gobject *red1 , *green1 , *blue1 , *blue2 ;

int apientry _twinmain(hinstance hinstance,

hinstance hprevinstance,

lptstr lpcmdline,

int ncmdshow)

hacceltable = loadaccelerators(hinstance, makeintresource(idc_eatbean));

dword t = 0 ;

// 主訊息迴圈:

while (p->gettw() != over)

if(getasynckeystate(vk_down) & 0x8000) p->settwcommand(down) ;

else if(getasynckeystate(vk_up) & 0x8000) p->settwcommand(up) ;

else if(getasynckeystate(vk_left) & 0x8000) p->settwcommand(left) ;

else if(getasynckeystate(vk_right) & 0x8000) p->settwcommand(rifht) ;

if(gettickcount() - t > 58)

} relese(p) ;

relese(sg) ;

relese(red1) ;

relese(green1) ;

relese(blue1) ;

relese(blue2) ;

return (int) msg.wparam;}//

// 函式: myregisterclass()

//// 目的: 註冊視窗類。

//// 注釋:

//// 僅當希望

// 此**與新增到 windows 95 中的「registerclas***」

// 函式之前的 win32 系統相容時,才需要此函式及其用法。呼叫此函式十分重要,

// 這樣應用程式就可以獲得關聯的

// 「格式正確的」小圖示。

//atom myregisterclass(hinstance hinstance)

//// 函式: initinstance(hinstance, int)

//// 目的: 儲存例項控制代碼並建立主視窗

//// 注釋:

//// 在此函式中,我們在全域性變數中儲存例項控制代碼並

// 建立和顯示主程式視窗。

//bool initinstance(hinstance hinstance, int ncmdshow , hwnd &hwnd)

showwindow(hwnd, ncmdshow);

updatewindow(hwnd);

return true;}//

// 函式: wndproc(hwnd, uint, wparam, lparam)

//// 目的: 處理主視窗的訊息。

//// wm_command - 處理應用程式選單

// wm_paint - 繪製主視窗

// wm_destroy - 傳送退出訊息並返回

////

lresult callback wndproc(hwnd hwnd, uint message, wparam wparam, lparam lparam)

break;

case wm_paint:

hdc = beginpaint(hwnd, &ps);

// todo: 在此新增任意繪圖**...

gobject::pstate->drawobstacle(hdc) ;

endpaint(hwnd, &ps);

break;

case wm_destroy:

postquitmessage(0);

break;

default:

return defwindowproc(hwnd, message, wparam, lparam);

} return 0;

}// 「關於」框的訊息處理程式。

int_ptr callback about(hwnd hdlg, uint message, wparam wparam, lparam lparam)

break;

} return (int_ptr)false;

}

bool arc(

hdc hdc, // handle to device context dc控制代碼

int nleftrect, // x-coord of rectangle's upper-left corner 包容矩形左x值

int ntoprect, // y-coord of rectangle's upper-left corner 包容矩形頂y值

int nrightrect, // x-coord of rectangle's lower-right corner 包容矩形右x值

int nbottomrect, // y-coord of rectangle's lower-right corner 包容矩形底y值

int nxstartarc, // x-coord of first radial ending point 第一點x座標

int nystartarc, // y-coord of first radial ending point 第一點y座標

int nxendarc, // x-coord of second radial ending point 結束點x座標

int nyendarc // y-coord of second radial ending point 結束點y座標

);

弧為逆時針旋轉    (注意:逆時針)

很懷舊的遊戲 吃豆子

又到暑假了,在家裡閒著沒事又拿起了 c語言,沒特殊情況的話,這應該是我用graphic編的最後乙個遊戲了,因為我打算嘗試dev cpp加allegro的組合。這是個很懷舊的遊戲,我記得我第一次在pc上接觸的遊戲就有這個,它的做法也很簡單,和坦克基本相同,大概如下 首先,它是基於貪食蛇的原理作成的,因...

C 實現基於控制台介面的吃豆子遊戲

程式執行介面如下所示 esc鍵可退出遊戲。main.cpp原始檔如下 include lib.h pragma once extern int level int main showscore curpos,food return 0 lib.h標頭檔案如下 include include incl...

微信小遊戲2

建立畫布 const canvas wx.createcanvas 在 game.js 中輸入以上 並儲存 外鏈轉存失敗 img raz17njs 1564146105342 橫向居中 外鏈轉存失敗 img uk8ya6v8 1564146105344 context.fillrect canvas...