000
11.04.2003, 16:53 Uhr
~Tribun
Gast
|
Hallo also wir haben bei uns in der Schule die Aufgabe ein Mensch Ärger dich nicht spiel zu basteln. Leider habe ich da nicht viel Ahnung von. Momentan sieht das ganze so aus :
//---------------------------------------------------------------------------
#include <vcl.h> #pragma hdrstop
#include "Mensch.h" #include <stdlib.h> //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; class spieler {public: int nummer; int position, start, ziel; bool angekommen; spieler(){angekommen=false; } void setzen(int feldnr) // setzt Spielfigur auf angegebenes Feld {position=feldnr; Form1->Feld->Cells[feldnr][0]=nummer;
} void starten() {start=nummer*10-1; setzen(start); ziel=start-1; } int wuerfeln() {return random(6)+1;} void ziehen(); // Prototyp; Definition siehe unten };
spieler spielernr[4];
void spieler::ziehen() {if (angekommen==false) {Form1->Feld->Cells[position][0]=""; int zug=wuerfeln(); if (position<ziel && position+zug >= ziel) // Ziel erreicht {angekommen=true; position=ziel; Form1->Feld->Cells[ziel][1]=nummer; } else {position=position+zug; if (position>39) {position=position-40;} if (Form1->Feld->Cells[position][0]!="") //Feld besetzt, hinauswerfen {int losernr=Form1->Feld->Cells[position][0].ToInt()-1; Form1->Feld->Cells[position][0]=""; spielernr[losernr].setzen ( spielernr[losernr].start ); //Anfang Listbox int geschlagener=losernr+1; Form1->ListBox1->Items->Add("spieler "+(AnsiString)geschlagener +" wurde von spieler "+(AnsiString)nummer +" geschlagen"); //Ende Listbox } setzen(position); }} } // Ende ziehen
//--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) {randomize(); for (int i=0; i<4; i++) {spielernr[i].nummer=i+1; spielernr[i].starten(); } } //---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) { spielernr[0].ziehen(); if (spielernr[0].angekommen==true) {Button1->Enabled=false;} } //---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) { spielernr[1].ziehen(); if (spielernr[1].angekommen==true) {Button2->Enabled=false;} } //---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender) { spielernr[2].ziehen(); if (spielernr[2].angekommen==true) {Button3->Enabled=false;} } //---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender) { spielernr[3].ziehen(); if (spielernr[3].angekommen==true) {Button3->Enabled=false;} } //---------------------------------------------------------------------------
Jetzt soll ich da noch ändern das einmal in einer Listbox immer angezeigt wird, was geworfen wurde. Dann das man erst mit einer 6 rauskommt und drei Versuche hat und um den ganzen noch ne Krone aufzusetzen. Soll der Spieler wenn er eine Runde gedreht hat vor dem Zielfeld so lange stehen bleiben bis er die korrekte Augenzahl geworfen hat. Wenn er einer das Ziel erreicht hat wird sein Button deaktiviert. Na ja ich habe Null Ahnung und was oben steht was schon viel Arbeit für mich, aber unserer Lehrer ist nen wenig doof weil der das alles haben will. wäre nett wenn mir Jemand nen paar Tipps geben könte, wie man das macht.
Thx Tribun |