HseyinAkkaya Hocam tam anlayamadım nasıl kullanacağımı. 🙂
Kodumun düzgün gali şu.
Bu oyunun olduğu ana dosya.
class Oyun extends StatefulWidget {
@override
_OyunState createState() => _OyunState();
}
class _OyunState extends State<Oyun> {
var kare1 = new Kare(Colors.grey, '?');
var kare2 = new Kare(Colors.grey, '?');
var kare3 = new Kare(Colors.grey, '?');
var kare4 = new Kare(Colors.grey, '?');
var kare5 = new Kare(Colors.grey, '?');
var buton1 = new Buton(Colors.blue, 'A', fonk);
var buton2 = new Buton(Colors.blue, 'B', fonk);
var buton3 = new Buton(Colors.blue, 'C', fonk);
var buton4 = new Buton(Colors.blue, 'D', fonk);
var buton5 = new Buton(Colors.blue, 'E', fonk);
static fonk() {
print('fonk calisiti');
//
// Burada butona tıklandığında butonun rengini ve harfini değiştirecek kod olacak.
//
// kare1.renk = buton2.renk;
// kare1.harf = buton2.deger;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: <Widget>[
SizedBox(height: 50.0),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
kare1,
kare2,
kare3,
kare4,
kare5,
],
),
SizedBox(height: 100),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
buton1,
buton2,
buton3,
buton4,
buton5,
],
),
],
),
);
}
}
Bu üst taraftaki boş karelerin kodu.
class Kare extends StatefulWidget {
final Color renk;
final String harf;
Kare(this.renk, this.harf);
@override
_KareState createState() => _KareState();
}
class _KareState extends State<Kare> {
@override
Widget build(BuildContext context) {
return Container(
height: 50.0,
width: 50.0,
color: widget.renk,
child: Center(
child: Text(
'${widget.harf}',
style: TextStyle(
color: Colors.white,
fontSize: 30.0,
),
),
),
);
}
}
Bu da butonların.
class Buton extends StatefulWidget {
final Color renk;
final String deger;
final Function fonk;
Buton(this.renk, this.deger, this.fonk);
@override
_ButonState createState() => _ButonState();
}
class _ButonState extends State<Buton> {
@override
Widget build(BuildContext context) {
return GestureDetector(
child: Container(
width: 50.0,
height: 50.0,
color: widget.renk,
child: Center(
child: Text(
'${widget.deger}',
style: TextStyle(
color: Colors.white,
fontSize: 30.0,
),
),
),
),
onTap: () => widget.fonk(),
);
}
}
Kodu tırnakların içine yazdım neden böyle gözüküyor bilmiyorum bu arada 🙂