2011年12月31日 星期六
2011年12月24日 星期六
2011年12月17日 星期六
2011年12月10日 星期六
閒聊
先給個連結
帶頭升級 Office 2007? 別當害群之馬
http://blog.ofset.org/ckhung/index.php?post/081-nodocx
更新軟體一直是件麻煩的事,但是軟體大廠卻是每一年都出個新版,出新版是沒關係,但是,存檔要相容啊,之前上班的公司,並沒有所謂的軟體更新預算,就算是在家用謎之軟體,還要找破解,就算找到了,協力廠商用的是舊版本,存檔不相容打不開還是沒用。
說說目前電腦的軟體,作業系統還是XP,Office當然也是XP,3DS Max2010,Adobe系列CS4,沒辦法學校有些是用CS5了,CS舊版的少了些功能跟特效。
其他有的沒的免費軟體,當然是最新版。
學校的電腦就同步更新,軟體什麼都是新版的,作業系統Win7,之前還用Vista,Office 2010,3DS Max2012,Adobe CS5,硬體的話就有夠差,大部分比我三年前組的電腦還爛,還硬要裝新版的軟體,開個機都快10分鐘。
不知道該說學校不知民間疾苦,還是說怕教學評比會變差,學生會批評說學校落伍,重點是老師很多新功能也不會,照著新買的書邊看邊教。
上學期有同學參加了國內證照考試,學校在推的還有開班,證照考過的就算過,有發考古題,考試在學校考,監考老師就是授課老師,這學期問有考的人上課內容,結果說都忘光了,這樣對就業有幫助嗎,結論是,要考證照的請參加原廠的,或是有國際認證的,不然只是浪費錢。
說了一堆,其實也改變不了什麼,政府跟學校政策不做改變,就只能無奈的做消極的抗議,發發牢騷而已。
帶頭升級 Office 2007? 別當害群之馬
http://blog.ofset.org/ckhung/index.php?post/081-nodocx
更新軟體一直是件麻煩的事,但是軟體大廠卻是每一年都出個新版,出新版是沒關係,但是,存檔要相容啊,之前上班的公司,並沒有所謂的軟體更新預算,就算是在家用謎之軟體,還要找破解,就算找到了,協力廠商用的是舊版本,存檔不相容打不開還是沒用。
說說目前電腦的軟體,作業系統還是XP,Office當然也是XP,3DS Max2010,Adobe系列CS4,沒辦法學校有些是用CS5了,CS舊版的少了些功能跟特效。
其他有的沒的免費軟體,當然是最新版。
學校的電腦就同步更新,軟體什麼都是新版的,作業系統Win7,之前還用Vista,Office 2010,3DS Max2012,Adobe CS5,硬體的話就有夠差,大部分比我三年前組的電腦還爛,還硬要裝新版的軟體,開個機都快10分鐘。
不知道該說學校不知民間疾苦,還是說怕教學評比會變差,學生會批評說學校落伍,重點是老師很多新功能也不會,照著新買的書邊看邊教。
上學期有同學參加了國內證照考試,學校在推的還有開班,證照考過的就算過,有發考古題,考試在學校考,監考老師就是授課老師,這學期問有考的人上課內容,結果說都忘光了,這樣對就業有幫助嗎,結論是,要考證照的請參加原廠的,或是有國際認證的,不然只是浪費錢。
說了一堆,其實也改變不了什麼,政府跟學校政策不做改變,就只能無奈的做消極的抗議,發發牢騷而已。
2011年12月3日 星期六
2011年11月26日 星期六
2011年11月19日 星期六
地圖簡介
地圖畫面是2D遊戲中重要的一環,大致上分成兩種,一種是像貼瓷磚一樣的平面格子狀的,如勇者鬥惡龍,另一種是捲軸式的像清明上河圖的整張式的,如橫向或縱向射擊類遊戲,當然還有後續演變出來的所謂45度斜角(2﹒5D)地圖,最重要的是它們都離不開「迴圈」和「陣列」。
首先,先說拼接式的地圖,在學迴圈時應該都做過一個題目,利用迴圈輸出等腰三角形圖案,搭配上二維陣列就可做出地圖,首先看一下成品圖。
在開始之前我們要先準備圖檔,才能有東西顯示在地圖上,只是練習所以只做了兩個,草地跟沙漠。
大小為32X32的尺寸,接著就是開啟BCB寫程式吧。
程式碼:
物件 Name 屬性
Panel1 Panel1
Image1 Image1 高跟寬自己算吧,看你要放多少個地形再乘32。
Unit1.h
首先,先說拼接式的地圖,在學迴圈時應該都做過一個題目,利用迴圈輸出等腰三角形圖案,搭配上二維陣列就可做出地圖,首先看一下成品圖。
在開始之前我們要先準備圖檔,才能有東西顯示在地圖上,只是練習所以只做了兩個,草地跟沙漠。
草地 沙漠
程式碼:
物件 Name 屬性
Panel1 Panel1
Image1 Image1 高跟寬自己算吧,看你要放多少個地形再乘32。
Unit1.h
//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #includeUnit1.cpp#include #include #include #include #include //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TPanel *Panel1; TImage *Image1; private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); void __fastcall drawbmp(); //drawbmp()函式 }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif
//--------------------------------------------------------------------------- #include#pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; int cs=32,row=11,col=15; //設定地圖變數,cs=32 為圖像的大小32x32,row=11 為地圖為11 行,col=15 為15 列 int map[11][15] = { //設定地圖陣列,1 為沙漠地形,0 為草地地形 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,1,0,0,0,1,0,1,1,1,1,1,0,1}, {1,0,1,0,0,0,1,0,0,0,1,0,0,0,1}, {1,0,1,0,0,0,1,0,0,0,1,0,0,0,1}, {1,0,1,1,1,1,1,0,0,0,1,0,0,0,1}, {1,0,1,0,0,0,1,0,0,0,1,0,0,0,1}, {1,0,1,0,0,0,1,0,0,0,1,0,0,0,1}, {1,0,1,0,0,0,1,0,1,1,1,1,1,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} }; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { Panel1->DoubleBuffered=true; //設定雙倍緩衝,不會有閃爍 drawbmp(); //呼叫drawbmp()函式 } //--------------------------------------------------------------------------- //drawbmp()函式 void __fastcall TForm1::drawbmp() { //此段可另寫一個loadbmp()函式 Graphics::TBitmap *map1; //利用Graphics 類別的TBitmap 方法設定map1 指標 map1 = new Graphics::TBitmap(); //產生map1 物件 map1->LoadFromFile("1.bmp"); //將1.bmp 載入到map1 物件的記憶體當中 Graphics::TBitmap *map2; map2 = new Graphics::TBitmap(); map2->LoadFromFile("2.bmp"); for(int i=0;i Canvas->Draw(j*cs,i*cs,map1); //在Image1 的相對位置畫出map1 的圖形 break; } case 1: //當陣列內容為1 時 { Image1->Canvas->Draw(j*cs,i*cs,map2); break; } } } delete map1,map2; //釋放記憶體中map1 及map2 的內容 } //---------------------------------------------------------------------------
2011年11月12日 星期六
2011年11月5日 星期六
2011年10月29日 星期六
2011年10月22日 星期六
2011年10月15日 星期六
2011年10月1日 星期六
2011年9月24日 星期六
2011年9月17日 星期六
2011年9月10日 星期六
2011年9月3日 星期六
BCB小瑪俐設計(二)
繼續上次的程式,再來就是寫下注的部分,利用滑鼠Click事件來增加金額,中獎金額的計算,就是下注金額乘於倍率,比大小的部分,用亂數取1到13之間,7的話就再取一次,最後就把中獎金額加到總金額就完成了。
2011年8月27日 星期六
2011年8月20日 星期六
2011年8月13日 星期六
2011年8月6日 星期六
2011年7月29日 星期五
2011年7月24日 星期日
2011年7月15日 星期五
BCB小瑪俐設計(一)
BCB小瑪俐設計(一)
由於自己本身也還是學生,因此,難免有些狂言謬論,如果有錯誤之處,還請多多指教,或者,你有些想法也可以提出討論。
個人習慣在寫程式之前,會先想一下遊戲的雛型,比如說遊戲的畫面、規則等等…,這樣才好規劃流程圖,在做流程圖同時順便設計一下公式,接著就開始蒐集資料、參考的圖片,畫些遊戲圖片、使用者介面圖形,再來就開始寫程式,測試,除錯,繼續迴圈,直到完成為止。
以小瑪俐來說,依面板上的水果圖案數量取亂數,比如說有14個,那就設定取亂數1~14,再來就是利用switch來移動LED燈,透過設定物件的Left、Top值來達成目的,使用計時器控制移動的速度。
程式碼:
※bw為LED燈物件
//---------------------------------------------------------------------------
#include
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//全域變數(num中獎的號碼),(pos代表LED燈位置),(sel控制移動速度)
int num,pos = 1,sel;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
//點擊開始按鈕
void __fastcall TForm1::bGoClick(TObject *Sender)
{
srand((unsigned)time(NULL)); //取得系統時間作為亂數種子
Timer1->Enabled = true; //開啟計時器1
Timer1->Interval = 100; //設定計時器執行時間
num=rand()%14; //取亂數
num += 56; //將取得的亂數加56,可多繞4圈
sel = num;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
sel--;
if(sel<6) //判斷sel小於6增加計時器執行時間為500(0.5秒執行一次)
Timer1->Interval = 500;
if(sel<3) //判斷sel小於3增加計時器執行時間為1000(1秒執行一次)
Timer1->Interval = 1000;
if(sel==0) //判斷sel等於0關閉計時器
{
Timer1->Enabled = false;
}
pos++; //移動位置加1,等於15(即繞完一圈)回到1
if(pos==15)
pos=1;
switch(pos) //依照pos移動到指定的位置
{
case 1:
bw->Left = 64;
bw->Top = 16;
break;
case 2:
bw->Left = 112;
bw->Top = 16;
break;
case 3:
bw->Left = 160;
bw->Top = 16;
break;
case 4:
bw->Left = 208;
bw->Top = 16;
break;
case 5:
bw->Left = 208;
bw->Top = 64;
break;
case 6:
bw->Left = 208;
bw->Top = 112;
break;
case 7:
bw->Left = 208;
bw->Top = 160;
break;
case 8:
bw->Left = 160;
bw->Top = 160;
break;
case 9:
bw->Left = 112;
bw->Top = 160;
break;
case 10:
bw->Left = 64;
bw->Top = 160;
break;
case 11:
bw->Left = 16;
bw->Top = 160;
break;
case 12:
bw->Left = 16;
bw->Top = 112;
break;
case 13:
bw->Left = 16;
bw->Top = 64;
break;
case 14:
bw->Left = 16;
bw->Top = 16;
break;
}
} |
2011年7月9日 星期六
2011年7月2日 星期六
2011年6月25日 星期六
訂閱:
文章 (Atom)