昨天晚上暈暈乎乎的寫完了我的計劃(貌似很像是偽碼),寫完了之后就更暈乎了。稍后的時候看了一下PureMilk的程序驚奇的發現腦袋已經不轉了,無奈之下決定第二天早起研究研究。
早晨被一串電話鈴聲吵醒了,接了個電話連牙都沒顧得上刷,就來研究PureMilk的代碼。PureMilk的代碼看上去就是不一樣,第一眼看上去感覺就很舒服,比我用Word打出來的至少從結構上來看好看得多了去了。仔細研究了一下程序,發現PureMilk的代碼很有條理,變量的命名讓人一眼看上去就知道是什么意思,雖然這一點我也知道但是一些的時候就想不起來用很么命名,連注釋寫的都是那么的好。至于我的偽代碼那簡直就沒有可比性了,竟然是用Word敲出來的。
這篇隨筆本來應該是早上就上傳的,但早上寫了一點的時候就不想寫了。昨天晚上想睡覺的時候在聽雨上搜到了一個小游戲。天哪,我竟然著迷了,竟然玩到了凌晨一點。今天白天又迷了一天,浪費了一天的時間雖然浪費時間的時候我知道,但還是忍不住浪費了。(沒有了)
posted @
2008-10-19 21:39 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(128) |
評論 (0) |
編輯 收藏
今天成都,排名98,估計去不了。01居然暴力過了,俺的天啊,O(n^2*lgn)的復雜度啊。09拍了兩百多行的代碼,一個頭賬了兩個大,無限WA。強哥更甚,竟然拍了四百多行,無限WA+TLE。讓我的ICPC在累和心不在焉中悄無聲息地落幕吧。合肥干脆也不要去了,去現場賽又有什么意義呢,還不是被虐么。
今天我想發段與DrMario無關的代碼,因為前兩天一發一陀代碼,都沒什么人評論,反應好像不太好哈。今天發個短小的實現一個具體的小功能的,順便向各位牛們請教一下問題出在哪兒?
#include <stdio.h>
#include <stdlib.h>
#include <gl/glut.h>
void setPixel( int x, int y )
{
glBegin( GL_POINTS );
glVertex2i( x, y );
glEnd();
}
void myDisplay(void)
{
static GLubyte Mask[72]; //我猜它8位一對齊?
FILE *fp;
fp = fopen("worm.bmp", "rb");
if( !fp ) //如果沒讀取成功
exit(0);
if( fseek(fp, -(int)sizeof(Mask), SEEK_END) )//這是什么?
exit(0);
if( !fread(Mask, sizeof(Mask), 1, fp) )
exit(0);
fclose(fp);
glClear(GL_COLOR_BUFFER_BIT);
glColor3f( 0.0f, 0.0f, 1.0f );
glEnable(GL_POLYGON_STIPPLE);
glPolygonStipple(Mask);
glRectf(160, 240, 184, 264 ); // 在左下方繪制一個有鏤空效果的正方形
glDisable(GL_POLYGON_STIPPLE);
glRectf(320, 120, 480, 240); // 在右上方繪制一個無鏤空效果的正方形
/* int x = 0, y = 0; //我本來想,讀進來就可以這樣搞了嘛,結果一團亂點,郁悶。
for ( int i = 0; i < 72; ++i )
{
for ( int j = 0; j < 8; ++j )
{
if ( (Mask[i]&(1<<j) ) == 0 )
{
setPixel( 50+x, 50+y );
}
++x;
if ( x == 23 )
{
x = 0;
++y;
}
}
}*/
glFlush();
}
int main( int argc, char *argv[])
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_RGB | GLUT_SINGLE );
glutInitWindowPosition( 100, 100 );
glutInitWindowSize( 640, 480 );
glutCreateWindow( "Polygon by PureMilk" );
glutDisplayFunc( myDisplay );
gluOrtho2D( 0, 640, 480, 0 );
glutMainLoop();
return 0;
}

把它當作鏤空圖drawPolygon也不錯,不過下面錯位很嚴重,不知是什么原因?

囧,太小貌似看不清,就是嘴下面那塊兒大部分像素點是錯的。
恩,看來glColor3f(0.0f,0.0f,1.0f);這個值還需要調亮一下,太暗對比度不夠。
我要好好休息一下,最近幾天身體透支。下周估計也閑不下來,無意義的瞎忙啊。我要好好取舍一下,我要自私一點,我要一次只做一件事,做我想做的事。
posted @
2008-10-19 20:46 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(165) |
評論 (2) |
編輯 收藏

今天真是好日子呢~~呵呵~~感覺一下子發現了好多東西~原來flash是可以做一幀的游戲~原來flash也有類~也有繼承~一直太小瞧它了呢~不
過真郁悶那個書..確切講是網頁額。。只寫了一點點。。as的文件里面的包要怎么放到fla里用哦~好想知道好想知道~
還是做不到像貓那樣子。。睡眠好少哦。。媽媽說缺覺會變笨的~~哇咔咔~~給自己的不努力找個接口吧~程序員好辛苦哦。。不過好厲害呢~
無限崇拜ing
我的OpenGL我的ActionScript我的。。唉。。好貪心哦。。希望不要遭天譴呢。。明天還是不要逃課了。。堅決不睡~唉。。那個漆黑的教
室啊。。
好像我真的很怕黑呢。。黑的教室寧可睡覺也不要睜開眼睛。。黑的屋子肯定呆不久。。是否注定我不會熬夜?至少在這個斷電的寢室不會
呢。。有點想念我那個燈火通明的小屋~~還是晚上畫畫有感覺~~要了解更多的東西~~不管是畫圖還是程序~~還有各個方面的素材~~總覺得這
樣會離夢想近一點~會比較安心~或者這是我不專心的借口?不知道呢~還是很佩服那種可以一樣東西專研好深的人~覺得很有毅力~
ps:貓。。竟然是男生。。我還是不能接受。。那么可愛。。唉。。
哈哈~~總覺得以后的日子會很充實而且快樂~~在我的學生時代只剩下那么一點點的時候~~會有些些成績的吧~~至少我覺得不會教白卷了呢~~
不知道為什么會有這種有點奇怪的感覺呢~~
最后。。雖然很奇怪哦~~還是要說~~么么大家~~我愛你們~~幸福ing~~哈哈~~
posted @
2008-10-19 15:19 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(174) |
評論 (0) |
編輯 收藏
號外號外,俺瑪麗醫生一下子打到19關啦~
號內號內,俺瑪麗醫生的偽碼還有一籌沒有展~~一來今天周末,二來今天周六,三來明天周天。不過,PureMilk說了不要給自己找借口,所以俺還是交代了吧,俺是沒弄明白封裝得那么嚴實的Pipeline <-- 某篇牛文里這樣說OpenGL的,翻譯過來就是管道。越來越邪乎,這個OpenGL到底是啥玩藝啊,它怎么玩兒的啊~!神奇的科學以及更加神奇的科學家。
還有還有~我發現看PureMilk他們的程序看久了思路就被限制了,越來越接近。不過對于我來說,能成功地調試成功一個就已經是舉身同慶的大事件了。但是還是想走自己的思路,但是關鍵是卡住了。分析如下。
我不知道glutMainLoop是循環哪里的還有是怎么循環的,原版的解釋說他還注冊什么的,更暈了。我已經清楚了要用狀態機的思想去實現了,但是不了解它是怎么實現畫圖的,尤其是怎么實現把前面的東西也一并畫上。還有就是glutSwapBuffer,這個交換緩存?大意理解就是有好幾張紙,前臺顯示的時候后臺在畫,然后用這個函數把后臺的放上去,前臺的拿下來繼續畫。但是,難道它是自動畫的?不需要我寫循環來控制?這些不好理解之后我的畫圖就不知道該怎么設計,是要自己寫循環?那樣的話就會給那些膠囊開數組,存進去,這樣又看到之前的影子了,貓說什么意修改設計。這是不對的。
好多困難啊,不過也正常,要是沒困難了那我豈不是成仙了,雖然我很想,但是得修煉。
嗯嗯。我決定夜深人靜的時候自己吭哧吭哧地啃這骨頭了。另:鍋準備好了,哦,因為還沒刷,所以說準備好了。半夜吃面~~吼吼吼吼`先睡一覺,然后醒來啃?還是不了吧。這一覺睡下去...
posted @
2008-10-18 21:16 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(333) |
評論 (2) |
編輯 收藏
摘要: 以前從沒寫過游戲,甚至連大程序都沒嘗試寫過,這一次可謂要突破一下了。昨天晚上一夜都沒睡好,一直都在想著這個游戲。參考了一下俄羅斯方塊,羅列了一些函數,由于能力有限函數的具體功能都沒實現,但是我會盡快補全這些功能的,請大家監督。第一次分析的難免會有很多漏洞與不全,請大家多多指教。
首先是導入各函數庫#include <.h>各個全局變量Static const&nb...
閱讀全文
posted @
2008-10-18 20:19 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(183) |
評論 (3) |
編輯 收藏
今天乖乖的看程序哦~開始p圖ing~只要做成bmp的就可以了吧。。
看到別人寫的文章說方塊的移動要用到中斷。。覺得好神奇額。。。中斷的勢力程序貼在下面
好像讀取鍵盤用的是鍵盤碼
for (;;)
{
key=bioskey(0); /* wait for a keystroke */
printf("0x%x\n",key);
if (key==0x11b) break; /* Escape */
}
常用按鍵的按鍵碼如下:
#define VK_LEFT 0x4b00
#define VK_RIGHT 0x4d00
#define VK_DOWN 0x5000
#define VK_UP 0x4800
#define VK_HOME 0x4700
#define VK_END 0x4f00
#define VK_SPACE 0x3920
#define VK_ESC 0x011b
#define VK_ENTER 0x1c0d
或者可以像有些游戲里面用W。A。S。D。鍵吧
*************************我是無良的分割線***************************
/* 這個程序每隔1秒鐘輸出一個整數,10秒鐘后結束程序。
按escape鍵提前退出程序 。*/
#include <stdio.h>
#include <dos.h>
#include <conio.h>
/* Escape key */
#define VK_ESC 0x11b
#define TIMER 0x1c /* 時鐘中斷的中斷號 */
/* 中斷處理函數在C和C++中的表示略有不同。
如果定義了_cplusplus則表示在C++環境下,否則是在C環境下。 */
#ifdef __cplusplus
#define __CPPARGS ...
#else
#define __CPPARGS
#endif
int TimerCounter=0; /* 計時變量,每秒鐘增加18。 */
/* 指向原來時鐘中斷處理過程入口的中斷處理函數指針(句柄) */
void interrupt ( *oldhandler)(__CPPARGS);
/* 新的時鐘中斷處理函數 */
void interrupt newhandler(__CPPARGS)
{
/* increase the global counter */
TimerCounter++;
/* call the old routine */
oldhandler();
}
/* 設置新的時鐘中斷處理過程 */
void SetTimer(void interrupt (*IntProc)(__CPPARGS))
{
oldhandler=getvect(TIMER);
disable(); /* 設置新的時鐘中斷處理過程時,禁止所有中斷 */
setvect(TIMER,IntProc);
enable(); /* 開啟中斷 */
}
/* 恢復原有的時鐘中斷處理過程 */
void KillTimer()
{
disable();
setvect(TIMER,oldhandler);
enable();
}
void main(void)
{
int key,time=0;
SetTimer(newhandler); /* 修改時鐘中斷 */
for (;;)
{
if (bioskey(1))
{
key=bioskey(0);
if (key==VK_ESC) /* 按escape鍵提前退出程序 */
{
printf("User cancel!\n");
break;
}
}
if (TimerCounter>18) /* 1秒鐘處理一次 */
{
/* 恢復計時變量 */
TimerCounter=0;
time++;
printf("%d\n",time);
if (time==10) /* 10秒鐘后結束程序 */
{
printf("Program terminated normally!\n");
break;
}
}
}
KillTimer(); /* 恢復時鐘中斷 */
}
*********************************************************
中規中矩的馬里奧圖片初稿

搞笑下~~wow血精靈牧師版本~~絕對的醫生~~被我命名為豆豆~~哇卡卡卡


ps:繼續畫哈~~跟本文無關了哦~~我家可愛的兔兔

補充:明天開始填色定稿~~這個給婷婷先用哦~~申請休息下~~哇卡卡阿卡~~我自己批準了~~~
posted @
2008-10-18 19:47 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(379) |
評論 (8) |
編輯 收藏
摘要: 代碼進化到324行。今天不標記行號了,方便大家copy paste,希望能稍微地給大家點幫助。瓶口的二值圖已經畫好了,今天晚上畫蟲子的二值圖,稍后再畫醫生的彩圖,或者,嘿嘿,能不能麻煩糖糖畫了咱們一起用,我就偷懶一下。然后今晚的任務就是學怎樣讀取二值圖和彩圖,明天把move函數完成并debug,簡易的瑪麗醫生就差不多可以完成了,之后慢慢添加功能,做的完善點兒。我恨杭電,更恨我的菜。我想徹底放棄IC...
閱讀全文
posted @
2008-10-18 18:12 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(149) |
評論 (0) |
編輯 收藏
貌似我經常過了12點了才燃燒著寬帶卡寫筆記,很敗家的說。人說日有所思夜有所夢,昨晚睡著前一直在琢磨瑪麗醫生的思路,結果還真讓我夢到了,怎么掉落、怎么消除,分析的頭頭是道。早晨醒來激動的回想,卻一片茫然。。。恨啊~~~~
今天下午下了一個瑪麗醫生,認真的玩了幾次,也明確了一下游戲規則(慚愧的說,我從來都沒有玩到能消病毒的那一層,因而一直都不知道病毒究竟是怎么消的),觀察了初始的地圖,藥片的掉落、旋轉,和消除了4格后,地圖的變化等等細節,總算對要實現什么有了明確的目的,明天開始會動筆寫偽代碼。
我的進度已經落后了大家,不過我會抓緊,盡量在周末寫出一個完整的思路。
posted @
2008-10-18 01:08 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(184) |
評論 (5) |
編輯 收藏
首先開一個窗口額。。大小(0.0)~(300.400)隨意吧。。然后我在這個窗口的下半部分生成小蟲蟲~假設開始時候是5只哈~~開一個數組之類的記錄進去(用藥丸消去的時候會減少。蟲蟲全部消去之后升級~刷新界面~重新生成蟲蟲)藥丸為一個類包括X,Y還有color等~~蟲為繼承藥丸的子類添加一個變量flag。。只要有這個的就閃爍~~作為提醒吧~~藥丸分左右兩個格子~顏色不同,我的旋轉是固定左下角坐標來的分四種情況。。笨笨的方法額。。算各點坐標畫出來的。。然后分情況填充顏色那種的。。旋轉命令產生后不馬上執行。。調用判斷函數。。檢測邊界(包括已經存在的方格和蟲蟲的位置還有左右下框框的邊界)若旋轉后于旋轉前都未于邊界接觸則旋轉,若已經與邊界(特指下方的邊界。則此藥丸位置固定)然后繼續檢測與其相鄰的橫向和豎向的4個顏色是否想同~~相同則相消(旁邊的也因此而要改變位置額。。復雜的想不出來了TAT)不相同則繼續扔下一個藥丸。。。這是大概的思路額。。本來想把上課畫的好多示意圖貼上來的。。不過背面被我涂鴉了。。哇卡卡卡~~5555555555過了12點了呢。。。表拍我啊。。。
posted @
2008-10-18 00:10 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(97) |
評論 (0) |
編輯 收藏
摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 #include <GL/glut.h> 2 #include <ctime> ...
閱讀全文
posted @
2008-10-17 23:52 正牌的天地之靈和他的徒兒們肖赫_王婷婷_王冠_鄭燚_孫婷 閱讀(203) |
評論 (0) |
編輯 收藏