[MonoDevelop] I want to run a c program on Prisoner's Dilemma in Mono - build report

Rajib Bandopadhyay bkpsusmitaa at gmail.com
Thu Jul 24 13:43:21 UTC 2014


Dear Mr. Norton,
I have replaced Boolean with Bool as suggested. I renamed the file as *.cpp.
Have you been able to run the program after conversion to c#? If you
have been successful then I shall proceed, otherwise, it would be a
waste of energy and time.
Regards,

On 24/07/2014, Ian Norton <ian.norton-badrul at thales-esecurity.com> wrote:
> On Thu, Jul 24, 2014 at 02:09:06PM +0100, Rajib Bandopadhyay wrote:
>> Dear Mr. Norton,
>> I know only c, and I haven't practiced c#. I am not confident if I can
>> take up the work, but it is sure worth a try. Also. I have no
>> alternative but to port the program to c++ or c#, do I?!
>> For that to happen I have to understand how the Prisoner's Dilemma was
>> written in the original code, barring the graphics part.
>> Thank you for responding.
>> Regards
>> Rajib Bandopadhyay
>
> Well, C# is very easy, but I guess for the purposes of this excercize it
> could
> just as well be done in both. (c# is much easier than C in my opionion)
>
> So, Lets start with C anyway.
>
> It is probably best you try and compile it by hand first, so try running:
>
> $ gcc -c prisoner.c
>
> I get errors like:
>
> inb at carrot:~$ gcc -c prisoner.c
> prisoner.c: In function 'main':
> prisoner.c:27:5: error: unknown type name 'WindowPtr'
> prisoner.c:28:5: error: unknown type name 'Rect'
> prisoner.c:39:5: error: unknown type name 'Boolean'
> prisoner.c:40:5: error: unknown type name 'Boolean'
> prisoner.c:42:16: error: 'qd' undeclared (first use in this function)
> prisoner.c:42:16: note: each undeclared identifier is reported only once for
> each function it appears in
> prisoner.c:47:20: warning: cast to pointer from integer of different size
> [-Wint-to-pointer-cast]
> prisoner.c:49:16: error: 'Boolean' undeclared (first use in this function)
>
> Which is complaining about WindowPtr, Rect as unknown types.
>
> Boolean suggests that the program was originally written for an Objective-C
> compiler, which makes sense if the original was for MacOS.
>
> So we'll probably want to remove or comment out the WindowPtr and Rect
> lines
> and replace "Boolean" with "bool" if we want this in C.
>
> See what you get after making those changes.
>
> Ian
>
>> On 24/07/2014, Ian Norton <ian.norton-badrul at thales-esecurity.com> wrote:
>> > On Thu, Jul 24, 2014 at 01:06:43PM +0100, Rajib Bandopadhyay wrote:
>> >> I contacted the original writer of the said codes, Prof.Alexander M
>> >> Kasprzyk, of the Imperial College, London. He says:
>> >> "..The code is written for Classic Mac OS -- this is the operating
>> >> system predating OS X, and will not run on any modern hardware. This
>> >> is explained quite clearly on the webpage. You will not be able to run
>> >> it "as-is" on any modern computer.
>> >> "But the code is only a few tens of lines long, and it is a beginner's
>> >> exercise in C programming to port it to the operating system of your
>> >> choice. There is, at most, an hour of work involved..."
>> >> Can someone with sufficient knowledge of c programming help me please?
>> >> Regards
>> >
>> > I'm sure there are a few of us but the monoodevelop list probably isn't
>> > the
>> > most likley place to be filled with C developers. (since monodevelop is
>> > mainly
>> > for c#)
>> >
>> > I'll try and get you started. Infact, probably the first thing to do is
>> > not
>> > use
>> > monodevelop for this, since you'll need to know about the compiler and
>> > what
>> > you
>> > are giving it. second you will need to adjust you expectations a bit,
>> > graphical
>> > programming is very hard. Currently prisoner.c draws directly to some
>> > sort
>> > of
>> > graphics window, you wont be able to get that sort of access very easily
>> > in
>> > C
>> > without learning about a specific library.
>> >
>> > That said, you could re-write it in C# which would give you easier
>> > access
>> > to
>> > graphics (System.Drawing + System.Windows.Forms) and would help you
>> > understand
>> > both the languages in use and the aspects that the demo illustrates
>> > from
>> > the
>> > thoery.
>> >
>> > Let me know what you'd like to try,
>> >
>> > Best Regards
>> >
>> > Ian
>> >
>> >> On 24/07/2014, Rajib Bandopadhyay <bkpsusmitaa at gmail.com> wrote:
>> >> > Thank you for trying, Mr. Norton.
>> >> >
>> >> > On 24/07/2014, Ian Norton <ian.norton-badrul at thales-esecurity.com>
>> >> > wrote:
>> >> >> Hi there,
>> >> >>
>> >> >> Well it looks like the code is missing some instructions. Like what
>> >> >> platform
>> >> >> it is intended for and what libraries it needs and the headers it
>> >> >> needs
>> >> >> to
>> >> >> include.
>> >> >>
>> >> >> For me it fails to compile as a c program because it has no idea
>> >> >> that
>> >> >> some
>> >> >> of the types are
>> >> >>
>> >> >> On 24 July 2014 10:07:43 BST, Rajib Bandopadhyay
>> >> >> <bkpsusmitaa at gmail.com>
>> >> >> wrote:
>> >> >>>Dear Mr. Norton,
>> >> >>>I have just the code, from the informed link. The field is game
>> >> >>> theory.
>> >> >>>Regards
>> >> >>>
>> >> >>>On 24/07/2014, Ian Norton <ian.norton-badrul at thales-esecurity.com>
>> >> >>>wrote:
>> >> >>>> Ok,  What kind of project did you create? A C Console project?
>> >> >>>>
>> >> >>>> On Thu, Jul 24, 2014 at 09:41:06AM +0100, Rajib Bandopadhyay
>> >> >>>> wrote:
>> >> >>>>> Dear Mr. Norton, I am trying to just use Monodevelop to build
>> >> >>>>> and
>> >> >>>run
>> >> >>>>> the C program? Regards
>> >> >>>>> Rajib Bandopadhyay
>> >> >>>>>
>> >> >>>>> On 24/07/2014, Rajib Bandopadhyay <bkpsusmitaa at gmail.com> wrote:
>> >> >>>>> > Dear Mr. Norton,
>> >> >>>>> > Could you please visit the original link provided with my
>> >> >>>>> > first
>> >> >>>post?
>> >> >>>>> > Eager to receive your solution.
>> >> >>>>> > Regards
>> >> >>>>> > Rajib Bandopadhyay
>> >> >>>>> >
>> >> >>>>> > On 24/07/2014, Ian Norton
>> >> >>>>> > <ian.norton-badrul at thales-esecurity.com>
>> >> >>>>> > wrote:
>> >> >>>>> >> Hi Rajib,
>> >> >>>>> >>
>> >> >>>>> >> Well the source you attached has some bits missing. (it has
>> >> >>>define
>> >> >>>>> >> rather
>> >> >>>>> >> than
>> >> >>>>> >> #define)
>> >> >>>>> >>
>> >> >>>>> >> Ian
>> >> >>>>> >>
>> >> >>>>> >> On Thu, Jul 24, 2014 at 09:16:49AM +0100, Rajib Bandopadhyay
>> >> >>>wrote:
>> >> >>>>> >>> Thank you for emailing, Mr. Norton! As I have informed in my
>> >> >>>earlier
>> >> >>>>> >>> email (along with link) I am trying to run this program
>> >> >>>>> >>> written
>> >> >>>in c
>> >> >>>>> >>> (and correct, as per poster, who is a Tenured Prof. in the
>> >> >>>>> >>> UK)
>> >> >>>in
>> >> >>>>> >>> Mono.
>> >> >>>>> >>> If I am successful in running the program (with your support)
>> >> >>>>> >>> I
>> >> >>>will
>> >> >>>>> >>> be in a position to study the various aspects of Game
>> >> >>>>> >>> theory.
>> >> >>>>> >>> Regards,
>> >> >>>>> >>> Rajib Bandopadhyay
>> >> >>>>> >>>
>> >> >>>>> >>> On 24/07/2014, Ian Norton
>> >> >>><ian.norton-badrul at thales-esecurity.com>
>> >> >>>>> >>> wrote:
>> >> >>>>> >>> > Are you trying to compile a c program (that looks full of
>> >> >>>errors)
>> >> >>>>> >>> > with
>> >> >>>>> >>> > monodevelop as a c# assembly?
>> >> >>>>> >>> >
>> >> >>>>> >>> > Can you describe the steps you take in setting up the
>> >> >>>>> >>> > project?
>> >> >>>>> >>> >
>> >> >>>>> >>> > On 24 July 2014 08:30:37 BST, Rajib Bandopadhyay
>> >> >>>>> >>> > <bkpsusmitaa at gmail.com>
>> >> >>>>> >>> > wrote:
>> >> >>>>> >>> >>I am very new to Mono. I wish to run a program on
>> >> >>>>> >>> >> Prisoner's
>> >> >>>>> >>> >> Dilemma
>> >> >>>>> >>> >>in Mono. The program is attached. The file is originally
>> >> >>>>> >>> >> from
>> >> >>>:
>> >> >>>>> >>> >>http://www.kasprzyk.demon.co.uk/www/alife/dilemma.html
>> >> >>>>> >>> >>The IDE reports:
>> >> >>>>> >>> >>Build successful.
>> >> >>>>> >>> >>Build failed. Object reference not set to an instance of
>> >> >>>>> >>> >> an
>> >> >>>object
>> >> >>>>> >>> >>
>> >> >>>>> >>> >>Conflicting outputs are confusing. Could anyone please
>> >> >>>>> >>> >> suggest
>> >> >>>where
>> >> >>>>> >>> >> I
>> >> >>>>> >>> >>am going wrong?
>> >> >>>>> >>> >>Regards,
>> >> >>>>> >>> >>Rajib Bandopadhyay
>> >> >>>>> >>> >>
>> >> >>>>> >>> >>
>> >> >>>>> >>> >>
>> >> >>>>> >>> >>================================
>> >> >>>>> >>> >>             Mono Version Information
>> >> >>>>> >>> >>================================
>> >> >>>>> >>> >>MonoDevelop 3.0.3.2
>> >> >>>>> >>> >>Installation UUID: 8c06afc7-839d-481d-bea9-2136986f0a9c
>> >> >>>>> >>> >>Runtime:
>> >> >>>>> >>> >>	Mono 2.10.8.1 (Debian 2.10.8.1-8)
>> >> >>>>> >>> >>	GTK 2.24.10
>> >> >>>>> >>> >>	GTK# (2.12.0.0)
>> >> >>>>> >>> >>Build information:
>> >> >>>>> >>> >>	Git revision:
>> >> >>>>> >>> >> 7bf6ac0ca43c1b12703176ad9933c3484c05c84c-dirty
>> >> >>>>> >>> >>	Build date: 2012-06-22 20:57:52+0000
>> >> >>>>> >>> >>Operating System:
>> >> >>>>> >>> >>	Linux
>> >> >>>>> >>> >>	Linux Microknoppix 3.9.6 #25 SMP PREEMPT Sat Jun 15
>> >> >>>>> >>> >> 15:27:01
>> >> >>>CEST
>> >> >>>>> >>> >>2013 i686 GNU/Linux
>> >> >>>>> >>> >
>> >> >>>>> >>> _______________________________________________
>> >> >>>>> >>> Monodevelop-list mailing list
>> >> >>>>> >>> Monodevelop-list at lists.ximian.com
>> >> >>>>> >>> http://lists.ximian.com/mailman/listinfo/monodevelop-list
>> >> >>>>> >>
>> >> >>>>> >
>> >> >>>>> _______________________________________________
>> >> >>>>> Monodevelop-list mailing list
>> >> >>>>> Monodevelop-list at lists.ximian.com
>> >> >>>>> http://lists.ximian.com/mailman/listinfo/monodevelop-list
>> >> >>>>
>> >> >>
>> >> >
>> >
>


More information about the Monodevelop-list mailing list