佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: wulinxiaozi

有事请求。。。

[复制链接]
发表于 11-12-2007 03:12 PM | 显示全部楼层
原帖由 tensaix2j 于 23-11-2007 04:48 PM 发表
我就做副导师好了。。 :)

array 跟 pointer ,有着密切的关系,
但并不代表他们是一样。。

例子

1.    unsigned char   a[100];
2.    unsigned char  *a= (char *)malloc(100);  

在这里,他们 ...


这里, array 又有个好玩的东西。。

char *s = "abcdefg" ;

这时,你应该知道,  s[0] 就是 'a' ,  s[1] 就是 'b'.... 以此类推。。

同样的, 你  拿   *s , 就是 dereferencing 的意思, 就会拿到 'a' 这个character, 因为 s 现在 指着 它
你也可以用 pointer arithmetic 来 offset, 在 dereference 那就是    *(s+1), 这就拿到  ‘b’ 这个character

那么。。。 *(s+1)   其实也可以写成   *(1+s) 那么。。 array 的角度来看 就变成  1 。。。。

那么  s[0] == 0  , s[1]==1 ....  以此类推。

有趣吧。。
回复

使用道具 举报


ADVERTISEMENT

发表于 1-3-2008 09:52 AM | 显示全部楼层
小弟刚用C#写了个Tic Tac Toe..但觉得写得又长又啰嗦。。
想放上来献献丑...
http://rapidshare.com/files/96052359/Tic_Tac_Toe.exe.html

还应该放什么File???
回复

使用道具 举报

发表于 1-3-2008 11:20 PM | 显示全部楼层
原帖由 xFreaKx 于 1-3-2008 09:52 AM 发表
小弟刚用C#写了个Tic Tac Toe..但觉得写得又长又啰嗦。。
想放上来献献丑...
http://rapidshare.com/files/96052359/Tic_Tac_Toe.exe.html

还应该放什么File???


The application failed to initialize properly (0xc0000135). Click on OK to terminate the application.

或許我需要 update / reinstall 我的 .net framework....

或許做 java 或者 swf game 會比較容易發放.

[ 本帖最后由 flashang 于 5-3-2008 11:40 AM 编辑 ]
回复

使用道具 举报

发表于 2-3-2008 11:49 AM | 显示全部楼层
=.="".......
但我只会C和C#的一点点而已。。
Java & flash 不是很会。。。

没关系。。我会继续努力的
回复

使用道具 举报

发表于 5-3-2008 11:41 AM | 显示全部楼层
原帖由 xFreaKx 于 1-3-2008 09:52 AM 发表
小弟刚用C#写了个Tic Tac Toe..但觉得写得又长又啰嗦。。
想放上来献献丑...


沒有把 source code 放上來, 讓大家討論討論 ?
回复

使用道具 举报

发表于 6-3-2008 08:36 AM | 显示全部楼层
我不知道要upload什么File嘛....这个是Form.cs...

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Tic_Tac_Toe
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void newGameToolStripMenuItem_Click(object sender, EventArgs e)
        {
            score1 = 0;
            score2 = 0;
            label3.Text = Convert.ToString(score1);
            label4.Text = Convert.ToString(score2);
            radioButton1.Checked = true;
            radioButton2.Checked = false;
            button1.Text = " ";
            button2.Text = " ";
            button3.Text = " ";
            button4.Text = " ";
            button5.Text = " ";
            button6.Text = " ";
            button7.Text = " ";
            button8.Text = " ";
            button9.Text = " ";
            button1.Enabled = true;
            button2.Enabled = true;
            button3.Enabled = true;
            button4.Enabled = true;
            button5.Enabled = true;
            button6.Enabled = true;
            button7.Enabled = true;
            button8.Enabled = true;
            button9.Enabled = true;
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        public int PlayerTurns = 1;
        public int score1 = 0;
        public int score2 = 0;

        public void NextPlayer()
        {
            PlayerTurns++;
            if (PlayerTurns > 2)
                PlayerTurns = 1;
            switch (PlayerTurns)
            {
                case 1:
                    radioButton1.Checked = true;
                    radioButton2.Checked = false;
                    break;
                case 2:
                    radioButton1.Checked = false;
                    radioButton2.Checked = true;
                    break;
            }
        }

        public void WinStatus()
        {
            if (button1.Text == button2.Text&&button2.Text == button3.Text&&button3.Text != " " ||
                button4.Text == button5.Text&&button5.Text == button6.Text&&button6.Text != " " ||
                button7.Text == button8.Text&&button8.Text == button9.Text&&button9.Text != " " ||
                button1.Text == button4.Text&&button4.Text == button7.Text&&button7.Text != " " ||
                button2.Text == button5.Text&&button5.Text == button8.Text&&button8.Text != " " ||
                button3.Text == button6.Text&&button6.Text == button9.Text&&button9.Text != " " ||
                button3.Text == button5.Text&&button5.Text == button7.Text&&button7.Text != " " ||
                button1.Text == button5.Text&&button5.Text == button9.Text&&button9.Text != " " )
            {
                if (PlayerTurns == 1)
                {
                    MessageBox.Show("Player 1 Win!");
                    score1++;
                    label3.Text = Convert.ToString(score1);
                }
                else
                {
                    MessageBox.Show("Player 2 Win!");
                    score2++;
                    label4.Text = Convert.ToString(score2);
                }
                button1.Text = " ";
                button2.Text = " ";
                button3.Text = " ";
                button4.Text = " ";
                button5.Text = " ";
                button6.Text = " ";
                button7.Text = " ";
                button8.Text = " ";
                button9.Text = " ";
                button1.Enabled = true;
                button2.Enabled = true;
                button3.Enabled = true;
                button4.Enabled = true;
                button5.Enabled = true;
                button6.Enabled = true;
                button7.Enabled = true;
                button8.Enabled = true;
                button9.Enabled = true;
            }
            else if (button1.Text != " " && button2.Text != " " && button3.Text != " " &&
                button4.Text != " " && button5.Text != " " && button6.Text != " " &&
                button7.Text != " " && button8.Text != " " && button9.Text != " ")
            {
                MessageBox.Show("Draw!");
                button1.Text = " ";
                button2.Text = " ";
                button3.Text = " ";
                button4.Text = " ";
                button5.Text = " ";
                button6.Text = " ";
                button7.Text = " ";
                button8.Text = " ";
                button9.Text = " ";
                button1.Enabled = true;
                button2.Enabled = true;
                button3.Enabled = true;
                button4.Enabled = true;
                button5.Enabled = true;
                button6.Enabled = true;
                button7.Enabled = true;
                button8.Enabled = true;
                button9.Enabled = true;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            switch (PlayerTurns)
            {
                case 1:
                    button1.Text="X";
                    break;
                case 2:
                    button1.Text = "O";
                    break;
            }
            button1.Enabled = false;
            WinStatus();
            NextPlayer();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            switch (PlayerTurns)
            {
                case 1:
                    button2.Text = "X";
                    break;
                case 2:
                    button2.Text = "O";
                    break;
            }
            button2.Enabled = false;
            WinStatus();
            NextPlayer();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            switch (PlayerTurns)
            {
                case 1:
                    button3.Text = "X";
                    break;
                case 2:
                    button3.Text = "O";
                    break;
            }
            button3.Enabled = false;
            WinStatus();
            NextPlayer();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            switch (PlayerTurns)
            {
                case 1:
                    button4.Text = "X";
                    break;
                case 2:
                    button4.Text = "O";
                    break;
            }
            button4.Enabled = false;
            WinStatus();
            NextPlayer();
        }

        private void button5_Click(object sender, EventArgs e)
        {
            switch (PlayerTurns)
            {
                case 1:
                    button5.Text = "X";
                    break;
                case 2:
                    button5.Text = "O";
                    break;
            }
            button5.Enabled = false;
            WinStatus();
            NextPlayer();
        }

        private void button6_Click(object sender, EventArgs e)
        {
            switch (PlayerTurns)
            {
                case 1:
                    button6.Text = "X";
                    break;
                case 2:
                    button6.Text = "O";
                    break;
            }
            button6.Enabled = false;
            WinStatus();
            NextPlayer();
        }

        private void button7_Click(object sender, EventArgs e)
        {
            switch (PlayerTurns)
            {
                case 1:
                    button7.Text = "X";
                    break;
                case 2:
                    button7.Text = "O";
                    break;
            }
            button7.Enabled = false;
            WinStatus();
            NextPlayer();
        }

        private void button8_Click(object sender, EventArgs e)
        {
            switch (PlayerTurns)
            {
                case 1:
                    button8.Text = "X";
                    break;
                case 2:
                    button8.Text = "O";
                    break;
            }
            button8.Enabled = false;
            WinStatus();
            NextPlayer();
        }

        private void button9_Click(object sender, EventArgs e)
        {
            switch (PlayerTurns)
            {
                case 1:
                    button9.Text = "X";
                    break;
                case 2:
                    button9.Text = "O";
                    break;
            }
            button9.Enabled = false;
            WinStatus();
            NextPlayer();
        }
    }
}
回复

使用道具 举报

Follow Us
发表于 6-3-2008 01:43 PM | 显示全部楼层
原帖由 geekman 于 22-11-2007 06:41 PM 发表
刚刚从头再看完所有的帖子,觉得或许我应该补充一些基本的概念,希望能够对刚学习电脑语言的朋友们有所帮助。

虽然我是学 C 出身的,后来为了进入 windows 的世界而自修了 C++,不过接下来所说的应该对各种语言都 ...


以前我也是想你那樣認為 char = 8 bits. short = 2 bytes, int = 4 bytes. 其實也要看編譯器和處理器的架構.
當然...你所說得在x86架構上是成立的。
回复

使用道具 举报

发表于 15-3-2008 10:19 PM | 显示全部楼层
原帖由 xFreaKx 于 6-3-2008 08:36 AM 发表
我不知道要upload什么File嘛....这个是Form.cs...

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using S ...


刚刚看了一下,
有些建议:
1. 用 array 來取代 button1, button2, ...
            static Button[] btn_arr = new Button[9];
            否則下次做 minesweeper 豈不做到 button100, 101, ...


2. 用 array 來紀錄 x / o 而不是用 buttonx.Text = 'X'
           這樣可以用其他的東西 ( 例如 image ) 來取代 button


3. 用可調整的判定
           例如 int checkList[ 9 ] [3 ];
            checkList[ 0 ] = new int [] { 1, 4, 7 };
            checkList[ 1 ] = new int [] { 2, 5, 8 };
            ...
           然後用 checkList[ i ] 中的三個位置來判定 board

           這個方法也可以修改成簡單的 ai.
回复

使用道具 举报


ADVERTISEMENT

发表于 16-3-2008 07:03 PM | 显示全部楼层
哦。。想问下,如果我按NewGame,那么要如何让所有的Value恢复原来的?我这儿是重新设回所有的Value..
那个dispose()是如何用的?
回复

使用道具 举报

发表于 18-3-2008 02:09 AM | 显示全部楼层
原帖由 xFreaKx 于 16-3-2008 07:03 PM 发表
哦。。想问下,如果我按NewGame,那么要如何让所有的Value恢复原来的?我这儿是重新设回所有的Value..
那个dispose()是如何用的?


你不是有 newGameToolStripMenuItem_Click 了嗎 ?
回复

使用道具 举报

发表于 18-3-2008 10:57 AM | 显示全部楼层
有,但是那个是Manual的把Value一个一个设回,我是想问问有没有什么办法可以直接reset回所有的value,就像刚刚启动程式酱的。。
回复

使用道具 举报

发表于 18-3-2008 11:50 AM | 显示全部楼层
原帖由 xFreaKx 于 18-3-2008 10:57 AM 发表
有,但是那个是Manual的把Value一个一个设回,我是想问问有没有什么办法可以直接reset回所有的value,就像刚刚启动程式酱的。。


這樣的 programming 觀念是不對的.

程式剛啟動, 所有的 variables 都是 unknown 或者 null,
你如果不放入你需要的 value, 你確定程式會照你預定的方式執行 ?
回复

使用道具 举报

发表于 12-4-2008 10:38 AM | 显示全部楼层

回复 24# 阿牙木 的帖子

你也学 Xna 啊!!
我们来交流交流。。
我也用 Xna 写了一个 game..
可以看看我的game...
http://victorktchong.blogs.friendster.com/my_blog/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 8-1-2026 06:27 AM , Processed in 0.091904 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表