first commit
This commit is contained in:
73
pages/_app.js
Normal file
73
pages/_app.js
Normal file
@ -0,0 +1,73 @@
|
||||
import { ChakraProvider } from '@chakra-ui/react';
|
||||
import Head from 'next/head';
|
||||
import Script from 'next/script';
|
||||
|
||||
// eslint-disable-next-line react/prop-types
|
||||
export default function App(props) {
|
||||
return (
|
||||
<>
|
||||
<Script
|
||||
strategy="lazyOnload"
|
||||
src="https://www.googletagmanager.com/gtag/js?id=G-N7EVGCFBVC"
|
||||
/>
|
||||
<Script
|
||||
id="google-analytics"
|
||||
strategy="lazyOnload"
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
window.dataLayer = window.dataLayer || []; function
|
||||
gtag(){dataLayer.push(arguments);} gtag('js', new Date());
|
||||
gtag('config', 'G-N7EVGCFBVC', { page_path:
|
||||
window.location.pathname, });
|
||||
`,
|
||||
}}
|
||||
/>
|
||||
<Head>
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
sizes="180x180"
|
||||
href="/apple-touch-icon.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="/favicon-32x32.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="16x16"
|
||||
href="/favicon-16x16.png"
|
||||
/>
|
||||
<link rel="manifest" href="/site.webmanifest" />
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#d6c420" />
|
||||
<meta name="msapplication-TileColor" content="#ffc40d" />
|
||||
<meta name="theme-color" content="#ffffff" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta
|
||||
property="og:title"
|
||||
content="Free Online Draughts Game - play against the computer"
|
||||
/>
|
||||
<meta property="og:url" content="https://draughts.org/" />
|
||||
<meta property="og:site_name" content="Draughts" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="Play draughts free online against the computer. Read about Rules and Strategies for Draughts"
|
||||
/>
|
||||
<meta name="robots" content="index, follow" />
|
||||
<meta
|
||||
name="description"
|
||||
content="Play draughts free online against the computer. Read about Rules and Strategies for Draughts"
|
||||
/>
|
||||
<meta
|
||||
name="keywords"
|
||||
content="draughts,checkers,free draughts,free checkers,board games,board gaming online,play draughts online,play checkers online,play free games online,free games,online games,online checkers,online draughts"
|
||||
/>
|
||||
</Head>
|
||||
<ChakraProvider>
|
||||
<props.Component {...props.pageProps} />
|
||||
</ChakraProvider>
|
||||
</>
|
||||
);
|
||||
}
|
||||
15
pages/_document.js
Normal file
15
pages/_document.js
Normal file
@ -0,0 +1,15 @@
|
||||
import NextDocument, { Html, Head, Main, NextScript } from 'next/document';
|
||||
|
||||
export default class Document extends NextDocument {
|
||||
render() {
|
||||
return (
|
||||
<Html lang="en">
|
||||
<Head />
|
||||
<body>
|
||||
<Main />
|
||||
<NextScript />
|
||||
</body>
|
||||
</Html>
|
||||
);
|
||||
}
|
||||
}
|
||||
82
pages/history.jsx
Normal file
82
pages/history.jsx
Normal file
@ -0,0 +1,82 @@
|
||||
import Head from 'next/head';
|
||||
import { Container, Text, VStack } from '@chakra-ui/react';
|
||||
import Image from 'next/image';
|
||||
import { MainLayout } from '../components/layout/MainLayout';
|
||||
import aquerqueImage from '../public/history/aquerque.jpeg';
|
||||
import draughts1700sImage from '../public/history/draughts-1700s.webp';
|
||||
|
||||
export default function History() {
|
||||
return (
|
||||
<MainLayout>
|
||||
<Head>
|
||||
<title>Givan Dam - Main Dam</title>
|
||||
</Head>
|
||||
<VStack p={[3, 0]} spacing={6}>
|
||||
<Text>
|
||||
Penggalian arkeologi di Irak menemukan bentuk paling awal yang diketahui
|
||||
permainan Draf. Penanggalan karbon digunakan untuk menentukan umur
|
||||
permainan kuno, dan tampaknya berasal dari sekitar 3000 SM. Itu
|
||||
papan dan jumlah potongan yang digunakan berbeda dari
|
||||
Papan draf dan potongan digunakan saat ini.
|
||||
</Text>
|
||||
<Text>
|
||||
Sekitar 1400 SM, orang Mesir kuno menggunakan papan berukuran 5 x 5 untuk memainkan a
|
||||
permainan yang disebut Aquerque. Permainan ini sangat populer selama ini dan
|
||||
itu dimainkan di seluruh peradaban barat selama ribuan tahun.
|
||||
</Text>
|
||||
<Container maxW="md">
|
||||
<Image src={aquerqueImage} alt="ancient 5x5 egyption chessboard" />
|
||||
</Container>
|
||||
<Text>
|
||||
Sekitar tahun 1100 A.D., permainan Aquerque berubah ketika seorang Prancis memainkannya
|
||||
itu di papan catur menggunakan 12 buah untuk setiap pemain. Nama dari
|
||||
permainan juga berubah. Itu dikenal sebagai "Fierges."
|
||||
</Text>
|
||||
<Text>
|
||||
Evolusi Draf berikutnya terjadi ketika peraturan berubah lagi,
|
||||
membuatnya wajib untuk melompati Draf untuk maju ke seluruh papan.
|
||||
Versi yang lebih baru ini lebih menantang daripada yang lama. Versi lama
|
||||
dianggap lebih lambat dan kurang menantang, dan menjadi sosial
|
||||
permainan yang dimainkan oleh para wanita pada zaman itu dan disebut “La Jeu Pleasant De
|
||||
Dames,” (permainan wanita yang menyenangkan). Yang baru, lebih agresif
|
||||
bentuk permainan tersebut dikenal dengan nama “Jeu Force” (Play Force).
|
||||
</Text>
|
||||
<Text>
|
||||
Draf akhirnya diekspor dari Prancis ke Inggris, Spanyol, dan
|
||||
Amerika. Di Spanyol sekitar pertengahan tahun 1500-an, buku mulai ada
|
||||
ditulis tentang Draf. Pada tahun 1756, William Payne, seorang matematikawan di
|
||||
Inggris, menulis bukunya sendiri tentang Draf.
|
||||
</Text>
|
||||
<Container maxW="md">
|
||||
<Image
|
||||
src={draughts1700sImage}
|
||||
alt="draughts being played in the 1700s"
|
||||
/>
|
||||
</Container>
|
||||
<Text>
|
||||
Pada tahun 1847, kejuaraan dunia Draf pertama berlangsung. Seiring waktu
|
||||
berlalu, menjadi jelas bahwa game tersebut menghadirkan bukaan yang memberi
|
||||
keuntungan satu pihak atas pihak lain. Ada dua batasan gerakan
|
||||
dibuat di mana permainan dimulai dengan gaya acak. Dua ini
|
||||
pembatasan bergerak sebagian besar digunakan oleh pemain ahli. Di zaman modern
|
||||
Turnamen draf, tiga batasan gerakan digunakan.
|
||||
</Text>
|
||||
<Text>
|
||||
Seiring kemajuan teknologi, tidak lama kemudian programmer komputer
|
||||
mulai mengembangkan game Draft yang sangat mendasar yang dapat dimainkan
|
||||
komputer. Alan Turing membuat game Draf yang belum sempurna di atas kertas
|
||||
karena komputer pada saat itu belum cukup berkembang untuk menjalankannya
|
||||
Program draf. Pada tahun 1952, Arthur L. Samuel membuat Draf pertama
|
||||
program yang sebenarnya bisa dimainkan di komputer. Dari titik itu
|
||||
maju, game Draf komputer telah meningkat dalam kecepatan dan fungsi.
|
||||
</Text>
|
||||
<Text>
|
||||
Program Draf saat ini membutuhkan perencanaan yang kurang strategis dan lebih banyak lagi
|
||||
kemampuan pencarian data komputer. Program Draf menggunakan database
|
||||
pencarian yang menampilkan semua kemungkinan kombinasi ketika ada beberapa bagian
|
||||
tertinggal di papan.
|
||||
</Text>
|
||||
</VStack>
|
||||
</MainLayout>
|
||||
);
|
||||
}
|
||||
38
pages/index.jsx
Normal file
38
pages/index.jsx
Normal file
@ -0,0 +1,38 @@
|
||||
import Head from 'next/head';
|
||||
import { Divider, Heading, HStack, VStack } from '@chakra-ui/react';
|
||||
import { DraughtsMenuView } from '../components/draughts/settings/views/DraughtsMenu';
|
||||
import { DraughtsProvider } from '../components/draughts/DraughtsContext';
|
||||
import { DraughtsBoard } from '../components/draughts/board/views/DraughtsBoard';
|
||||
import { DraughtsGameInfoView } from '../components/draughts/DraughtsGameInfo';
|
||||
import { ComputerDifficulty } from '../components/draughts/settings/constants/computer-difficulty';
|
||||
import { MainLayout } from '../components/layout/MainLayout';
|
||||
import { DraughtsRulesContent } from '../components/content/DraughtsRulesContent';
|
||||
import { INITIAL_POSITION, Players } from '@draughts/core';
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<MainLayout>
|
||||
<Head>
|
||||
<title>Givan Checkers - Main Checkers Secara Gratis</title>
|
||||
</Head>
|
||||
<DraughtsProvider
|
||||
settings={{
|
||||
computerDifficulty: ComputerDifficulty.MEDIUM,
|
||||
userPlayer: Players.WHITE,
|
||||
}}
|
||||
board={{ playerToMove: Players.WHITE, position: INITIAL_POSITION }}
|
||||
>
|
||||
<VStack spacing={4}>
|
||||
<DraughtsBoard />
|
||||
<HStack>
|
||||
<DraughtsMenuView />
|
||||
<DraughtsGameInfoView />
|
||||
</HStack>
|
||||
<Divider />
|
||||
<Heading size="sm">Peraturan Main</Heading>
|
||||
<DraughtsRulesContent />
|
||||
</VStack>
|
||||
</DraughtsProvider>
|
||||
</MainLayout>
|
||||
);
|
||||
}
|
||||
25
pages/rules.jsx
Normal file
25
pages/rules.jsx
Normal file
@ -0,0 +1,25 @@
|
||||
/* eslint-disable unicorn/filename-case */
|
||||
import { AspectRatio } from '@chakra-ui/react';
|
||||
import Head from 'next/head';
|
||||
import { DraughtsRulesContent } from '../components/content/DraughtsRulesContent';
|
||||
import { MainLayout } from '../components/layout/MainLayout';
|
||||
|
||||
export default function History() {
|
||||
return (
|
||||
<MainLayout>
|
||||
<Head>
|
||||
<title>Givan Checkers - Peraturan & Cara Bermain</title>
|
||||
</Head>
|
||||
<DraughtsRulesContent />
|
||||
{/*<AspectRatio maxW="md" radio={16 / 9}>
|
||||
<iframe
|
||||
src="https://www.youtube.com/embed/PgNN6CdkYXs"
|
||||
title="YouTube video player"
|
||||
frameBorder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
></iframe>
|
||||
</AspectRatio>*/}
|
||||
</MainLayout>
|
||||
);
|
||||
}
|
||||
86
pages/strategies.jsx
Normal file
86
pages/strategies.jsx
Normal file
@ -0,0 +1,86 @@
|
||||
import Head from 'next/head';
|
||||
import { AspectRatio, Text, VStack } from '@chakra-ui/react';
|
||||
import { MainLayout } from '../components/layout/MainLayout';
|
||||
|
||||
export default function History() {
|
||||
return (
|
||||
<MainLayout>
|
||||
<Head>
|
||||
<title>Givan Checkers - Strategi & Pembukaan</title>
|
||||
</Head>
|
||||
<VStack p={[3, 0]} spacing={6}>
|
||||
<Text>
|
||||
Draf, juga dikenal sebagai checkers, adalah permainan papan strategi yang memiliki
|
||||
telah ada selama ribuan tahun. Ada banyak varian, tapi
|
||||
versi paling umum dimainkan di papan kotak-kotak 8x8. Keduanya
|
||||
permainan pemain terdiri dari dua belas buah (pria, catur, draft)per
|
||||
samping. Potongan dimulai dari tiga baris pertama pada warna hitam/gelap
|
||||
kotak saja. Pria hanya bisa maju secara diagonal "melompat" lebih
|
||||
bagian itu dan mendarat di ruang kosong yang berdekatan. Setelah semua pria memiliki
|
||||
ditangkap, permainan dimenangkan. Permainan juga bisa dimenangkan melalui
|
||||
menghalangi kemampuan lawan untuk bergerak. Ada banyak taktik yang berguna
|
||||
untuk meningkatkan peluang keberhasilan Anda.
|
||||
</Text>
|
||||
<Text>
|
||||
Menobatan, atau menjadikan raja, sangat meningkatkan kekuatan dan portabilitas
|
||||
laki-laki Anda. Jika Anda bisa mendapatkan bagian ke garis dasar pemain lain, itu
|
||||
bisa "dimahkotai". Sepotong lain ditempatkan di atas
|
||||
membedakannya dari draf biasa. Raja sekarang dapat dipindahkan keduanya
|
||||
maju dan mundur, secara efektif menggandakan jangkauannya.
|
||||
</Text>
|
||||
<Text>
|
||||
Karena pria yang menangkap membutuhkan kotak kosong untuk dilompati, memang begitu
|
||||
bijaksana untuk memindahkan Anda potongan secara massal. Cobalah untuk tidak meninggalkan potongan individu
|
||||
terpencil. Pindahkan lebih sedikit potongan dalam formasi ketat.
|
||||
</Text>
|
||||
<Text>
|
||||
Cobalah untuk meninggalkan orang-orang garis dasar Anda di stasiun selama mungkin.
|
||||
Kotak bebas apa pun berpotensi untuk penobatan oposisi. Mereka akan
|
||||
tidak dapat membuat raja jika mereka tidak bisa mendarat di sana.
|
||||
</Text>
|
||||
<Text>
|
||||
Draf, seperti permainan papan lainnya, bekerja berdasarkan prinsip umum
|
||||
bertukar potongan setiap kali ada yang di depan. Keuntungan material dari memiliki
|
||||
hanya satu orang tambahan menjadi lebih signifikan secara proporsional semakin sedikit
|
||||
potongan tetap. Peluang mahkota akan meningkat pesat. Satu
|
||||
peringatan untuk prinsip umum ini, adalah mengabaikan keunggulan posisi
|
||||
untuk keuntungan materi buta. Seorang raja bisa sangat mengubah jalannya permainan
|
||||
dengan cepat.
|
||||
</Text>
|
||||
<Text>
|
||||
Mengorbankan draf bisa tampak sembrono atau ceroboh. Tapi ini
|
||||
strategi dapat digunakan untuk menarik keuntungan posisional. Untuk menghapus a
|
||||
potongan dasar dalam persiapan untuk penobatan misalnya, akan menjadi a
|
||||
penggunaan taktik pengorbanan yang baik.
|
||||
</Text>
|
||||
<Text>
|
||||
Aturan draf menyatakan bahwa jika lawan menawarkan bagian untuk
|
||||
menangkap, itu harus diambil. "gerakan paksa" dapat
|
||||
dipekerjakan untuk keuntungan besar. Jika draf lawan menghalangi Anda
|
||||
cara membuat raja, Anda dapat memajukan bagian lain ke sisi lain
|
||||
dari pemblokir yang menyinggung. Ini akan memaksa lawan Anda untuk menangkap
|
||||
memungkinkan jalur yang jelas ke garis belakang untuk penobatan.
|
||||
</Text>
|
||||
<Text>
|
||||
Memblokir digunakan untuk menggagalkan gerakan oposisi. Itu membutuhkan yang baik
|
||||
banyak pemikiran ke depan oleh pemain lawan. Mencoba untuk yang kedua
|
||||
menebak rencana atau rangkaian gerakan membutuhkan pengetahuan yang baik tentang
|
||||
strategi. Sementara pemblokiran bersifat defensif dalam tujuannya (untuk mencegah
|
||||
pemain lain dari maju) itu dapat menghasilkan posisi menang. Aku jatuh
|
||||
potongan lawan diblokir dan dia tidak bisa bergerak, sesuai
|
||||
dengan aturan permainan, dia kalah dalam permainan.
|
||||
</Text>
|
||||
{/*<Text>Here's a great video on draughts strategies:</Text>*/}
|
||||
{/*<AspectRatio ratio={16 / 9}>
|
||||
<iframe
|
||||
src="https://www.youtube.com/embed/Lfo3yfrbUs0"
|
||||
title="YouTube video player"
|
||||
frameBorder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
/>
|
||||
</AspectRatio>*/}
|
||||
</VStack>
|
||||
</MainLayout>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user