Files
flutter-mancala/lib/main.dart

99 lines
2.7 KiB
Dart

import 'package:flutter/material.dart';
void main() {
runApp(const MainApp());
}
class MainApp extends StatelessWidget {
const MainApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(home: Scaffold(body: GameBoard()));
}
}
class GameBoard extends StatelessWidget {
const GameBoard({super.key});
@override
Widget build(BuildContext context) {
var text = "hello test lalala";
return Row(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
// Player 1 Goal
Column(
children: [Center(child: PlayerHole(text: "P1"))],
),
// Center holes
Column(
//spacing: 2,
children: [
Row(
//spacing: 2,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Column(children: [BoardSpot(text: "0,0")]),
Column(children: [BoardSpot(text: "1,0")]),
Column(children: [BoardSpot(text: "2,0")]),
Column(children: [BoardSpot(text: "3,0")]),
Column(children: [BoardSpot(text: "4,0")]),
Column(children: [BoardSpot(text: "5,0")]),
],
),
Row(
//spacing: 2,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Column(children: [BoardSpot(text: "0,1")]),
Column(children: [BoardSpot(text: "1,1")]),
Column(children: [BoardSpot(text: "2,1")]),
Column(children: [BoardSpot(text: "3,1")]),
Column(children: [BoardSpot(text: "4,1")]),
Column(children: [BoardSpot(text: "5,1")]),
],
),
BoardSpot(text: text),
],
),
// Player 2 Goal
Column(
children: [Center(child: PlayerHole(text: "P2"))],
),
],
);
}
}
class BoardSpot extends StatelessWidget {
final String text;
final double w;
final double h;
BoardSpot({super.key, required this.text, this.w = 50, this.h = 50});
@override
Widget build(BuildContext context) {
return SizedBox(
width: w,
height: h,
child: Center(child: Text(text, textAlign: TextAlign.center)),
);
}
}
class PlayerHole extends StatelessWidget {
final String text;
PlayerHole({super.key, required this.text});
@override
Widget build(BuildContext context) {
return BoardSpot(w: 50, h: 100, text: text);
}
}