first commit

This commit is contained in:
unknown
2023-01-27 20:50:01 +08:00
commit a5e17d8c5d
69 changed files with 12547 additions and 0 deletions

73
pages/_app.js Normal file
View 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
View 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
View 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
View 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
View 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 &amp; 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
View 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 &amp; 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 &quot;melompat&quot; 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 &quot;dimahkotai&quot;. 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. &quot;gerakan paksa&quot; 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&apos;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>
);
}