|
|
发表于 25-11-2008 12:22 AM
|
显示全部楼层
找了幾個Tetris的Flash玩了幾下發現旋轉方面都有區別
比如説直綫
有的是左邊要空一格才能轉,右邊要空兩格才能轉
有的是左邊要空兩格才能轉,右邊要空一格才能轉
題外話)以前Favourite過一個Google到的Tetris的文章但沒有細看,是關於12行寫Tetris的
這個天才是這樣轉的
XOOO
XOOO
XOOO
XOOO
轉
OOOO
OOOO
XXXX
OOOO
轉
OXOO
OXOO
OXOO
OXOO
轉
OOOO
XXXX
OOOO
OOOO
再轉回到
XOOO
XOOO
XOOO
XOOO
除了直綫外,這個天才的T在轉的時候也是會上下左右變化
OXOO
OXXO
OXOO
OOOO
轉
OOOO
OXOO
XXXO
OOOO
轉
OOOO
OOXO
OXXO
OOXO
轉
OOOO
OXXX
OOXO
OOOO
再轉回到
OXOO
OXXO
OXOO
OOOO
像我這種寫Tetris要一百行以上的菜鳥還真的不得不對這種30行寫出來的天才配服到五体投地阿 |
|
|
|
|
|
|
|
|
|
|
发表于 25-11-2008 09:09 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 27-11-2008 01:53 PM
|
显示全部楼层
制作Tetris的流程
以下以ABC标题的,可以不管次序,以123标题就需要
A 定义Global参数
1。砖的种类
2。砖的方向
3。砖的位置 (也可以直接在下一个参数中放砖)
4。以自己的方式先定义游戏的空间,也就是方块落下的空间。可以用1D array或2D array。当中以bit就足够,除非方块的颜色想保持不一样,就用char或int之类的。(这是为什么我们玩的,掉下后都是一个颜色的)
B 设计/编写游戏规则和系统(main game loop)
1。定义一个loop,这个loop就是方块下跌的速度(当中会有一个参数可以自由更换下跌速度,这样很容易更改游戏难度)
2。Random一块砖(转动砖另外写)并且接受玩家的输入(input另外写)
3。更改砖的位置(下跌)
4。在loop中需要检查方块碰到了地没有,碰到后通长还允许玩家有一小段时间转或移动
5。过了允许玩家动的时间就把input给暂时freeze掉(input另外写)
6。检查吃了没有,吃了就加分,删除,移动等等
7。update 画面
8。停顿N秒(控制速度)
C 玩家输入
1。定义玩家的输入键
2。定义一个参数来hold砖的现况
3。定义一个参数来hold砖的种类
4。把每一个砖的每一个可能性都以array定义出来(参考#21楼)
5。当玩家一按输入键,就把参数转换
D 画面输出
1。根据游戏空间的array,以及砖的位置,把画面画出来。使用GDI+,directX,OpenGL都可以
2。通常是在Main Game Loop中Call这个Function
暂时想到这么多
遗漏的请大家补上吧
希望能够帮到楼主 |
|
|
|
|
|
|
|
|
|
|
发表于 27-11-2008 06:11 PM
|
显示全部楼层
想象你自己是一个方格,每隔一段时间或有按键就update一次:
先处理按键
下面都有空位就告诉邻居
自己和所有邻居下面都有空位就往下移
旁边是墙就告诉邻居
两个邻居都说有墙就自我消失
最后一个update就在高处生个孩子
不是第四个孩子就随机一边再生一个
PS: 第一个程式其实不用什么graphic driver的啦,ASCII art就可以了。 |
|
|
|
|
|
|
|
|
|
|
发表于 28-11-2008 03:10 AM
|
显示全部楼层
回复 22# tensaix2j 的帖子
看到這個很有趣
讓我也有想寫個類似的遊戲的衝動
 |
|
|
|
|
|
|
|
|
|
|
发表于 29-11-2008 10:09 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 30-11-2008 07:39 PM
|
显示全部楼层
回复 26# tensaix2j 的帖子
表給我壓力
我不想一直開空頭支票
 |
|
|
|
|
|
|
|
|
|
|
发表于 1-12-2008 06:18 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 1-12-2008 07:40 PM
|
显示全部楼层
LS 那个什么link来的 |
|
|
|
|
|
|
|
|
|
|
发表于 8-12-2008 12:46 PM
|
显示全部楼层
|
要倒了,有什么free shell hosting介绍吗? |
|
|
|
|
|
|
|
|
|
|
发表于 31-12-2008 11:46 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 1-1-2009 08:25 PM
|
显示全部楼层
回复 31# tensaix2j 的帖子
被你說中了
一下想玩這個
一下想玩那個
如果沒有一個很concrete的motivation的話
真的很難去完成一樣東西 |
|
|
|
|
|
|
|
|
|
|
发表于 6-1-2009 01:07 AM
|
显示全部楼层
|
原来大家都是这样,哈哈哈。。。我们可以一群这样的人组一个同好会正正经经的找一件事情来做也不错啊。。hmm.. |
|
|
|
|
|
|
|
|
|
|
发表于 6-1-2009 03:21 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 10-1-2009 08:01 PM
|
显示全部楼层
回复 34# Squall_Chua 的帖子
当然是找有名望有能力的人来做啊。。
我区区一个默默无闻的小角色,担当不起这个大担子啦。。
话说回来之前用c++编程的时候就会很羡慕那些java、ruby、php的人有这么多现成的library很方便调用
很想写一个像java的API 那样的一个大library 方便一下,而且还要cross-platform的
[ 本帖最后由 chingjun 于 10-1-2009 08:04 PM 编辑 ] |
|
|
|
|
|
|
|
|
|
|
发表于 11-1-2009 05:48 PM
|
显示全部楼层
回复 35# chingjun 的帖子
寫c++你也可以去找很多library來用的
不過都比較low level
但是可以學到比較多東西
 |
|
|
|
|
|
|
|
|
|
|
发表于 18-1-2009 04:05 PM
|
显示全部楼层
|
我最近在学写android游戏, 有没有人也在学? |
|
|
|
|
|
|
|
|
|
|
发表于 22-2-2009 05:40 PM
|
显示全部楼层
回复 37# tensaix2j 的帖子
偷偷的過來說
我最近也在研究android
形勢所逼沒辦法 |
|
|
|
|
|
|
|
|
|
|
发表于 25-2-2009 09:03 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 26-2-2009 02:49 PM
|
显示全部楼层
回复 39# tensaix2j 的帖子
我沒有在寫android的遊戲
所以你隨時都可以開帖先的
 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|